From 8478eac7ed90660486fbe20a701b9ddabac6f2e8 Mon Sep 17 00:00:00 2001
From: mage2-team <mage2-team@magento.com>
Date: Fri, 25 Oct 2013 06:24:06 -0700
Subject: [PATCH] 2.0.0.0-dev49 * Various improvements:   * Unified Area
 configuration   * Moved EventManager to Magento\Event lib component   * Moved
 FrontController, Routers, Base Actions to Magento\App   * Created Magento\App
 component in library   * Declared public interfaces for View component into
 library   * Plushe theme is set as the default theme   * Refactor the
 Blacklist Pattern in the Integrity Test Suite's ClassesTest to Replace
 Blacklist.php Files   * Removed JavaScript unit test
 TreeSuggestTest.prototype.testBind as obsolete   * Introduced ability to
 register a template engine to process template files having certain extension
   * Removed support of the Twig template engine along with the corresponding
 component from the library   * Removed layout flag that forced template
 blocks to output rendered content directly to a browser bypassing the
 response object   * Moved out responsibility of rendering template debugging
 hints from the template block to the plugin and decorator for a template
 engine * Fixed bugs:   * Fixed inability to create product if multiple
 attributes are assigned to attribute set   * Fixed inability to create a new
 widget instance   * Fixed error on Customers Segments Conditions tab while
 the 'Number of Orders' condition is chosen   * Fixed blank page when placing
 order via Ogone   * Fixed various UI issues in Admin Panel with layout,
 aligning, buttons and fields   * Fixed static tests failing to verify themes
 files

---
 CHANGELOG.md                                  |    23 +
 .../Resource/System/Message/Collection.php    |     4 +-
 .../AdminNotification/Model/Survey.php        |     6 +-
 .../Model/System/Message/Baseurl.php          |     6 +-
 .../Model/System/Message/CacheOutdated.php    |     6 +-
 .../Model/System/Message/Survey.php           |     6 +-
 .../Block/Catalog/Category/Helper/Image.php   |     4 +-
 .../Form/Renderer/Config/YearRange.php        |     5 +-
 .../Block/Catalog/Helper/Form/Wysiwyg.php     |     6 +-
 .../Catalog/Product/Edit/Tab/Super/Config.php |     6 +-
 .../Catalog/Product/Helper/Form/Category.php  |     6 +-
 .../Catalog/Product/Helper/Form/Gallery.php   |     6 +-
 .../Block/Cms/Page/Edit/Tab/Content.php       |     4 +-
 .../Magento/Adminhtml/Block/Page/Head.php     |     4 +-
 .../Block/Sales/Items/AbstractItems.php       |     2 +-
 .../Magento/Adminhtml/Controller/Customer.php |     2 +-
 .../Controller/Sales/Order/Shipment.php       |     8 +-
 .../Magento/Adminhtml/Controller/Sitemap.php  |     4 +-
 .../Adminhtml/Controller/System/Backup.php    |     4 +-
 .../Adminhtml/Controller/System/Store.php     |     2 +-
 .../Catalog/Product/Edit/Action/Attribute.php |    34 +-
 .../Adminhtml/Helper/Dashboard/Data.php       |     8 +-
 .../Adminhtml/Helper/Dashboard/Order.php      |     8 +-
 .../Adminhtml/Model/Email/Template.php        |     8 +-
 .../Adminhtml/Model/Sales/Order/Create.php    |     6 +-
 app/code/Magento/Adminhtml/etc/di.xml         |     7 +-
 .../view/adminhtml/dashboard/index.phtml      |    10 +-
 .../adminhtml/system/cache/additional.phtml   |     6 +-
 .../Magento/Authorizenet/Model/Directpost.php |     8 +-
 .../Backend/App/Area/FrontNameResolver.php    |    66 +
 .../Backend/App/Request/PathInfoProcessor.php |    65 +
 .../{Model => App}/Router/NoRouteHandler.php  |     8 +-
 app/code/Magento/Backend/Block/Context.php    |    30 +-
 .../Config/Form/Field/Regexceptions.php       |     2 -
 .../Form/Fieldset/Modules/DisableOutput.php   |     6 +-
 .../Backend/Block/Template/Context.php        |    42 +-
 .../Widget/Grid/Column/Renderer/Currency.php  |    10 +-
 .../Backend/Block/Widget/Grid/Export.php      |     2 +-
 .../Backend/Block/Widget/Grid/Extended.php    |     2 +-
 .../Backend/Controller/AbstractAction.php     |     4 +-
 .../Magento/Backend/Controller/Context.php    |    24 +-
 .../Magento/Backend/Controller/Factory.php    |     2 +-
 .../Controller/Router/DefaultRouter.php       |    22 +-
 app/code/Magento/Backend/Helper/Data.php      |    77 +-
 app/code/Magento/Backend/Model/Auth.php       |    20 +-
 app/code/Magento/Backend/Model/Config.php     |     6 +-
 .../Model/Config/Backend/Admin/Custompath.php |    32 -
 .../Model/Config/Backend/Admin/Robots.php     |     6 +-
 .../Config/Backend/Admin/Usecustompath.php    |    84 -
 .../Backend/Model/Config/Backend/File.php     |     8 +-
 .../Backend/Model/Config/ScopeDefiner.php     |     6 +-
 app/code/Magento/Backend/Model/Locale.php     |    14 +-
 .../Magento/Backend/Model/Menu/Config.php     |     6 +-
 app/code/Magento/Backend/Model/Menu/Item.php  |     8 +-
 app/code/Magento/Backend/Model/Observer.php   |    17 +-
 app/code/Magento/Backend/Model/Url.php        |    16 +-
 app/code/Magento/Backend/Model/Url/Proxy.php  |     2 +-
 app/code/Magento/Backend/etc/adminhtml/di.xml |     2 +-
 .../Magento/Backend/etc/adminhtml/system.xml  |     2 +-
 app/code/Magento/Backend/etc/di.xml           |    27 +-
 .../system/config/form/field/array.phtml      |   216 +-
 .../adminhtml/widget/grid/column_set.phtml    |     2 +-
 app/code/Magento/Backup/Helper/Data.php       |    28 +-
 .../Magento/Backup/Model/Fs/Collection.php    |     8 +-
 app/code/Magento/Backup/Model/Observer.php    |     6 +-
 .../Magento/Bundle/Model/Product/Price.php    |     4 +-
 .../Magento/Bundle/Model/Product/Type.php     |     4 +-
 .../Bundle/Model/Resource/Price/Index.php     |     6 +-
 .../Sales/Order/Pdf/Items/Creditmemo.php      |     4 +-
 .../Model/Sales/Order/Pdf/Items/Invoice.php   |     4 +-
 .../Model/Sales/Order/Pdf/Items/Shipment.php  |     4 +-
 app/code/Magento/Bundle/etc/di.xml            |     9 +-
 app/code/Magento/Captcha/Helper/Data.php      |    12 +-
 app/code/Magento/Captcha/Model/Observer.php   |    10 +-
 app/code/Magento/Catalog/Helper/Product.php   |     8 +-
 .../Catalog/Helper/Product/Options.php        |     2 +-
 .../Magento/Catalog/Helper/Product/View.php   |     6 +-
 app/code/Magento/Catalog/Model/Category.php   |    10 +-
 .../Category/Attribute/Backend/Image.php      |     8 +-
 app/code/Magento/Catalog/Model/Design.php     |     6 +-
 .../Catalog/Model/Layer/Filter/Item.php       |     6 +-
 app/code/Magento/Catalog/Model/Product.php    |     6 +-
 .../Magento/Catalog/Model/Product/Action.php  |     6 +-
 .../Model/Product/Attribute/Backend/Media.php |    12 +-
 .../Product/Attribute/Source/Inputtype.php    |     6 +-
 .../Magento/Catalog/Model/Product/Image.php   |    10 +-
 .../Catalog/Model/Product/Image/View.php      |     6 +-
 .../Catalog/Model/Product/Media/Config.php    |    10 +-
 .../Model/Product/Option/Type/File.php        |    14 +-
 .../Magento/Catalog/Model/Product/Status.php  |     6 +-
 .../Model/Product/Type/AbstractType.php       |     6 +-
 .../Model/Product/Type/Configurable.php       |     4 +-
 .../Catalog/Model/Product/Type/Grouped.php    |     4 +-
 .../Catalog/Model/Product/Type/Price.php      |     6 +-
 .../Magento/Catalog/Model/Product/Url.php     |     4 +-
 .../Catalog/Model/Resource/Category.php       |     6 +-
 .../Category/Attribute/Collection.php         |     4 +-
 .../Catalog/Model/Resource/Category/Flat.php  |     6 +-
 .../Resource/Category/Flat/Collection.php     |     4 +-
 .../Catalog/Model/Resource/Category/Tree.php  |     6 +-
 .../Collection/AbstractCollection.php         |     4 +-
 .../Model/Resource/Layer/Filter/Price.php     |     6 +-
 .../Product/Attribute/Backend/Image.php       |     8 +-
 .../Resource/Product/Attribute/Collection.php |     4 +-
 .../Model/Resource/Product/Collection.php     |     4 +-
 .../Product/Collection/AssociatedProduct.php  |     4 +-
 .../Product/Compare/Item/Collection.php       |     4 +-
 .../Model/Resource/Product/Flat/Indexer.php   |     6 +-
 .../Product/Indexer/Eav/AbstractEav.php       |     6 +-
 .../Resource/Product/Indexer/Eav/Source.php   |     4 +-
 .../Product/Indexer/Price/DefaultPrice.php    |     6 +-
 .../Resource/Product/Option/Collection.php    |     4 +-
 .../Configurable/Attribute/Collection.php     |     4 +-
 .../Grouped/AssociatedProductsCollection.php  |     4 +-
 app/code/Magento/Catalog/etc/di.xml           |    89 +-
 .../Block/Adminhtml/Form/Field/Minsaleqty.php |     2 -
 .../Model/Resource/Stock/Item/Collection.php  |     4 +-
 app/code/Magento/CatalogInventory/etc/di.xml  |     4 +-
 .../CatalogRule/Model/Resource/Rule.php       |     6 +-
 .../Model/Rule/Action/Collection.php          |     4 +-
 .../Magento/CatalogRule/Model/Rule/Job.php    |     6 +-
 app/code/Magento/CatalogRule/etc/di.xml       |    11 +-
 .../Magento/CatalogSearch/Model/Fulltext.php  |     6 +-
 .../CatalogSearch/Model/Resource/Advanced.php |     6 +-
 .../Model/Resource/Advanced/Collection.php    |     4 +-
 .../CatalogSearch/Model/Resource/Fulltext.php |     6 +-
 .../Model/Resource/Fulltext/Collection.php    |     4 +-
 .../Model/Resource/Query/Collection.php       |     4 +-
 .../Model/Resource/Search/Collection.php      |     4 +-
 app/code/Magento/CatalogSearch/etc/di.xml     |    15 -
 app/code/Magento/Centinel/Helper/Data.php     |    10 +-
 app/code/Magento/Centinel/Model/Service.php   |    12 +-
 .../Magento/Centinel/etc/adminhtml/di.xml     |     8 -
 app/code/Magento/Checkout/Block/Cart.php      |     6 +-
 .../Checkout/Block/Cart/AbstractCart.php      |     2 +-
 .../Checkout/Block/Multishipping/Overview.php |     2 +-
 app/code/Magento/Checkout/Controller/Cart.php |     2 +-
 .../Checkout/Controller/Multishipping.php     |     2 +-
 .../Controller/Multishipping/Address.php      |     6 +-
 .../Magento/Checkout/Controller/Onepage.php   |     2 +-
 app/code/Magento/Checkout/Helper/Data.php     |     6 +-
 app/code/Magento/Checkout/Model/Cart.php      |     6 +-
 app/code/Magento/Checkout/Model/Session.php   |     2 +-
 .../Checkout/Model/Type/Multishipping.php     |     6 +-
 .../Magento/Checkout/Model/Type/Onepage.php   |    12 +-
 app/code/Magento/Checkout/etc/di.xml          |    29 +-
 app/code/Magento/Cms/Controller/Router.php    |    38 +-
 app/code/Magento/Cms/Helper/Page.php          |    20 +-
 .../Magento/Cms/Helper/Wysiwyg/Images.php     |    16 +-
 app/code/Magento/Cms/Model/Page.php           |     6 +-
 .../Cms/Model/Resource/Page/Collection.php    |     4 +-
 app/code/Magento/Cms/Model/Wysiwyg/Config.php |     6 +-
 .../Cms/Model/Wysiwyg/Images/Storage.php      |     8 +-
 app/code/Magento/Cms/etc/di.xml               |    52 +-
 app/code/Magento/Connect/Helper/Data.php      |    14 +-
 .../Connect/Model/Extension/Collection.php    |     4 +-
 .../App/FrontController/Plugin/Install.php    |    72 +
 .../Plugin/RequestPreprocessor.php            |   184 +
 .../Core/App/Request/PathInfoProcessor.php    |    67 +
 .../Core/App/Request/RewriteService.php       |    69 +
 .../{Model => App}/Router/NoRouteHandler.php  |     8 +-
 app/code/Magento/Core/Block/AbstractBlock.php |    35 +-
 app/code/Magento/Core/Block/Context.php       |    56 +-
 app/code/Magento/Core/Block/Template.php      |   104 +-
 .../Magento/Core/Block/Template/Context.php   |    56 +-
 .../Magento/Core/Controller/Front/Router.php  |   104 -
 app/code/Magento/Core/Controller/Index.php    |     1 -
 .../Core/Controller/Request/HttpProxy.php     |   764 --
 .../Magento/Core/Controller/Response/Http.php |   141 -
 .../Magento/Core/Controller/Varien/Action.php |    28 +-
 .../Core/Controller/Varien/Action/Context.php |    42 +-
 .../Magento/Core/Controller/Varien/Front.php  |   413 -
 .../Core/Controller/Varien/Router/Base.php    |    58 +-
 .../Magento/Core/Helper/AbstractHelper.php    |     6 +-
 app/code/Magento/Core/Helper/Context.php      |    24 +-
 app/code/Magento/Core/Helper/Css.php          |     8 +-
 app/code/Magento/Core/Helper/Data.php         |    12 +-
 .../Core/Helper/File/Storage/Database.php     |     6 +-
 app/code/Magento/Core/Helper/Http.php         |     8 +-
 app/code/Magento/Core/Helper/Theme.php        |    44 +-
 app/code/Magento/Core/Helper/Translate.php    |    14 +-
 app/code/Magento/Core/Helper/Url.php          |     4 +-
 .../Magento/Core/Model/AbstractEntryPoint.php |    10 +-
 app/code/Magento/Core/Model/AbstractModel.php |     4 +-
 app/code/Magento/Core/Model/AbstractShell.php |     8 +-
 app/code/Magento/Core/Model/App.php           |   151 +-
 app/code/Magento/Core/Model/App/Area.php      |    16 +-
 app/code/Magento/Core/Model/App/Emulation.php |     4 +-
 app/code/Magento/Core/Model/App/Proxy.php     |   561 -
 app/code/Magento/Core/Model/AppInterface.php  |    23 +-
 .../Core/Model/Cache/Frontend/Factory.php     |    12 +-
 app/code/Magento/Core/Model/Cache/State.php   |     4 +-
 app/code/Magento/Core/Model/Config.php        |    56 +-
 .../Core/Model/Config/FileResolver.php        |     8 +-
 .../Model/Config/FileResolver/Primary.php     |     8 +-
 .../Core/Model/Config/Modules/Reader.php      |    12 +-
 .../Magento/Core/Model/Config/Primary.php     |    20 +-
 .../Magento/Core/Model/Config/Resource.php    |     7 +
 .../Config/Section/Processor/Placeholder.php  |     6 +-
 .../Config/Section/Reader/DefaultReader.php   |     6 +-
 .../Model/Config/Section/Reader/Store.php     |     6 +-
 .../Model/Config/Section/Reader/Website.php   |     6 +-
 .../Core/Model/Config/ValidationState.php     |     2 +-
 app/code/Magento/Core/Model/Context.php       |    16 +-
 app/code/Magento/Core/Model/Cookie.php        |    24 +-
 .../Core/Model/DataService/Path/Request.php   |    12 +-
 app/code/Magento/Core/Model/Design.php        |     4 +-
 .../Core/Model/Design/Backend/Exceptions.php  |     6 +-
 .../Core/Model/Design/Backend/Theme.php       |     6 +-
 .../Core/Model/Design/Fallback/Factory.php    |    18 +-
 .../Core/Model/Design/Fallback/Rule/Theme.php |     4 +-
 .../FileResolution/Strategy/Fallback.php      |    12 +-
 .../Strategy/Fallback/CachingProxy.php        |    40 +-
 .../FileResolution/Strategy/FileInterface.php |     4 +-
 .../Strategy/LocaleInterface.php              |     4 +-
 .../Strategy/View/NotifiableInterface.php     |     6 +-
 .../FileResolution/Strategy/ViewInterface.php |     4 +-
 .../Design/FileResolution/StrategyPool.php    |    20 +-
 app/code/Magento/Core/Model/Email.php         |     8 +-
 .../Magento/Core/Model/Email/Template.php     |    10 +-
 .../Model/Email/Template/Config/Reader.php    |     6 +-
 .../Core/Model/Email/Template/Filter.php      |    15 +-
 .../Magento/Core/Model/EntryPoint/Cron.php    |     8 +-
 .../Magento/Core/Model/EntryPoint/Http.php    |    17 +-
 .../Magento/Core/Model/EntryPoint/Media.php   |     2 +-
 .../Core/Model/Event/Config/SchemaLocator.php |    71 -
 app/code/Magento/Core/Model/File/Storage.php  |     6 +-
 app/code/Magento/Core/Model/Layout.php        |   109 +-
 .../Model/Layout/Argument/AbstractHandler.php |    18 +-
 .../Layout/Argument/Handler/ArrayHandler.php  |     6 +-
 .../Model/Layout/Argument/Handler/Helper.php  |     4 +-
 .../Model/Layout/Argument/Handler/Object.php  |     4 +-
 .../Model/Layout/Argument/Handler/Options.php |     4 +-
 .../Model/Layout/Argument/Handler/String.php  |     4 +-
 .../Model/Layout/Argument/Handler/Url.php     |     8 +-
 .../Layout/Argument/HandlerInterface.php      |     4 +-
 .../Core/Model/Layout/Argument/Processor.php  |     8 +-
 app/code/Magento/Core/Model/Layout/File.php   |     8 +-
 .../Core/Model/Layout/File/Factory.php        |     4 +-
 .../Model/Layout/File/Source/Aggregated.php   |     8 +-
 .../Core/Model/Layout/File/Source/Base.php    |    10 +-
 .../Source/Decorator/ModuleDependency.php     |     8 +-
 .../File/Source/Decorator/ModuleOutput.php    |     2 +-
 .../Layout/File/Source/Override/Base.php      |    10 +-
 .../Layout/File/Source/Override/Theme.php     |    10 +-
 .../Core/Model/Layout/File/Source/Theme.php   |    10 +-
 .../Model/Layout/File/SourceInterface.php     |     4 +-
 app/code/Magento/Core/Model/Layout/Merge.php  |    40 +-
 app/code/Magento/Core/Model/Locale.php        |    12 +-
 .../Locale/Hierarchy/Config/FileResolver.php  |     8 +-
 app/code/Magento/Core/Model/Logger.php        |     8 +-
 app/code/Magento/Core/Model/ModuleManager.php |     6 +-
 app/code/Magento/Core/Model/ObjectManager.php |    15 +-
 .../ObjectManager/ConfigLoader/Primary.php    |     6 +-
 .../Model/ObjectManager/DefinitionFactory.php |     2 +-
 app/code/Magento/Core/Model/Observer.php      |     4 +-
 .../Core/Model/Page/Asset/MergeService.php    |    16 +-
 .../Model/Page/Asset/MergeStrategy/Direct.php |     6 +-
 .../Magento/Core/Model/Page/Asset/Merged.php  |    10 +-
 .../Core/Model/Page/Asset/MinifyService.php   |    16 +-
 .../Config/Value/Collection/Scoped.php        |     4 +-
 .../Db/Collection/AbstractCollection.php      |     6 +-
 .../Core/Model/Resource/Layout/Update.php     |     4 +-
 .../Magento/Core/Model/Resource/Session.php   |     6 +-
 .../Magento/Core/Model/Resource/Setup.php     |     6 +-
 .../Core/Model/Resource/Setup/Context.php     |    30 +-
 .../Core/Model/Resource/Setup/Migration.php   |    12 +-
 .../Core/Model/Resource/Theme/Collection.php  |     6 +-
 .../Model/Resource/Theme/File/Collection.php  |     4 +-
 .../Magento/Core/Model/Resource/Translate.php |     6 +-
 .../Core/Model/Resource/Type/Db/Pdo/Mysql.php |     6 +-
 .../Model/Resource/Url/Rewrite/Collection.php |     4 +-
 .../Core/Model/Session/AbstractSession.php    |     8 +-
 .../Magento/Core/Model/Session/Context.php    |    50 +-
 app/code/Magento/Core/Model/Store.php         |    34 +-
 .../Magento/Core/Model/Store/Storage/Db.php   |     6 +-
 .../Core/Model/Store/StorageFactory.php       |    12 +-
 app/code/Magento/Core/Model/StoreManager.php  |     8 +-
 app/code/Magento/Core/Model/Template.php      |     6 +-
 .../TemplateEngine/Decorator/DebugHints.php   |   103 +
 .../Core/Model/TemplateEngine/Factory.php     |    44 +-
 .../TemplateEngine/Plugin/DebugHints.php      |    87 +
 .../Handler.php => TemplateEngine/Pool.php}   |    37 +-
 .../Core/Model/TemplateEngine/Twig.php        |   106 -
 .../TemplateEngine/Twig/CommonFunctions.php   |   228 -
 .../Twig/EnvironmentFactory.php               |   112 -
 .../Model/TemplateEngine/Twig/Extension.php   |   118 -
 .../TemplateEngine/Twig/FullFileName.php      |   121 -
 .../TemplateEngine/Twig/LayoutFunctions.php   |   164 -
 app/code/Magento/Core/Model/Theme.php         |    28 +-
 .../Magento/Core/Model/Theme/Collection.php   |    16 +-
 .../Magento/Core/Model/Theme/CopyService.php  |    40 +-
 .../Core/Model/Theme/Customization.php        |     4 +-
 .../Core/Model/Theme/Customization/Path.php   |    22 +-
 .../Core/Model/Theme/Domain/Factory.php       |     4 +-
 .../Core/Model/Theme/Domain/Physical.php      |    10 +-
 .../Core/Model/Theme/Domain/Staging.php       |     4 +-
 .../Core/Model/Theme/Domain/Virtual.php       |     6 +-
 app/code/Magento/Core/Model/Theme/File.php    |     2 +-
 .../Core/Model/Theme/FileInterface.php        |     4 +-
 .../Core/Model/Theme/FlyweightFactory.php     |    12 +-
 app/code/Magento/Core/Model/Theme/Image.php   |     4 +-
 .../Magento/Core/Model/Theme/Image/Path.php   |    10 +-
 .../Magento/Core/Model/Theme/Observer.php     |    10 +-
 .../Magento/Core/Model/Theme/Registration.php |    14 +-
 app/code/Magento/Core/Model/Translate.php     |    16 +-
 .../Magento/Core/Model/Translate/Inline.php   |     8 +-
 .../Core/Model/Translate/InlineParser.php     |     8 +-
 app/code/Magento/Core/Model/Url.php           |    54 +-
 app/code/Magento/Core/Model/Url/Rewrite.php   |    19 +-
 app/code/Magento/Core/Model/View/Config.php   |     4 +-
 .../Core/Model/View/DeployedFilesManager.php  |     2 +-
 app/code/Magento/Core/Model/View/Design.php   |     2 +-
 .../Magento/Core/Model/View/Design/Proxy.php  |     8 +-
 .../Magento/Core/Model/View/Publisher.php     |    16 +-
 app/code/Magento/Core/Model/View/Service.php  |    25 +-
 app/code/Magento/Core/Model/View/Url.php      |    14 +-
 .../data-upgrade-1.6.0.10-1.6.0.11.php        |     2 +-
 .../data-upgrade-1.6.0.12-1.6.0.13.php        |     2 +-
 app/code/Magento/Core/etc/di.xml              |    51 +-
 app/code/Magento/Core/functions.php           |     6 +-
 .../Core/view/adminhtml/prototype/magento.css |     2 +-
 app/code/Magento/Cron/etc/di.xml              |     3 -
 .../Magento/CurrencySymbol/Helper/Data.php    |     8 +-
 .../Model/System/Currencysymbol.php           |     6 +-
 .../CurrencySymbol/view/adminhtml/grid.phtml  |    48 +-
 .../Magento/Customer/Controller/Account.php   |     2 +-
 app/code/Magento/Customer/Helper/Data.php     |    10 +-
 app/code/Magento/Customer/Model/Address.php   |     4 +-
 .../Model/Address/AbstractAddress.php         |     6 +-
 app/code/Magento/Customer/Model/Customer.php  |     8 +-
 .../Model/Resource/Customer/Collection.php    |     4 +-
 app/code/Magento/Customer/Model/Session.php   |     2 +-
 app/code/Magento/Customer/etc/di.xml          |    27 +-
 .../Block/Adminhtml/Editor/Container.php      |     2 +-
 .../Adminhtml/Editor/Toolbar/Buttons/Edit.php |     6 +-
 .../Adminhtml/Editor/Toolbar/Buttons/Save.php |     2 +-
 .../Adminhtml/Editor/Tools/Code/Custom.php    |     2 +-
 .../Editor/Tools/QuickStyles/Backgrounds.php  |     2 +-
 .../Editor/Tools/QuickStyles/Buttons.php      |     2 +-
 .../Editor/Tools/QuickStyles/Fonts.php        |     2 +-
 .../Editor/Tools/QuickStyles/Header.php       |     2 +-
 .../Editor/Tools/QuickStyles/Tips.php         |     2 +-
 .../DesignEditor/Block/Adminhtml/Theme.php    |     4 +-
 .../SelectorList/AbstractSelectorList.php     |     2 +-
 .../Adminhtml/System/Design/Editor.php        |    14 +-
 .../Adminhtml/System/Design/Editor/Tools.php  |     8 +-
 .../Controller/Varien/Router/Standard.php     |    52 +-
 app/code/Magento/DesignEditor/Helper/Data.php |     8 +-
 .../Editor/Tools/Controls/Configuration.php   |    34 +-
 .../Model/Editor/Tools/Controls/Factory.php   |    12 +-
 .../QuickStyles/Form/Renderer/Factory.php     |     8 +-
 .../Tools/QuickStyles/ImageUploader.php       |     2 +-
 .../Magento/DesignEditor/Model/Observer.php   |     2 +-
 app/code/Magento/DesignEditor/Model/State.php |     4 +-
 .../DesignEditor/Model/Url/NavigationMode.php |    10 +-
 app/code/Magento/DesignEditor/etc/di.xml      |     2 +-
 .../view/adminhtml/css/styles.css             |     1 +
 .../Model/Currency/DefaultLocator.php         |     4 +-
 .../Model/Resource/Country/Collection.php     |     4 +-
 .../Model/Resource/Region/Collection.php      |     4 +-
 app/code/Magento/Directory/etc/di.xml         |     9 +-
 .../Magento/Downloadable/Helper/Download.php  |    12 +-
 app/code/Magento/Downloadable/Model/Link.php  |    14 +-
 .../Downloadable/Model/Product/Type.php       |     4 +-
 .../Sales/Order/Pdf/Items/AbstractItems.php   |     4 +-
 .../Sales/Order/Pdf/Items/Creditmemo.php      |     4 +-
 .../Model/Sales/Order/Pdf/Items/Invoice.php   |     4 +-
 .../Magento/Downloadable/Model/Sample.php     |    10 +-
 app/code/Magento/Downloadable/etc/di.xml      |     4 +-
 .../Eav/Model/Attribute/Data/AbstractData.php |     8 +-
 .../Magento/Eav/Model/Attribute/Data/Date.php |     4 +-
 .../Magento/Eav/Model/Attribute/Data/File.php |    10 +-
 .../Eav/Model/Attribute/Data/Multiline.php    |     4 +-
 .../Eav/Model/Attribute/Data/Multiselect.php  |     4 +-
 .../Eav/Model/Attribute/Data/Select.php       |     4 +-
 .../Magento/Eav/Model/Attribute/Data/Text.php |     4 +-
 .../Entity/Collection/AbstractCollection.php  |     6 +-
 app/code/Magento/Eav/Model/Form.php           |    12 +-
 .../Model/Resource/Attribute/Collection.php   |     4 +-
 .../Entity/Attribute/Grid/Collection.php      |     4 +-
 .../Entity/Attribute/Option/Collection.php    |     4 +-
 .../Resource/Form/Attribute/Collection.php    |     4 +-
 .../Resource/Form/Fieldset/Collection.php     |     4 +-
 app/code/Magento/Eav/etc/di.xml               |     9 +-
 .../Magento/GiftMessage/Helper/Message.php    |    17 +-
 app/code/Magento/GiftMessage/etc/di.xml       |     4 +-
 .../Block/Adminhtml/Shipping/Merchant.php     |    51 +-
 app/code/Magento/GoogleCheckout/Model/Api.php |     6 +-
 .../GoogleCheckout/Model/Api/Xml/Callback.php |     6 +-
 .../GoogleCheckout/Model/Api/Xml/Checkout.php |     6 +-
 .../Magento/GoogleCheckout/Model/Payment.php  |     2 +-
 app/code/Magento/GoogleCheckout/etc/di.xml    |    19 +-
 .../Model/Observer/AbstractSave.php           |     6 +-
 .../Model/Observer/Block/Category/Tab.php     |    10 +-
 .../Model/Resource/Item/Collection.php        |     4 +-
 app/code/Magento/GoogleShopping/etc/di.xml    |     4 +-
 .../Block/Adminhtml/Import/Edit/Form.php      |     1 +
 app/code/Magento/ImportExport/Helper/Data.php |     8 +-
 .../ImportExport/Model/AbstractModel.php      |     6 +-
 .../Magento/ImportExport/Model/Export.php     |     4 +-
 .../Magento/ImportExport/Model/Import.php     |     4 +-
 .../Model/Import/Entity/Product.php           |    14 +-
 app/code/Magento/ImportExport/etc/di.xml      |     5 -
 app/code/Magento/Index/Model/Indexer.php      |     6 +-
 app/code/Magento/Index/Model/Lock/Storage.php |     8 +-
 app/code/Magento/Index/Model/Process.php      |     6 +-
 app/code/Magento/Index/Model/Shell.php        |     4 +-
 .../Model/System/Message/IndexOutdated.php    |     6 +-
 app/code/Magento/Index/etc/di.xml             |    14 +-
 .../Magento/Install/Controller/Action.php     |    18 +-
 app/code/Magento/Install/Controller/Index.php |    20 +-
 .../Magento/Install/Controller/Wizard.php     |    18 +-
 app/code/Magento/Install/Model/Config.php     |     6 +-
 .../Install/Model/EntryPoint/Upgrade.php      |     4 +-
 app/code/Magento/Install/Model/Installer.php  |    22 +-
 .../Install/Model/Installer/Config.php        |    26 +-
 .../Install/Model/Installer/Console.php       |    22 +-
 .../Install/Model/Installer/Filesystem.php    |     6 +-
 app/code/Magento/Install/Model/Wizard.php     |     4 +-
 app/code/Magento/Log/Model/Resource/Log.php   |     6 +-
 .../Resource/Visitor/Online/Collection.php    |     4 +-
 .../Visitor/Online/Grid/Collection.php        |     4 +-
 app/code/Magento/Log/Model/Shell.php          |     6 +-
 app/code/Magento/Log/Model/Visitor.php        |     6 +-
 app/code/Magento/Log/etc/di.xml               |    15 -
 app/code/Magento/Newsletter/Helper/Data.php   |     6 +-
 app/code/Magento/Newsletter/Model/Queue.php   |     4 +-
 .../Model/Resource/Problem/Collection.php     |     4 +-
 .../Model/Resource/Queue/Collection.php       |     4 +-
 .../Model/Resource/Subscriber/Collection.php  |     4 +-
 .../Magento/Newsletter/Model/Template.php     |    10 +-
 app/code/Magento/Newsletter/etc/di.xml        |     4 +-
 app/code/Magento/Oauth/Helper/Data.php        |     6 +-
 app/code/Magento/Oauth/Model/Consumer.php     |     6 +-
 app/code/Magento/Oauth/Model/Token.php        |     6 +-
 app/code/Magento/Ogone/Block/Placeform.php    |     2 +-
 app/code/Magento/Ogone/Model/Api.php          |    14 +-
 app/code/Magento/Ogone/Model/Config.php       |    19 +-
 app/code/Magento/Page/Block/Html/Head.php     |     6 +-
 app/code/Magento/Page/Block/Html/Header.php   |     8 +-
 app/code/Magento/Page/Block/Html/Welcome.php  |     6 +-
 app/code/Magento/Page/Block/Js/Components.php |     8 +-
 app/code/Magento/Page/Helper/Layout.php       |     6 +-
 .../Magento/Paygate/Model/Authorizenet.php    |     8 +-
 app/code/Magento/Payment/Helper/Data.php      |     6 +-
 .../Payment/Model/Method/AbstractMethod.php   |     6 +-
 app/code/Magento/Payment/Model/Method/Cc.php  |    10 +-
 .../Magento/Payment/Model/Method/Free.php     |     4 +-
 app/code/Magento/Payment/etc/di.xml           |    15 -
 .../Magento/Paypal/Controller/Express.php     |     4 +-
 .../Controller/Express/AbstractExpress.php    |     6 +-
 .../Paypal/Controller/Payflowadvanced.php     |     4 +-
 .../Magento/Paypal/Controller/Standard.php    |     2 +-
 app/code/Magento/Paypal/Helper/Hss.php        |     6 +-
 app/code/Magento/Paypal/Model/Cart.php        |     6 +-
 app/code/Magento/Paypal/Model/Cert.php        |     8 +-
 app/code/Magento/Paypal/Model/Direct.php      |    20 +-
 app/code/Magento/Paypal/Model/Express.php     |    10 +-
 app/code/Magento/Paypal/Model/Hostedpro.php   |    16 +-
 app/code/Magento/Paypal/Model/Ipn.php         |     6 +-
 .../Magento/Paypal/Model/Method/Agreement.php |    10 +-
 app/code/Magento/Paypal/Model/Payflowlink.php |    12 +-
 app/code/Magento/Paypal/Model/Payflowpro.php  |    20 +-
 .../Paypal/Model/Payment/Transaction.php      |     6 +-
 .../Paypal/Model/Report/Settlement.php        |     8 +-
 app/code/Magento/Paypal/Model/Standard.php    |    10 +-
 app/code/Magento/Paypal/etc/di.xml            |     4 +-
 app/code/Magento/PaypalUk/Model/Express.php   |     8 +-
 app/code/Magento/Persistent/Helper/Data.php   |     8 +-
 .../Magento/Persistent/Helper/Session.php     |     8 +-
 .../Magento/Persistent/Model/Observer.php     |    32 +-
 .../Persistent/Model/Observer/Session.php     |     2 +-
 .../Persistent/Model/Persistent/Config.php    |    16 +-
 app/code/Magento/Persistent/etc/di.xml        |     5 -
 app/code/Magento/ProductAlert/Helper/Data.php |     6 +-
 .../Model/Resource/Rating/Collection.php      |     4 +-
 .../Model/Resource/Rating/Grid/Collection.php |     4 +-
 .../Rating/Option/Vote/Collection.php         |     4 +-
 .../Model/Resource/Customer/Collection.php    |     4 +-
 .../Model/Resource/Order/Collection.php       |     4 +-
 .../Model/Resource/Product/Collection.php     |     4 +-
 .../Index/Collection/AbstractCollection.php   |     4 +-
 .../Resource/Product/Lowstock/Collection.php  |     4 +-
 .../Model/Resource/Quote/Collection.php       |     2 +-
 .../Report/Product/Viewed/Collection.php      |     4 +-
 .../Resource/Review/Customer/Collection.php   |     4 +-
 .../Model/Resource/Wishlist/Collection.php    |     4 +-
 app/code/Magento/Reports/etc/di.xml           |     4 +-
 .../Magento/Review/Controller/Product.php     |     6 +-
 .../Model/Resource/Review/Collection.php      |     4 +-
 .../Resource/Review/Product/Collection.php    |     4 +-
 app/code/Magento/Review/Model/Review.php      |     6 +-
 app/code/Magento/Rss/Controller/Catalog.php   |     6 +-
 app/code/Magento/Rss/Controller/Order.php     |     6 +-
 .../Rule/Model/Action/AbstractAction.php      |     6 +-
 .../Magento/Rule/Model/Action/Collection.php  |     4 +-
 .../Model/Condition/AbstractCondition.php     |     2 +-
 .../Magento/Rule/Model/Condition/Context.php  |    10 +-
 .../Sales/Block/Items/AbstractItems.php       |     2 +-
 .../Magento/Sales/Controller/Download.php     |     8 +-
 app/code/Magento/Sales/Helper/Guest.php       |     8 +-
 app/code/Magento/Sales/Helper/Reorder.php     |     8 +-
 .../Magento/Sales/Model/Convert/Order.php     |     6 +-
 .../Magento/Sales/Model/Convert/Quote.php     |     6 +-
 app/code/Magento/Sales/Model/Observer.php     |     6 +-
 app/code/Magento/Sales/Model/Order.php        |     6 +-
 .../Magento/Sales/Model/Order/Address.php     |     4 +-
 .../Magento/Sales/Model/Order/Creditmemo.php  |     6 +-
 .../Magento/Sales/Model/Order/Invoice.php     |     6 +-
 app/code/Magento/Sales/Model/Order/Item.php   |     6 +-
 .../Magento/Sales/Model/Order/Payment.php     |     6 +-
 .../Sales/Model/Order/Payment/Transaction.php |     6 +-
 .../Sales/Model/Order/Pdf/AbstractPdf.php     |     8 +-
 .../Sales/Model/Order/Pdf/Creditmemo.php      |     4 +-
 .../Magento/Sales/Model/Order/Pdf/Invoice.php |     4 +-
 .../Model/Order/Pdf/Items/AbstractItems.php   |    12 +-
 .../Items/Creditmemo/DefaultCreditmemo.php    |     4 +-
 .../Pdf/Items/Invoice/DefaultInvoice.php      |     4 +-
 .../Pdf/Items/Shipment/DefaultShipment.php    |     4 +-
 .../Sales/Model/Order/Pdf/Shipment.php        |     4 +-
 .../Model/Order/Pdf/Shipment/Packaging.php    |    10 +-
 .../Sales/Model/Order/Pdf/Total/Factory.php   |     3 +-
 .../Sales/Model/Order/Total/Config/Base.php   |     2 +-
 .../Method/Billing/AbstractAgreement.php      |     4 +-
 app/code/Magento/Sales/Model/Quote.php        |     6 +-
 .../Magento/Sales/Model/Quote/Address.php     |     4 +-
 .../Model/Quote/Address/Total/Collector.php   |     2 +-
 .../Model/Quote/Address/Total/Discount.php    |     6 +-
 app/code/Magento/Sales/Model/Quote/Item.php   |     6 +-
 .../Magento/Sales/Model/Quote/Payment.php     |     6 +-
 .../Resource/Billing/Agreement/Collection.php |     4 +-
 .../Model/Resource/Order/AbstractOrder.php    |     6 +-
 .../Sales/Model/Resource/Order/Address.php    |     4 +-
 .../Sales/Model/Resource/Order/Collection.php |     4 +-
 .../Sales/Model/Resource/Order/Payment.php    |     4 +-
 .../Resource/Order/Payment/Collection.php     |     4 +-
 .../Model/Resource/Quote/Item/Collection.php  |     4 +-
 .../Resource/Quote/Payment/Collection.php     |     4 +-
 .../Report/Bestsellers/Collection.php         |     4 +-
 .../Report/Collection/AbstractCollection.php  |     4 +-
 .../Report/Invoiced/Collection/Invoiced.php   |     4 +-
 .../Report/Invoiced/Collection/Order.php      |     4 +-
 .../Resource/Report/Order/Collection.php      |     4 +-
 .../Report/Refunded/Collection/Order.php      |     4 +-
 .../Report/Refunded/Collection/Refunded.php   |     4 +-
 .../Report/Shipping/Collection/Order.php      |     4 +-
 .../Report/Shipping/Collection/Shipment.php   |     4 +-
 .../Sales/Model/Resource/Sale/Collection.php  |     6 +-
 .../Magento/Sales/Model/Service/Quote.php     |     6 +-
 app/code/Magento/Sales/etc/di.xml             |    89 +-
 app/code/Magento/Sales/i18n/de_DE.csv         |     6 +-
 app/code/Magento/Sales/i18n/en_US.csv         |     6 +-
 app/code/Magento/Sales/i18n/es_ES.csv         |     6 +-
 app/code/Magento/Sales/i18n/fr_FR.csv         |     6 +-
 app/code/Magento/Sales/i18n/nl_NL.csv         |     6 +-
 app/code/Magento/Sales/i18n/pt_BR.csv         |     6 +-
 app/code/Magento/Sales/i18n/zh_CN.csv         |     6 +-
 .../SalesRule/Model/Quote/Discount.php        |     6 +-
 .../Model/Resource/Report/Collection.php      |     4 +-
 .../Model/Resource/Rule/Collection.php        |     4 +-
 app/code/Magento/SalesRule/Model/Rule.php     |     6 +-
 .../Model/Rule/Action/Collection.php          |     4 +-
 .../Model/Rule/Condition/Combine.php          |     6 +-
 .../Magento/SalesRule/Model/Validator.php     |     6 +-
 app/code/Magento/SalesRule/etc/di.xml         |    24 +-
 app/code/Magento/Sitemap/Model/Sitemap.php    |    14 +-
 .../Magento/Tax/Model/Calculation/Rate.php    |     6 +-
 .../Magento/Tax/Model/Calculation/Rule.php    |     6 +-
 .../Resource/Calculation/Rate/Collection.php  |     4 +-
 .../Tax/Model/Resource/Report/Collection.php  |     4 +-
 app/code/Magento/Tax/etc/di.xml               |    14 +-
 .../Adminhtml/System/Design/Theme/Edit.php    |     4 +-
 .../Design/Theme/Edit/Form/Element/Image.php  |     4 +-
 .../System/Design/Theme/Edit/Tab/General.php  |     6 +-
 .../Adminhtml/System/Design/Theme.php         |    12 +-
 app/code/Magento/Theme/Model/Config.php       |     8 +-
 .../Theme/Model/Config/Customization.php      |    12 +-
 .../Magento/Theme/Model/Theme/SingleFile.php  |     4 +-
 .../{Core/Model => }/Url/Validator.php        |     2 +-
 app/code/Magento/User/Model/User.php          |     8 +-
 app/code/Magento/User/etc/adminhtml/di.xml    |     1 +
 app/code/Magento/User/etc/di.xml              |    19 +-
 .../Magento/Webapi/Controller/Request.php     |    17 +-
 .../Magento/Webapi/Controller/Response.php    |     2 +-
 app/code/Magento/Webapi/Controller/Rest.php   |    18 +-
 .../Webapi/Controller/Rest/Request.php        |    15 +-
 app/code/Magento/Webapi/Controller/Soap.php   |    21 +-
 .../Webapi/Controller/Soap/Request.php        |    14 -
 .../Model/Acl/Role/InRoleUserUpdater.php      |     4 +-
 .../Webapi/Model/Acl/Role/UsersUpdater.php    |    10 +-
 .../Webapi/Model/Acl/User/RoleUpdater.php     |     4 +-
 app/code/Magento/Webapi/Model/Soap/Config.php |     8 +-
 app/code/Magento/Webapi/Model/Soap/Server.php |    29 +-
 app/code/Magento/Webapi/etc/di.xml            |     6 +-
 .../etc => Webapi/etc/webapi_rest}/di.xml     |     6 +-
 .../Magento/Webapi/etc/webapi_soap/di.xml     |    28 +
 .../Model/Resource/Event/Collection.php       |     4 +-
 .../Webhook/Model/Resource/Job/Collection.php |     4 +-
 .../Resource/Subscription/Collection.php      |     4 +-
 .../Resource/Subscription/Grid/Collection.php |     4 +-
 app/code/Magento/Weee/Model/Observer.php      |     6 +-
 app/code/Magento/Weee/etc/di.xml              |     4 +-
 .../Instance/Edit/Chooser/Container.php       |    21 +-
 .../Widget/Instance/Edit/Chooser/Layout.php   |    22 +-
 .../Widget/Instance/Edit/Tab/Main.php         |     6 +-
 .../Widget/Instance/Edit/Tab/Settings.php     |     8 +-
 .../Controller/Adminhtml/Widget/Instance.php  |    17 +-
 .../Widget/Model/Config/FileResolver.php      |     8 +-
 .../Widget/Instance/Options/Types.php         |     2 +-
 .../Magento/Widget/Model/Template/Filter.php  |     9 +-
 .../Magento/Widget/Model/Widget/Instance.php  |    56 +-
 app/code/Magento/Widget/etc/di.xml            |     4 +-
 .../Widget/view/adminhtml/instance/js.phtml   |     6 +-
 .../adminhtml_widget_instance_block.xml       |     1 +
 .../Magento/Wishlist/Controller/Index.php     |     2 +-
 app/code/Magento/Wishlist/Helper/Data.php     |     6 +-
 .../Model/Resource/Item/Collection.php        |     4 +-
 .../Model/Resource/Item/Collection/Grid.php   |     4 +-
 app/code/Magento/Wishlist/Model/Wishlist.php  |     6 +-
 app/code/Magento/Wishlist/etc/di.xml          |     8 -
 .../adminhtml/magento_backend/css/admin.css   |    78 +-
 .../adminhtml/magento_backend/css/debug.css   |    31 +-
 .../adminhtml/magento_backend/css/pages.css   |   123 +-
 .../adminhtml/magento_backend/mui/form.css    |     1 +
 .../catalog/product/view/backbutton.phtml     |    26 +
 .../catalog/product/view/customize.phtml      |    32 +
 .../catalog/product/view/summary.phtml        |    91 +
 .../catalog/product/view/title.phtml          |    31 +
 .../catalog/product/view/type/bundle.phtml    |    59 +
 .../view/type/bundle/option/checkbox.phtml    |    53 +
 .../view/type/bundle/option/multi.phtml       |    50 +
 .../view/type/bundle/option/radio.phtml       |    70 +
 .../view/type/bundle/option/select.phtml      |    61 +
 .../product/view/type/bundle/options.phtml    |    55 +
 .../magento_plushe/Magento_Bundle/js/slide.js |    99 +
 .../catalog_product_view_type_bundle.xml      |   113 +
 .../layout/override/checkout_cart_index.xml   |    37 +
 .../layout/override/default.xml               |    44 +
 .../layout/review_product_list.xml            |    28 +
 .../order/creditmemo/items/renderer.phtml     |   314 +
 .../sales/order/invoice/items/renderer.phtml  |   330 +
 .../sales/order/items/renderer.phtml          |   354 +
 .../sales/order/shipment/items/renderer.phtml |   109 +
 .../magento_plushe/Magento_Captcha/captcha.js |    70 +
 .../Magento_Captcha/default.phtml             |    59 +
 .../override/checkout_onepage_index.xml       |    60 +
 .../override/customer_account_create.xml      |    40 +
 .../customer_account_forgotpassword.xml       |    40 +
 .../override/customer_account_login.xml       |    40 +
 .../magento_plushe/Magento_Captcha/onepage.js |    40 +
 .../Magento_Catalog/category/title.phtml      |    42 +
 .../Magento_Catalog/category/view.phtml       |    63 +
 .../category/widget/link/link_block.phtml     |    26 +
 .../category/widget/link/link_inline.phtml    |    26 +
 .../magento_plushe/Magento_Catalog/js/list.js |    74 +
 .../Magento_Catalog/layer/filter.phtml        |    46 +
 .../Magento_Catalog/layer/state.phtml         |    61 +
 .../Magento_Catalog/layer/view.phtml          |    57 +
 .../layout/catalog_category_view.xml          |    35 +
 .../layout/catalog_product_compare_index.xml  |    33 +
 .../layout/catalog_product_view.xml           |    40 +
 .../catalog_product_view_type_grouped.xml     |    27 +
 .../Magento_Catalog/layout/default.xml}       |    22 +-
 .../layout/override/catalog_category_view.xml |    92 +
 .../catalog_category_view_type_default.xml    |    30 +
 .../catalog_category_view_type_layered.xml    |    30 +
 .../catalog_product_compare_index.xml         |    31 +
 .../layout/override/catalog_product_view.xml  |   145 +
 ...catalog_product_view_type_configurable.xml |    39 +
 .../catalog_product_view_type_grouped.xml     |    31 +
 .../catalog_product_view_type_simple.xml      |    31 +
 .../catalog_product_view_type_virtual.xml     |    31 +
 .../layout/override/default.xml               |    48 +
 .../Magento_Catalog/navigation/left.phtml     |    59 +
 .../product/compare/link.phtml                |    39 +
 .../product/compare/list.phtml                |   150 +
 .../product/compare/sidebar.phtml             |    79 +
 .../Magento_Catalog/product/image.phtml       |    31 +
 .../product/image_with_borders.phtml          |    32 +
 .../Magento_Catalog/product/list.phtml        |   126 +
 .../Magento_Catalog/product/list/items.phtml  |   272 +
 .../product/list/toolbar.phtml                |   111 +
 .../Magento_Catalog/product/listing.phtml     |   123 +
 .../Magento_Catalog/product/view/addto.phtml  |    48 +
 .../product/view/addtocart.phtml              |    93 +
 .../product/view/attribute.phtml              |    59 +
 .../product/view/attributes.phtml             |    47 +
 .../product/view/base-image.phtml             |   153 +
 .../product/view/description.phtml            |    32 +
 .../product/view/details.phtml                |    42 +
 .../Magento_Catalog/product/view/form.phtml   |    62 +
 .../product/view/gallery.phtml                |    77 +
 .../Magento_Catalog/product/view/mailto.phtml |    31 +
 .../product/view/options.phtml                |    43 +
 .../product/view/options/js.phtml             |    88 +
 .../product/view/options/type/date.phtml      |    79 +
 .../product/view/options/type/default.phtml   |    29 +
 .../product/view/options/type/file.phtml      |    88 +
 .../product/view/options/type/select.phtml    |    44 +
 .../product/view/options/type/text.phtml      |    61 +
 .../product/view/options/wrapper.phtml        |    36 +
 .../product/view/options/wrapper/bottom.phtml |     9 +-
 .../Magento_Catalog/product/view/price.phtml  |    27 +
 .../product/view/price_clone.phtml            |    27 +
 .../Magento_Catalog/product/view/rating.phtml |    26 +
 .../product/view/tierprices.phtml             |   219 +
 .../product/view/type/default.phtml           |    39 +
 .../product/view/type/grouped.phtml           |    97 +
 .../view/type/options/configurable.phtml      |    54 +
 .../product/widget/link/link_block.phtml      |    26 +
 .../product/widget/link/link_inline.phtml     |    26 +
 .../widget/new/column/new_default_list.phtml  |    70 +
 .../widget/new/column/new_images_list.phtml   |    47 +
 .../widget/new/column/new_names_list.phtml    |    43 +
 .../product/widget/new/content/new_grid.phtml |   120 +
 .../product/widget/new/content/new_list.phtml |   121 +
 .../Magento_CatalogSearch/advanced/form.phtml |   129 +
 .../advanced/result.phtml                     |    61 +
 .../Magento_CatalogSearch/form.mini.phtml     |    88 +
 .../layout/catalogsearch_advanced_index.xml   |    28 +
 .../layout/catalogsearch_advanced_result.xml  |    33 +
 .../layout/catalogsearch_result_index.xml     |    35 +
 .../layout/catalogsearch_term_popular.xml     |    33 +
 .../override/catalogsearch_result_index.xml   |    46 +
 .../Magento_CatalogSearch/result.phtml        |    53 +
 .../Magento_CatalogSearch/term.phtml          |    35 +
 .../Magento_Checkout/cart.phtml               |    37 +
 .../Magento_Checkout/cart/coupon.phtml        |    69 +
 .../Magento_Checkout/cart/form.phtml          |   107 +
 .../cart/item/configure/updatecart.phtml      |    60 +
 .../Magento_Checkout/cart/item/default.phtml  |   293 +
 .../Magento_Checkout/cart/methods.phtml       |    42 +
 .../Magento_Checkout/cart/minicart.phtml      |   137 +
 .../Magento_Checkout/cart/noItems.phtml       |    31 +
 .../Magento_Checkout/cart/shipping.phtml      |   126 +
 .../cart/sidebar/default.phtml                |   352 +
 .../Magento_Checkout/cart/totals.phtml        |    49 +
 .../Magento_Checkout/js/opcheckout.js         |   494 +
 .../layout/checkout_cart_index.xml            |    49 +
 .../layout/checkout_multishipping.xml         |    27 +
 ...kout_multishipping_address_editaddress.xml |    34 +
 ...kout_multishipping_address_editbilling.xml |    34 +
 ...out_multishipping_address_editshipping.xml |    34 +
 ...ckout_multishipping_address_newbilling.xml |    34 +
 ...kout_multishipping_address_newshipping.xml |    34 +
 ...ut_multishipping_address_selectbilling.xml |    36 +
 .../checkout_multishipping_addresses.xml      |    33 +
 .../layout/checkout_multishipping_billing.xml |    36 +
 .../checkout_multishipping_overview.xml       |    33 +
 .../checkout_multishipping_shipping.xml       |    33 +
 .../layout/checkout_multishipping_success.xml |    32 +
 .../layout/checkout_onepage_paymentmethod.xml |    31 +
 .../layout/checkout_onepage_review.xml        |    30 +
 .../Magento_Checkout/layout/default.xml       |    28 +
 .../layout/override/checkout_cart_index.xml   |    59 +
 ...heckout_multishipping_customer_address.xml |    31 +
 .../override/checkout_onepage_additional.xml  |    34 +
 .../override/checkout_onepage_failure.xml     |    36 +
 .../override/checkout_onepage_index.xml       |    72 +
 .../override/checkout_onepage_success.xml     |    36 +
 .../layout/override/default.xml               |    39 +
 .../multishipping/address/select.phtml        |    60 +
 .../multishipping/addresses.phtml             |    92 +
 .../multishipping/agreements.phtml            |    49 +
 .../multishipping/billing.phtml               |    98 +
 .../multishipping/billing/items.phtml         |    52 +
 .../multishipping/item/default.phtml          |    47 +
 .../Magento_Checkout/multishipping/link.phtml |    26 +
 .../multishipping/overview.phtml              |   186 +
 .../multishipping/overview/item.phtml         |   216 +
 .../multishipping/shipping.phtml              |   118 +
 .../multishipping/state.phtml                 |    38 +
 .../multishipping/success.phtml               |    45 +
 .../Magento_Checkout/onepage.phtml            |    94 +
 .../Magento_Checkout/onepage/billing.phtml    |   212 +
 .../Magento_Checkout/onepage/failure.phtml    |    28 +
 .../Magento_Checkout/onepage/link.phtml       |    28 +
 .../Magento_Checkout/onepage/login.phtml      |   154 +
 .../Magento_Checkout/onepage/payment.phtml    |    43 +
 .../Magento_Checkout/onepage/progress.phtml   |   114 +
 .../onepage/review/button.phtml               |    26 +
 .../onepage/review/info.phtml                 |    65 +
 .../onepage/review/item.phtml                 |   238 +
 .../onepage/review/totals.phtml               |    46 +
 .../Magento_Checkout/onepage/shipping.phtml   |   144 +
 .../onepage/shipping_method.phtml             |    40 +
 .../onepage/shipping_method/available.phtml   |    63 +
 .../Magento_Checkout/success.phtml            |    58 +
 .../Magento_Checkout/total/default.phtml      |    37 +
 .../Magento_Cms/default/footerbanners.phtml   |    37 +
 .../Magento_Cms/default/home.phtml            |    53 +
 .../Magento_Cms/layout/override/default.xml   |    36 +
 .../Magento_Cms/layout/override/print.xml     |     4 +-
 .../Magento_Contacts/form.phtml               |    70 +
 .../layout/contacts_index_index.xml           |    28 +
 .../layout/override/default.xml               |    36 +
 .../magento_plushe/Magento_Core/text.phtml    |    35 +
 .../Magento_Customer/account/customer.phtml   |    37 +
 .../account/dashboard/address.phtml           |    51 +
 .../account/dashboard/hello.phtml             |    31 +
 .../account/dashboard/info.phtml              |    58 +
 .../Magento_Customer/account/link/back.phtml  |    28 +
 .../Magento_Customer/account/navigation.phtml |    38 +
 .../Magento_Customer/address/book.phtml       |   110 +
 .../Magento_Customer/address/button.phtml     |    32 +
 .../Magento_Customer/address/edit.phtml       |   164 +
 .../Magento_Customer/form/address.phtml       |   155 +
 .../form/changepassword.phtml                 |    68 +
 .../Magento_Customer/form/confirmation.phtml  |    59 +
 .../Magento_Customer/form/edit.phtml          |   129 +
 .../form/forgotpassword.phtml                 |    57 +
 .../Magento_Customer/form/login.phtml         |    82 +
 .../Magento_Customer/form/newsletter.phtml    |    45 +
 .../Magento_Customer/form/register.phtml      |   234 +
 .../form/resetforgottenpassword.phtml         |    59 +
 .../layout/customer_account.xml               |    35 +
 .../Magento_Customer/layout/default.xml       |    38 +
 .../override/customer_account_create.xml      |    42 +
 .../layout/override/customer_account_edit.xml |    36 +
 .../customer_account_forgotpassword.xml       |    45 +
 .../override/customer_account_index.xml       |    40 +
 .../override/customer_account_login.xml       |    41 +
 .../override/customer_address_index.xml       |    34 +
 .../Magento_Customer/newcustomer.phtml        |    44 +
 .../Magento_Customer/widget/dob.phtml         |    84 +
 .../Magento_Customer/widget/gender.phtml      |    37 +
 .../Magento_Customer/widget/name.phtml        |   112 +
 .../Magento_Customer/widget/taxvat.phtml      |    31 +
 .../controls/image_sizing.xml                 |   787 ++
 .../controls/quick_styles.xml                 |  1118 ++
 .../Magento_Directory/currency.phtml          |    54 +
 .../layout/override/catalog_category_view.xml |     7 +-
 .../override/catalogsearch_advanced_index.xml |    26 +
 .../catalogsearch_advanced_result.xml         |    26 +
 .../override/catalogsearch_result_index.xml   |    26 +
 .../layout/override/default.xml               |    33 +
 .../catalog/product/links.phtml               |    68 +
 .../catalog/product/samples.phtml             |    44 +
 .../catalog/product/type.phtml                |    41 +
 .../checkout/cart/item/default.phtml          |   305 +
 .../checkout/multishipping/item/default.phtml |    57 +
 .../checkout/onepage/review/item.phtml        |   247 +
 .../checkout/onepage/review/item_down.phtml   |   246 +
 .../customer/products/list.phtml              |    75 +
 ...catalog_product_view_type_downloadable.xml |    36 +
 .../layout/override/checkout_cart_index.xml   |    30 +
 .../items/renderer/downloadable.phtml         |   315 +
 .../invoice/items/renderer/downloadable.phtml |   305 +
 .../order/items/renderer/downloadable.phtml   |   327 +
 .../Magento_GiftMessage/inline.phtml          |   301 +
 .../layout/override/default.xml               |    30 +
 .../override/newsletter_manage_index.xml      |    33 +
 .../Magento_Newsletter/subscribe.phtml        |    62 +
 .../magento_plushe/Magento_Page/1column.phtml |    60 +
 .../Magento_Page/2columns-left.phtml          |    66 +
 .../Magento_Page/2columns-right.phtml         |    66 +
 .../Magento_Page/3columns.phtml               |    69 +
 .../magento_plushe/Magento_Page/blank.phtml   |    31 +
 .../magento_plushe/Magento_Page/empty.phtml   |    55 +
 .../Magento_Page/html/block.phtml             |    31 +
 .../Magento_Page/html/breadcrumbs.phtml       |    42 +
 .../Magento_Page/html/copyright.phtml         |    28 +
 .../Magento_Page/html/head.phtml              |    36 +
 .../Magento_Page/html/header.phtml            |    52 +
 .../Magento_Page/html/notices.phtml           |    90 +
 .../Magento_Page/html/pager.phtml             |   119 +
 .../Magento_Page/html/title.phtml             |    42 +
 .../Magento_Page/html/topmenu.phtml           |    42 +
 .../Magento_Page/layout/default.xml           |   100 +
 .../Magento_Page/layout/override/default.xml  |   168 +
 .../Magento_Page/layout/override/print.xml    |    39 +
 .../Magento_Page/link/current.phtml           |    40 +
 .../magento_plushe/Magento_Page/page.phtml    |    57 +
 .../magento_plushe/Magento_Page/popup.phtml   |    48 +
 .../magento_plushe/Magento_Page/print.phtml   |    57 +
 .../Magento_Page/switch/languages.phtml       |    54 +
 .../Magento_Page/switch/stores.phtml          |    59 +
 .../Magento_PageCache/layout/default.xml      |    28 +
 .../Magento_Paypal/express/review.phtml       |   111 +
 .../express/review/address.phtml              |   143 +
 .../express/review/details.phtml              |    55 +
 .../express/review/shipping/method.phtml      |    56 +
 .../Magento_Paypal/express/shortcut.phtml     |    70 +
 .../layout/override/catalog_product_view.xml  |    42 +
 .../layout/override/default.xml               |    33 +
 .../override/checkout_onepage_index.xml       |    35 +
 .../override/customer_account_create.xml      |    31 +
 .../override/customer_account_login.xml       |    31 +
 .../Magento_Persistent/remember_me.phtml      |    41 +
 .../remember_me_tooltip.phtml                 |    58 +
 .../Magento_Rating/detailed.phtml             |    45 +
 .../layout/catalog_product_view.xml           |    36 +
 .../layout/override/default.xml               |    31 +
 .../Magento_Reports/layout/override/print.xml |    26 +
 .../Magento_Reports/product_compared.phtml    |    44 +
 .../Magento_Reports/product_viewed.phtml      |    44 +
 .../column/compared_default_list.phtml        |    58 +
 .../compared/content/compared_grid.phtml      |   125 +
 .../compared/content/compared_list.phtml      |   125 +
 .../viewed/column/viewed_default_list.phtml   |    63 +
 .../widget/viewed/content/viewed_grid.phtml   |   129 +
 .../widget/viewed/content/viewed_list.phtml   |   128 +
 .../Magento_Review/customer/list.phtml        |    82 +
 .../Magento_Review/customer/recent.phtml      |    50 +
 .../Magento_Review/customer/view.phtml        |    78 +
 .../magento_plushe/Magento_Review/form.phtml  |   110 +
 .../Magento_Review/helper/summary.phtml       |    66 +
 .../Magento_Review/helper/summary_short.phtml |    65 +
 .../layout/catalog_product_view.xml           |    43 +
 .../override/customer_account_index.xml       |    30 +
 .../layout/override/review_product_view.xml   |    35 +
 .../layout/review_product_list.xml            |    33 +
 .../layout/review_product_view.xml            |    28 +
 .../Magento_Review/product/view/list.phtml    |    74 +
 .../Magento_Review/redirect.phtml             |    32 +
 .../magento_plushe/Magento_Review/view.phtml  |    64 +
 .../billing/agreement/view.phtml              |   101 +
 .../Magento_Sales/billing/agreements.phtml    |    91 +
 .../Magento_Sales/guest/form.phtml            |    75 +
 .../override/customer_account_index.xml       |    30 +
 .../Magento_Sales/layout/override/default.xml |    38 +
 .../layout/override/sales_guest_view.xml      |    51 +
 .../override/sales_order_creditmemo.xml       |    49 +
 .../override/sales_order_info_links.xml       |    61 +
 .../layout/override/sales_order_invoice.xml   |    49 +
 .../override/sales_order_printorder.xml       |    45 +
 .../sales_order_printordercreditmemo.xml      |    41 +
 .../sales_order_printorderinvoice.xml         |    41 +
 .../layout/override/sales_order_view.xml      |    48 +
 .../Magento_Sales/order/comments.phtml        |    42 +
 .../Magento_Sales/order/creditmemo.phtml      |    35 +
 .../order/creditmemo/items.phtml              |    72 +
 .../creditmemo/items/renderer/default.phtml   |   315 +
 .../Magento_Sales/order/history.phtml         |    66 +
 .../Magento_Sales/order/info.phtml            |    77 +
 .../Magento_Sales/order/info/buttons.phtml    |    45 +
 .../Magento_Sales/order/invoice.phtml         |    35 +
 .../Magento_Sales/order/invoice/items.phtml   |    69 +
 .../invoice/items/renderer/default.phtml      |   295 +
 .../Magento_Sales/order/items.phtml           |    79 +
 .../order/items/renderer/default.phtml        |   317 +
 .../Magento_Sales/order/print.phtml           |    98 +
 .../order/print/creditmemo.phtml              |   117 +
 .../Magento_Sales/order/print/invoice.phtml   |   115 +
 .../Magento_Sales/order/print/shipment.phtml  |   123 +
 .../Magento_Sales/order/recent.phtml          |    76 +
 .../Magento_Sales/order/shipment.phtml        |    35 +
 .../Magento_Sales/order/shipment/items.phtml  |   105 +
 .../Magento_Sales/order/view.phtml            |    73 +
 .../Magento_Sales/recurring/profiles.phtml    |    38 +
 .../Magento_Sales/reorder/sidebar.phtml       |    85 +
 .../Magento_Sales/success.phtml               |    63 +
 .../override/sendfriend_product_send.xml      |    36 +
 .../Magento_Sendfriend/send.phtml             |   118 +
 .../Magento_Shipping/tracking/popup.phtml     |   174 +
 .../Magento_Tax/checkout/grandtotal.phtml     |    57 +
 .../Magento_Tax/checkout/shipping.phtml       |    65 +
 .../Magento_Tax/checkout/subtotal.phtml       |    56 +
 .../Magento_Tax/checkout/tax.phtml            |    80 +
 .../layout/override/default.xml               |    26 +
 .../Magento_Widget/layout/override/print.xml  |    26 +
 .../Magento_Wishlist/button/share.phtml       |    28 +
 .../Magento_Wishlist/button/tocart.phtml      |    29 +
 .../Magento_Wishlist/button/update.phtml      |    29 +
 .../Magento_Wishlist/item/column/cart.phtml   |    57 +
 .../Magento_Wishlist/item/column/image.phtml  |    33 +
 .../Magento_Wishlist/item/column/info.phtml   |    40 +
 .../Magento_Wishlist/item/column/remove.phtml |    28 +
 .../item/configure/addto.phtml                |    37 +
 .../Magento_Wishlist/item/list.phtml          |    53 +
 .../override/wishlist_index_configure.xml     |    39 +
 .../wishlist_index_configure_type_bundle.xml  |   113 +
 ...list_index_configure_type_configurable.xml |    39 +
 .../wishlist_index_configure_type_grouped.xml |    31 +
 .../wishlist_index_configure_type_simple.xml  |    26 +
 .../layout/override/wishlist_index_index.xml  |    65 +
 .../layout/override/wishlist_shared_index.xml |    30 +
 .../Magento_Wishlist/shared.phtml             |    79 +
 .../Magento_Wishlist/sharing.phtml            |    67 +
 .../Magento_Wishlist/sidebar.phtml            |    71 +
 .../Magento_Wishlist/view.phtml               |    81 +
 .../frontend/magento_plushe/css/print.css     |   158 +
 .../frontend/magento_plushe/css/styles.css    | 10859 ++++++++++++++++
 .../frontend/magento_plushe/fonts/.htaccess   |    13 +
 .../magento_plushe/fonts/icons/icons.dev.svg  |    99 +
 .../magento_plushe/fonts/icons/icons.eot      |   Bin 0 -> 4344 bytes
 .../magento_plushe/fonts/icons/icons.svg      |    99 +
 .../magento_plushe/fonts/icons/icons.ttf      |   Bin 0 -> 4188 bytes
 .../magento_plushe/fonts/icons/icons.woff     |   Bin 0 -> 5220 bytes
 .../magento_plushe/fonts/marvel/OFL.txt       |    93 +
 .../marvel/marvel-400-normal-webfont.eot      |   Bin 0 -> 19062 bytes
 .../marvel/marvel-400-normal-webfont.svg      |   213 +
 .../marvel/marvel-400-normal-webfont.ttf      |   Bin 0 -> 42136 bytes
 .../marvel/marvel-400-normal-webfont.woff     |   Bin 0 -> 21960 bytes
 .../sourcesanspro-200-normal-webfont.eot      |   Bin 0 -> 24029 bytes
 .../sourcesanspro-200-normal-webfont.svg      |   245 +
 .../sourcesanspro-200-normal-webfont.ttf      |   Bin 0 -> 54196 bytes
 .../sourcesanspro-200-normal-webfont.woff     |   Bin 0 -> 26796 bytes
 .../sourcesanspro-400-normal-webfont.eot      |   Bin 0 -> 24107 bytes
 .../sourcesanspro-400-normal-webfont.svg      |   245 +
 .../sourcesanspro-400-normal-webfont.ttf      |   Bin 0 -> 54820 bytes
 .../sourcesanspro-400-normal-webfont.woff     |   Bin 0 -> 26984 bytes
 .../sourcesanspro-600-normal-webfont.eot      |   Bin 0 -> 24228 bytes
 .../sourcesanspro-600-normal-webfont.svg      |   245 +
 .../sourcesanspro-600-normal-webfont.ttf      |   Bin 0 -> 54012 bytes
 .../sourcesanspro-600-normal-webfont.woff     |   Bin 0 -> 27116 bytes
 .../sourcesanspro-700-normal-webfont.eot      |   Bin 0 -> 23844 bytes
 .../sourcesanspro-700-normal-webfont.svg      |   245 +
 .../sourcesanspro-700-normal-webfont.ttf      |   Bin 0 -> 53496 bytes
 .../sourcesanspro-700-normal-webfont.woff     |   Bin 0 -> 26700 bytes
 .../magento_plushe/images/banner1.jpg         |   Bin 0 -> 27699 bytes
 .../magento_plushe/images/banner2.jpg         |   Bin 0 -> 20777 bytes
 .../magento_plushe/images/banner3.jpg         |   Bin 0 -> 11208 bytes
 .../magento_plushe/images/banner4.jpg         |   Bin 0 -> 18920 bytes
 .../magento_plushe/images/blog_bg.png         |   Bin 0 -> 2999 bytes
 .../magento_plushe/images/header-bg.jpg       |   Bin 0 -> 21105 bytes
 .../magento_plushe/images/info_photo.jpg      |   Bin 0 -> 7859 bytes
 .../frontend/magento_plushe/images/loader.gif |   Bin 0 -> 477 bytes
 .../frontend/magento_plushe/images/logo.gif   |   Bin 0 -> 3454 bytes
 .../magento_plushe/images/logo_notext.gif     |   Bin 0 -> 1964 bytes
 .../magento_plushe/images/main_image1.jpg     |   Bin 0 -> 147971 bytes
 .../magento_plushe/images/social-links.png    |   Bin 0 -> 7564 bytes
 .../magento_plushe/images/texture.png         |   Bin 0 -> 81548 bytes
 .../magento_plushe/js/extra-options.js        |    59 +
 app/design/frontend/magento_plushe/js/head.js |   356 +
 .../magento_plushe/js/jquery.dropdowns.js     |   108 +
 .../frontend/magento_plushe/js/matchMedia.js  |   162 +
 .../magento_plushe/js/navigation-menu.js      |   459 +
 .../frontend/magento_plushe/js/selectivizr.js |   567 +
 .../frontend/magento_plushe/js/sticky.js      |    61 +
 app/design/frontend/magento_plushe/js/tabs.js |   169 +
 .../frontend/magento_plushe/js/theme.js       |   115 +
 .../magento_plushe/less/clearless/all.less    |    36 +
 .../magento_plushe/less/clearless/arrows.less |   172 +
 .../magento_plushe/less/clearless/grids.less  |   186 +
 .../less/clearless/helpers.less               |   248 +
 .../magento_plushe/less/clearless/icons.less  |   327 +
 .../magento_plushe/less/clearless/resets.less |   307 +
 .../less/clearless/settings.less              |    50 +
 .../less/clearless/sprites.less               |    75 +
 .../less/clearless/typography.less            |    66 +
 .../magento_plushe/less/lib/buttons.less      |   136 +
 .../magento_plushe/less/lib/forms.less        |   919 ++
 .../magento_plushe/less/lib/grids.less        |   384 +
 .../magento_plushe/less/lib/icons.less        |   205 +
 .../magento_plushe/less/lib/messages.less     |   214 +
 .../magento_plushe/less/lib/navigation.less   |   658 +
 .../magento_plushe/less/lib/sections.less     |   203 +
 .../magento_plushe/less/lib/snippets.less     |   142 +
 .../frontend/magento_plushe/less/styles.less  |  5180 ++++++++
 .../magento_plushe/less/styles/base.less      |   429 +
 .../magento_plushe/less/styles/magento.less   |  1549 +++
 .../frontend/magento_plushe/less/vars.less    |   131 +
 .../frontend/magento_plushe/media/preview.jpg |   Bin 0 -> 113913 bytes
 app/design/frontend/magento_plushe/theme.xml  |    33 +
 app/design/frontend/magento_plushe/view.xml   |   298 +
 app/etc/di.xml                                |    97 +-
 .../Magento/TestFramework/Application.php     |    48 +-
 .../Magento/TestFramework/Cookie.php          |    12 +-
 .../TestFramework/Helper/Bootstrap.php        |     9 +-
 .../Magento/TestFramework/Helper/Config.php   |     2 +-
 .../Magento/TestFramework/Request.php         |     2 +-
 .../Magento/TestFramework/Response.php        |     3 +-
 .../TestCase/AbstractConfigFiles.php          |     6 +-
 .../TestCase/AbstractController.php           |    21 +-
 .../TestCase/AbstractIntegrity.php            |     2 +-
 .../Magento/Test/ApplicationTest.php          |     4 +-
 .../testsuite/Magento/Test/CookieTest.php     |     7 +-
 .../Magento/Test/Helper/BootstrapTest.php     |    15 +-
 .../Magento/Test/ObjectManagerTest.php        |     6 +-
 .../testsuite/Magento/Test/RequestTest.php    |     3 +-
 .../testsuite/Magento/Test/ResponseTest.php   |     2 +-
 .../Test/TestCase/ControllerAbstractTest.php  |    13 +-
 .../Product/Attribute/Set/Toolbar/AddTest.php |     2 +-
 .../Product/Edit/Tab/Options/OptionTest.php   |     2 +-
 .../Edit/Tab/Options/Type/SelectTest.php      |     2 +-
 .../Edit/Tab/Super/Config/MatrixTest.php      |     4 +-
 .../Product/Edit/Tab/Super/ConfigTest.php     |     6 +-
 .../Product/Edit/Tab/Super/SettingsTest.php   |     2 +-
 .../Block/Catalog/Product/Edit/TabsTest.php   |     6 +-
 .../Block/Catalog/Product/EditTest.php        |     2 +-
 .../Helper/Form/Gallery/ContentTest.php       |     2 +-
 .../Catalog/Product/Options/AjaxTest.php      |     2 +-
 .../Block/Cms/Page/Edit/Tab/DesignTest.php    |     4 +-
 .../Adminhtml/Block/Dashboard/GraphTest.php   |     2 +-
 .../Block/Newsletter/Queue/Edit/FormTest.php  |     4 +-
 .../Block/Newsletter/SubscriberTest.php       |     2 +-
 .../Magento/Adminhtml/Block/Page/HeadTest.php |     2 +-
 .../Adminhtml/Block/Page/HeaderTest.php       |     2 +-
 .../Block/Promo/Catalog/Edit/Tab/MainTest.php |     2 +-
 .../Block/Promo/Quote/Edit/Tab/LabelsTest.php |     2 +-
 .../Block/Promo/Quote/Edit/Tab/MainTest.php   |     2 +-
 .../Block/Rating/Edit/Tab/FormTest.php        |     2 +-
 .../Block/Report/Filter/FormTest.php          |     2 +-
 .../Report/Sales/Bestsellers/GridTest.php     |     2 +-
 .../Block/Report/Sales/Coupons/GridTest.php   |     2 +-
 .../Block/Report/Sales/Invoiced/GridTest.php  |     2 +-
 .../Block/Report/Sales/Refunded/GridTest.php  |     2 +-
 .../Block/Report/Sales/Sales/GridTest.php     |     2 +-
 .../Block/Report/Sales/Shipping/GridTest.php  |     2 +-
 .../Block/Report/Sales/Tax/GridTest.php       |     2 +-
 .../Block/Sales/Items/AbstractTest.php        |     2 +-
 .../Sales/Order/Create/Form/AbstractTest.php  |     2 +-
 .../Block/System/Account/Edit/FormTest.php    |     2 +-
 .../System/Design/Edit/Tab/GeneralTest.php    |     2 +-
 .../Block/System/Store/DeleteTest.php         |     2 +-
 .../System/Store/Edit/Form/GroupTest.php      |     2 +-
 .../System/Store/Edit/Form/StoreTest.php      |     2 +-
 .../System/Store/Edit/Form/WebsiteTest.php    |     2 +-
 .../Adminhtml/Block/System/Store/EditTest.php |     4 +-
 .../Block/System/Variable/EditTest.php        |     4 +-
 .../Block/Tax/Rate/ImportExportTest.php       |     2 +-
 .../Magento/Adminhtml/Block/TemplateTest.php  |     2 +-
 .../Urlrewrite/Catalog/Category/TreeTest.php  |     2 +-
 .../Urlrewrite/Catalog/Edit/FormTest.php      |     2 +-
 .../Urlrewrite/Catalog/Product/GridTest.php   |     2 +-
 .../Urlrewrite/Cms/Page/Edit/FormTest.php     |     2 +-
 .../Block/Urlrewrite/Cms/Page/GridTest.php    |     4 +-
 .../Block/Urlrewrite/Edit/FormTest.php        |     2 +-
 .../Block/Widget/Form/ContainerTest.php       |     2 +-
 .../Block/Widget/Grid/Massaction/ItemTest.php |     2 +-
 .../Adminhtml/Block/Widget/GridTest.php       |     2 +-
 .../Adminhtml/Block/Widget/TabsTest.php       |     2 +-
 .../Catalog/Product/AttributeTest.php         |     2 +-
 .../Magento/App/FrontControllerTest.php       |    91 +
 .../Block/Directpost/IframeTest.php           |     2 +-
 .../Backend/Block/System/Config/FormStub.php  |     2 +-
 .../Backend/Block/System/Config/FormTest.php  |    20 +-
 .../Magento/Backend/Block/TemplateTest.php    |     2 +-
 .../Backend/Block/Widget/ContainerTest.php    |     2 +-
 .../Magento/Backend/Block/Widget/FormTest.php |     2 +-
 .../Block/Widget/Grid/ColumnSetTest.php       |     2 +-
 .../Block/Widget/Grid/ContainerTest.php       |     2 +-
 .../Block/Widget/Grid/ExtendedTest.php        |     4 +-
 .../Block/Widget/Grid/MassactionTest.php      |     8 +-
 .../Magento/Backend/Block/Widget/GridTest.php |     8 +-
 .../Backend/Controller/AbstractActionTest.php |     4 +-
 .../Controller/Router/DefaultRouterTest.php   |     6 +-
 .../Router/Validator/DefaultTest.php          |    19 -
 .../Magento/Backend/Helper/DataTest.php       |     6 +-
 .../Backend/Model/Auth/SessionTest.php        |     4 +-
 .../Model/Config/Backend/Admin/RobotsTest.php |     6 +-
 .../Magento/Backend/Model/ConfigTest.php      |     2 +-
 .../Magento/Backend/Model/LocaleTest.php      |     2 +-
 .../Magento/Backend/Model/MenuTest.php        |     2 +-
 .../Magento/Backend/Model/ObserverTest.php    |     4 +-
 .../Magento/Backend/Model/UrlTest.php         |     8 +-
 .../Backend/Model/_files/no_robots_txt.php    |     2 +-
 .../Backend/Model/_files/robots_txt.php       |     2 +-
 .../Tab/Bundle/Option/Search/GridTest.php     |     2 +-
 .../Edit/Tab/Bundle/Option/SearchTest.php     |     2 +-
 .../Magento/Bundle/Controller/ProductTest.php |     3 +-
 .../Captcha/Block/Captcha/DefaultTest.php     |     5 +-
 .../Magento/Catalog/Block/Layer/ViewTest.php  |     2 +-
 .../Catalog/Block/Product/AbstractTest.php    |    12 +-
 .../Backend/Grid/ColumnSetTest.php            |     2 +-
 .../Catalog/Block/Product/ListTest.php        |     4 +-
 .../Magento/Catalog/Block/Product/NewTest.php |     6 +-
 .../Product/ProductList/CrosssellTest.php     |     4 +-
 .../Block/Product/ProductList/RelatedTest.php |     4 +-
 .../Block/Product/ProductList/ToolbarTest.php |     2 +-
 .../Block/Product/View/AdditionalTest.php     |     2 +-
 .../Block/Product/View/OptionsTest.php        |     2 +-
 .../Product/View/Type/ConfigurableTest.php    |     2 +-
 .../Catalog/Block/Product/ViewTest.php        |     2 +-
 .../Catalog/Controller/CategoryTest.php       |     2 +-
 .../Catalog/Controller/ProductTest.php        |     2 +-
 .../Catalog/Helper/Product/ViewTest.php       |     4 +-
 .../Magento/Catalog/Model/DesignTest.php      |     4 +-
 .../Model/Layer/Filter/AttributeTest.php      |     4 +-
 .../Model/Layer/Filter/CategoryTest.php       |     4 +-
 .../Model/Layer/Filter/DecimalTest.php        |     6 +-
 .../Catalog/Model/Layer/Filter/ItemTest.php   |     6 +-
 .../Filter/Price/AlgorithmAdvancedTest.php    |     2 +-
 .../Catalog/Model/Layer/Filter/PriceTest.php  |     6 +-
 .../Model/Product/Type/AbstractTest.php       |     2 +-
 .../testsuite/Magento/Catalog/WidgetTest.php  |     8 +-
 .../Block/Advanced/ResultTest.php             |     5 +-
 .../CatalogSearch/Block/ResultTest.php        |     2 +-
 .../Magento/CatalogSearch/Block/TermTest.php  |     2 +-
 .../Checkout/Block/Cart/Item/RendererTest.php |     2 +-
 .../Checkout/Block/Cart/SidebarTest.php       |     2 +-
 .../Magento/Checkout/Block/CartTest.php       |     6 +-
 .../Block/Multishipping/OverviewTest.php      |     4 +-
 .../Block/Onepage/Payment/MethodsTest.php     |     2 +-
 .../testsuite/Magento/Cms/Block/BlockTest.php |     2 +-
 .../Magento/Cms/Block/Widget/BlockTest.php    |     2 +-
 .../Magento/Cms/Controller/RouterTest.php     |    14 +-
 .../testsuite/Magento/Cms/Helper/PageTest.php |     2 +-
 .../Magento/Cms/Helper/Wysiwyg/ImagesTest.php |     6 +-
 .../Magento/Cms/Model/Wysiwyg/ConfigTest.php  |     2 +-
 .../Cms/Model/Wysiwyg/Images/StorageTest.php  |     4 +-
 .../testsuite/Magento/Code/GeneratorTest.php  |    12 +-
 .../Magento/Core/Block/AbstractBlockTest.php  |    30 +-
 .../Magento/Core/Block/TemplateTest.php       |    19 +-
 .../Magento/Core/Block/Text/ListTest.php      |     5 +-
 .../testsuite/Magento/Core/Block/TextTest.php |     2 +-
 .../Core/Controller/Request/HttpTest.php      |   193 -
 .../Core/Controller/Varien/ActionTest.php     |    12 +-
 .../Core/Controller/Varien/FrontTest.php      |   141 -
 .../Controller/Varien/Router/BaseTest.php     |     2 +-
 .../Magento/Core/Model/App/AreaTest.php       |    32 +-
 .../Magento/Core/Model/App/EmulationTest.php  |     2 +-
 .../testsuite/Magento/Core/Model/AppTest.php  |    13 +-
 .../Magento/Core/Model/ConfigTest.php         |    34 -
 .../Core/Model/DataService/ConfigTest.php     |    14 +-
 .../Core/Model/DataService/LayoutTest.php     |     8 +-
 .../FileResolution/Strategy/FallbackTest.php  |     4 +-
 .../Magento/Core/Model/DesignTest.php         |     2 +-
 .../Core/Model/Email/Template/FilterTest.php  |     6 +-
 .../Magento/Core/Model/Email/TemplateTest.php |     6 +-
 .../Core/Model/Fieldset/Config/ReaderTest.php |    20 +-
 .../Magento/Core/Model/File/StorageTest.php   |     2 +-
 .../Core/Model/LayoutDirectivesTest.php       |    14 +-
 .../Magento/Core/Model/LayoutTest.php         |    17 +-
 .../Core/Model/Page/Asset/MergedTest.php      |    10 +-
 .../Resource/Db/Collection/AbstractTest.php   |     2 +-
 .../Core/Model/Resource/Layout/UpdateTest.php |     4 +-
 .../Magento/Core/Model/Resource/SetupTest.php |     4 +-
 .../Model/Resource/Theme/CollectionTest.php   |    16 +-
 .../Magento/Core/Model/RouterListTest.php     |     8 +-
 .../Core/Model/Session/AbstractTest.php       |     2 +-
 .../Magento/Core/Model/StoreTest.php          |    10 +-
 .../Core/Model/TemplateEngine/TwigTest.php    |    88 -
 .../Core/Model/Theme/CollectionTest.php       |     5 +-
 .../Core/Model/Theme/Domain/VirtualTest.php   |    16 +-
 .../Magento/Core/Model/Theme/FileTest.php     |     4 +-
 .../Core/Model/Theme/RegistrationTest.php     |     2 +-
 .../Core/Model/Theme/ValidatorTest.php        |     2 +-
 .../Magento/Core/Model/ThemeTest.php          |    11 +-
 .../Core/Model/Translate/InlineParserTest.php |     2 +-
 .../Core/Model/Translate/InlineTest.php       |     4 +-
 .../Magento/Core/Model/TranslateTest.php      |    12 +-
 .../Magento/Core/Model/Url/RewriteTest.php    |    24 +-
 .../testsuite/Magento/Core/Model/UrlTest.php  |     9 +-
 .../Magento/Core/Model/View/DesignTest.php    |    62 +-
 .../Core/Model/View/FileSystemTest.php        |     4 +-
 .../Core/Model/View/PublicationTest.php       |    46 +-
 .../testsuite/Magento/Core/Utility/Layout.php |     8 +-
 .../Magento/Core/Utility/LayoutTest.php       |     6 +-
 .../Magento/Core/_files/layout_update.php     |     4 +-
 .../Block/Account/Dashboard/InfoTest.php      |     2 +-
 .../Customer/Block/Widget/GenderTest.php      |     2 +-
 .../Model/Config/QuickStylesTest.php          |     6 +-
 .../Tools/Controls/ConfigurationTest.php      |    10 +-
 .../DesignEditor/Model/ObserverTest.php       |    10 +-
 .../DesignEditor/Model/Theme/ChangeTest.php   |     7 +-
 .../Model/Translate/InlineVdeTest.php         |     8 +-
 .../Model/_files/design/themes.php            |     2 +-
 .../_files/design_editor_active.php           |     6 +-
 .../Edit/Tab/Downloadable/LinksTest.php       |     8 +-
 .../Edit/Tab/Downloadable/SamplesTest.php     |     6 +-
 .../Downloadable/Controller/ProductTest.php   |     2 +-
 .../Attribute/Edit/Main/AbstractTest.php      |     2 +-
 .../Magento/Filesystem/Adapter/LocalTest.php  |     4 +-
 .../GiftMessage/Block/Message/InlineTest.php  |     2 +-
 .../Block/Adminhtml/Items/ProductTest.php     |     8 +-
 .../Magento/Image/Adapter/InterfaceTest.php   |     2 +-
 .../Block/Adminhtml/Export/Edit/FormTest.php  |     2 +-
 .../Block/Adminhtml/Export/FilterTest.php     |     2 +-
 .../Block/Adminhtml/Import/Edit/FormTest.php  |     2 +-
 .../Model/Import/Entity/ProductTest.php       |     4 +-
 .../Magento/Index/Model/Process/FileTest.php  |     6 +-
 .../Magento/Install/Controller/WizardTest.php |    14 +-
 .../testsuite/Magento/Install/IndexTest.php   |     4 +-
 .../Magento/Install/Model/ConfigTest.php      |    20 +-
 .../Install/Model/Installer/ConfigTest.php    |    10 +-
 .../Magento/Install/Model/InstallerTest.php   |    10 +-
 .../Magento/Newsletter/Model/QueueTest.php    |     6 +-
 .../ObjectManager/Config/Reader/DomTest.php   |     2 +-
 .../ObjectManager/_files/config_merged.xml    |     4 +-
 .../ObjectManager/_files/config_one.xml       |     2 +-
 .../ObjectManager/_files/config_two.xml       |     4 +-
 .../Page/Block/Html/BreadcrumbsTest.php       |     2 +-
 .../Magento/Page/Block/Html/FooterTest.php    |     4 +-
 .../Magento/Page/Block/Html/HeadTest.php      |     4 +-
 .../Magento/Payment/Block/InfoTest.php        |     2 +-
 .../Paypal/Block/Express/ReviewTest.php       |     2 +-
 .../Magento/Paypal/Model/VoidTest.php         |     4 +-
 .../ProductAlert/Block/Email/StockTest.php    |     2 +-
 .../Driver/Standard/Output/FirebugTest.php    |     6 +-
 .../Magento/Rss/Block/Order/StatusTest.php    |     2 +-
 .../Magento/Rss/Controller/CatalogTest.php    |     2 +-
 .../Sales/Block/Order/CommentsTest.php        |     2 +-
 .../Block/Order/Creditmemo/ItemsTest.php      |     5 +-
 .../Sales/Block/Order/Invoice/ItemsTest.php   |     5 +-
 .../Block/Order/PrintOrder/CreditmemoTest.php |     2 +-
 .../Block/Order/PrintOrder/InvoiceTest.php    |     2 +-
 .../Sales/Block/Order/Shipment/ItemsTest.php  |     2 +-
 .../Magento/Sales/Block/Order/TotalsTest.php  |     2 +-
 .../Block/Recurring/Profile/ViewTest.php      |     5 +-
 .../Magento/Test/Integrity/LayoutTest.php     |    40 +-
 .../Integrity/Modular/AclConfigFilesTest.php  |     4 +-
 .../Modular/BlockInstantiationTest.php        |     2 +-
 .../Integrity/Modular/DiConfigFilesTest.php   |     8 +-
 .../Modular/EventConfigFilesTest.php          |     2 +-
 .../Integrity/Modular/LayoutFilesTest.php     |     2 +-
 .../Modular/ServiceCallsConfigFilesTest.php   |     2 +-
 .../Modular/SystemConfigFilesTest.php         |     6 +-
 .../Integrity/Modular/TemplateFilesTest.php   |     6 +-
 .../Integrity/Modular/ViewConfigFilesTest.php |     2 +-
 .../Test/Integrity/Modular/ViewFilesTest.php  |     4 +-
 .../Integrity/Theme/TemplateFilesTest.php     |     4 +-
 .../Test/Integrity/Theme/ViewFilesTest.php    |    12 +-
 .../Test/Integrity/Theme/XmlFilesTest.php     |    10 +-
 .../Test/Integrity/ViewFileReferenceTest.php  |    12 +-
 .../Tools/Layout/Reference/ProcessorTest.php  |     4 +-
 .../Design/Theme/Edit/Tab/GeneralTest.php     |     9 +-
 .../System/Design/ThemeControllerTest.php     |     8 +-
 .../Theme/Model/Wysiwyg/StorageTest.php       |    10 +-
 .../Block/Adminhtml/Dhl/UnitofmeasureTest.php |     2 +-
 .../Magento/User/Block/Role/Grid/UserTest.php |     2 +-
 .../Magento/User/Block/Role/Tab/EditTest.php  |     2 +-
 .../Model => View}/Layout/ElementTest.php     |     8 +-
 .../Layout}/_files/_layout_update.xml         |     0
 .../Block/Adminhtml/AbstractFormTest.php      |     4 +-
 .../Adminhtml/Role/Edit/Tab/MainTest.php      |     6 +-
 .../Adminhtml/Role/Edit/Tab/ResourceTest.php  |     6 +-
 .../Adminhtml/User/Edit/Tab/MainTest.php      |     6 +-
 .../Block/Adminhtml/User/Edit/TabsTest.php    |     6 +-
 .../Webapi/Block/Adminhtml/User/EditTest.php  |     5 +-
 .../Magento/Webapi/Model/Soap/ServerTest.php  |    22 +-
 .../Block/Adminhtml/Subscription/EditTest.php |     8 +-
 .../Subscription/Grid/CollectionTest.php      |    12 +-
 .../Webhook/Model/Subscription/ConfigTest.php |    14 +-
 .../Instance/Edit/Chooser/ContainerTest.php   |     2 +-
 .../Instance/Edit/Chooser/LayoutTest.php      |     6 +-
 .../Instance/Edit/Tab/Main/LayoutTest.php     |     8 +-
 .../Widget/Instance/Edit/Tab/MainTest.php     |    13 +-
 .../Adminhtml/Widget/Instance/EditTest.php    |     8 +-
 .../Adminhtml/Widget/InstanceTest.php         |    11 +-
 .../Magento/Widget/Model/Config/DataTest.php  |    22 +-
 .../Widget/Model/Config/FileResolverTest.php  |     6 +-
 .../Widget/Model/Config/ReaderTest.php        |    20 +-
 .../Widget/Model/Widget/ConfigTest.php        |     2 +-
 .../Widget/Model/Widget/InstanceTest.php      |     2 +-
 .../Magento/Widget/Model/WidgetTest.php       |    12 +-
 .../Magento/Wishlist/Block/AbstractTest.php   |     2 +-
 .../Customer/Wishlist/Item/ColumnTest.php     |     5 +-
 .../Customer/Wishlist/Item/OptionsTest.php    |     2 +-
 .../Block/Customer/Wishlist/ItemsTest.php     |     2 +-
 .../mage/suggest/tree-suggest-test.js         |    27 -
 .../Magento/TestFramework/Application.php     |     2 +-
 .../Magento/TestFramework/Utility/Classes.php |    33 +-
 .../Magento/TestFramework/Utility/Files.php   |    68 +-
 dev/tests/static/phpunit.xml.dist             |     3 -
 .../Magento/Test/Integrity/ClassesTest.php    |    51 +-
 .../Test/Integrity/Di/ConfigurationTest.php   |   104 +
 .../Test/Integrity/NamespaceBlacklist.php     |    80 -
 .../Test/Integrity/ReferenceBlacklist.php     |    65 -
 .../Integrity/_files/blacklist/namespace.txt  |    46 +
 .../Integrity/_files/blacklist/reference.txt  |    28 +
 .../Magento/Test/Legacy/ObsoleteCodeTest.php  |     2 +-
 .../Test/Legacy/_files/obsolete_classes.php   |    39 +-
 .../Legacy/_files/obsolete_config_nodes.php   |     4 +-
 .../Test/Legacy/_files/obsolete_constants.php |    15 +-
 .../Test/Legacy/_files/obsolete_methods.php   |    37 +-
 .../Legacy/_files/obsolete_properties.php     |    20 +-
 .../Test/Php/_files/blacklist/common.txt      |     3 -
 .../Php/_files/phpcpd/blacklist/common.txt    |     1 -
 .../Test/Php/_files/whitelist/common.txt      |    11 +-
 .../Magento/Test/Twig/TwigExtensionTest.php   |    57 -
 .../Magento/Test/Block/Adminhtml.php          |    18 +-
 .../Helper/ObjectManagerTest.php              |    14 +-
 .../Model/System/Message/BaseurlTest.php      |     2 +-
 .../System/Message/CacheOutdatedTest.php      |     2 +-
 .../Adminhtml/Controller/CacheTest.php        |    14 +-
 .../Adminhtml/Controller/CustomerTest.php     |    12 +-
 .../Controller/Sales/Order/CreditmemoTest.php |    10 +-
 .../Controller/System/AccountTest.php         |    10 +-
 .../Magento/Adminhtml/DashboardTest.php       |    86 +-
 .../Magento/App/Action/ForwardTest.php        |    55 +
 .../testsuite/Magento/App/AreaListTest.php    |    95 +
 .../Model => App}/Dir/VerificationTest.php    |    28 +-
 .../Magento/App/FrontControllerTest.php       |   105 +
 .../Module/Declaration/Converter/DomTest.php  |     6 +-
 .../_files/converted_valid_module.php         |     0
 .../Converter/_files/valid_module.xml         |     0
 .../app/code/Module/Four/etc/module.xml       |     0
 .../_files/app/code/Module/One/etc/module.xml |     0
 .../app/code/Module/Three/etc/module.xml      |     0
 .../_files/app/code/Module/Two/etc/module.xml |     0
 .../_files/app/etc/custom/module.xml          |     0
 .../Module/Declaration/FileResolverTest.php   |    12 +-
 .../Declaration/Reader/FilesystemTest.php     |    18 +-
 .../Module/Dir/ReverseResolverTest.php        |    14 +-
 .../{Core/Model => App}/Module/DirTest.php    |    12 +-
 .../Module/data/module_first_setup/.gitignore |     0
 .../data/module_second_setup/.gitignore       |     0
 .../Module/sql/module_first_setup/.gitignore  |     0
 .../Module/ResourceResolverTest.php           |     6 +-
 .../Magento/App/Request/HttpTest.php          |   255 +
 .../Magento/App/Response/HttpTest.php}        |    36 +-
 .../Magento/App/ResponseFactoryTest.php       |    60 +
 .../{Core/Model/Db => App}/UpdaterTest.php    |    31 +-
 .../App/Area/FrontNameResolverTest.php        |    65 +
 .../Area/Request/PathInfoProcessorTest.php    |    83 +
 .../Backend/Block/Store/SwitcherTest.php      |    68 +-
 .../Backend/Block/System/Config/EditTest.php  |     2 +-
 .../System/Config/Form/Field/ExportTest.php   |     2 +-
 .../Block/System/Config/Form/FieldsetTest.php |     2 +-
 .../Backend/Block/System/Config/FormTest.php  |     2 +-
 .../Backend/Block/System/Config/TabsTest.php  |     2 +-
 .../Grid/Column/Renderer/CurrencyTest.php     |    66 +-
 .../Block/Widget/Grid/MassactionTest.php      |     4 +-
 .../Block/Widget/Grid/SerializerTest.php      |     4 +-
 .../Magento/Backend/Block/Widget/GridTest.php |    39 +-
 .../Adminhtml/System/Config/SaveTest.php      |    16 +-
 .../Magento/Backend/Helper/DataTest.php       |    75 +-
 .../Magento/Backend/Model/AuthTest.php        |    86 +
 .../Model/Config/Backend/BaseurlTest.php      |     4 +-
 .../Model/Config/Backend/EncryptedTest.php    |     2 +-
 .../Model/Config/Backend/SecureTest.php       |     4 +-
 .../Backend/Model/Config/ScopeDefinerTest.php |     2 +-
 .../Config/Structure/Element/FieldTest.php    |     2 +-
 .../Magento/Backend/Model/ConfigTest.php      |     2 +-
 .../Magento/Backend/Model/Menu/ConfigTest.php |     2 +-
 .../Magento/Backend/Model/Menu/ItemTest.php   |     2 +-
 .../Model/Router/NoRouteHandlerTest.php       |    16 +-
 .../Magento/Backend/Model/UrlTest.php         |    56 +-
 .../testsuite/Magento/Backup/MediaTest.php    |     4 +-
 .../testsuite/Magento/Backup/NomediaTest.php  |     2 +-
 .../testsuite/Magento/Backup/SnapshotTest.php |     2 +-
 .../Magento/Captcha/Helper/DataTest.php       |     6 +-
 .../Magento/Captcha/Model/ObserverTest.php    |     6 +-
 .../Magento/Catalog/Model/ObserverTest.php    |     2 +-
 .../Product/Attribute/Backend/MediaTest.php   |     4 +-
 .../Model/Product/Type/ConfigurableTest.php   |     2 +-
 .../Model/Product/Type/GroupedTest.php        |     2 +-
 .../Catalog/Model/Product/Type/SimpleTest.php |     2 +-
 .../Model/Product/Type/VirtualTest.php        |     2 +-
 .../Model/Resource/Category/TreeTest.php      |     2 +-
 .../CatalogRule/Model/Rule/JobTest.php        |     2 +-
 .../Checkout/Block/Cart/Item/RendererTest.php |     2 +-
 .../Magento/Checkout/Block/Cart/LinkTest.php  |     2 +-
 .../Magento/Checkout/Block/LinkTest.php       |     2 +-
 .../Magento/Checkout/Controller/CartTest.php  |     6 +-
 .../Cms/Model/Wysiwyg/Images/StorageTest.php  |     4 +-
 .../Magento/Config/Reader/FilesystemTest.php  |     4 +-
 .../Magento/Config/ValidationStateTest.php    |     6 +-
 .../Area/Request/PathInfoProcessorTest.php    |   111 +
 .../FrontController/Plugin/InstallTest.php    |    78 +
 .../Plugin/RequestPreprocessorTest.php        |   158 +
 .../Core/App/Request/RewriteServiceTest.php   |    82 +
 .../Magento/Core/Block/AbstractBlockTest.php  |     2 +-
 .../Magento/Core/Block/TemplateTest.php       |   130 +-
 .../Core/Controller/Request/HttpTest.php      |    13 +-
 .../Core/Controller/Response/HttpTest.php     |    14 +-
 .../Controller/Varien/AbstractActionTest.php  |    30 +-
 .../Controller/Varien/Action/FactoryTest.php  |     6 +-
 .../Controller/Varien/Action/ForwardTest.php  |    23 +-
 .../Controller/Varien/Action/RedirectTest.php |    23 +-
 .../Magento/Core/Helper/CookieTest.php        |    12 +-
 .../testsuite/Magento/Core/Helper/CssTest.php |     2 +-
 .../Magento/Core/Helper/HttpTest.php          |     4 +-
 .../Magento/Core/Helper/ThemeTest.php         |    68 +-
 .../Magento/Core/Model/App/StateTest.php      |    14 +-
 .../testsuite/Magento/Core/Model/AppTest.php  |    30 +-
 .../Core/Model/Cache/Frontend/FactoryTest.php |     6 +-
 .../Magento/Core/Model/Cache/StateTest.php    |     2 +-
 .../Model/Config/FileResolver/PrimaryTest.php |     4 +-
 .../Core/Model/Config/FileResolverTest.php    |     4 +-
 .../Core/Model/Config/Modules/ReaderTest.php  |    13 +-
 .../Magento/Core/Model/Config/PrimaryTest.php |     6 +-
 .../Section/Processor/PlaceholderTest.php     |     2 +-
 .../Section/Reader/DefaultReaderTest.php      |     2 +-
 .../Model/Config/Section/Reader/StoreTest.php |     2 +-
 .../Config/Section/Reader/WebsiteTest.php     |     2 +-
 .../Magento/Core/Model/ConfigTest.php         |     4 +-
 .../Model/DataService/Path/RequestTest.php    |     5 +-
 .../Model/Design/Fallback/FactoryTest.php     |    12 +-
 .../Model/Design/Fallback/Rule/ThemeTest.php  |     4 +-
 .../FileResolution/Strategy/FallbackTest.php  |     4 +-
 .../FileResolution/StrategyPoolTest.php       |    14 +-
 .../testsuite/Magento/Core/Model/DirTest.php  |    64 +-
 .../Email/Template/Config/ReaderTest.php      |     4 +-
 .../Core/Model/EntryPoint/CronTest.php        |     8 +-
 .../Core/Model/EntryPoint/MediaTest.php       |     8 +-
 .../Core/Model/File/Storage/RequestTest.php   |     2 +-
 .../Layout/Argument/AbstractHandlerTest.php   |     4 +-
 .../Layout/Argument/Handler/ArrayTest.php     |     4 +-
 .../Layout/Argument/Handler/BooleanTest.php   |     4 +-
 .../Layout/Argument/Handler/HelperTest.php    |     4 +-
 .../Layout/Argument/Handler/NumberTest.php    |     4 +-
 .../Layout/Argument/Handler/ObjectTest.php    |     4 +-
 .../Layout/Argument/Handler/OptionsTest.php   |     4 +-
 .../Layout/Argument/Handler/StringTest.php    |     4 +-
 .../Model/Layout/Argument/Handler/UrlTest.php |     4 +-
 .../Model/Layout/Argument/ProcessorTest.php   |     2 +-
 .../Core/Model/Layout/File/FactoryTest.php    |     2 +-
 .../Core/Model/Layout/File/ListTest.php       |     4 +-
 .../Layout/File/Source/AggregateTest.php      |     4 +-
 .../Model/Layout/File/Source/BaseTest.php     |     4 +-
 .../Source/Decorator/ModuleDependencyTest.php |     4 +-
 .../Source/Decorator/ModuleOutputTest.php     |     2 +-
 .../Layout/File/Source/Override/BaseTest.php  |     4 +-
 .../Layout/File/Source/Override/ThemeTest.php |    10 +-
 .../Model/Layout/File/Source/ThemeTest.php    |     4 +-
 .../Magento/Core/Model/Layout/FileTest.php    |     2 +-
 .../Magento/Core/Model/Layout/MergeTest.php   |     4 +-
 .../Hierarchy/Config/FileResolverTest.php     |     6 +-
 .../Magento/Core/Model/LoggerTest.php         |     4 +-
 .../Magento/Core/Model/ModuleManagerTest.php  |     2 +-
 .../Core/Model/NoRouteHandlerListTest.php     |    16 +-
 .../Magento/Core/Model/ObserverTest.php       |     2 +-
 .../Model/Page/Asset/MergeServiceTest.php     |    18 +-
 .../Page/Asset/MergeStrategy/DirectTest.php   |     2 +-
 .../Core/Model/Page/Asset/MergedTest.php      |     2 +-
 .../Model/Page/Asset/MinifyServiceTest.php    |    12 +-
 .../Core/Model/Resource/Db/AbstractTest.php   |     2 +-
 .../Resource/Layout/Link/CollectionTest.php   |     2 +-
 .../Resource/Layout/Update/CollectionTest.php |     2 +-
 .../Core/Model/Resource/SessionTest.php       |     2 +-
 .../Model/Resource/Setup/MigrationTest.php    |    12 +-
 .../Magento/Core/Model/RouterListTest.php     |     4 +-
 .../Core/Model/Store/StorageFactoryTest.php   |    10 +-
 .../Magento/Core/Model/StoreManagerTest.php   |     2 +-
 .../Decorator/DebugHintsTest.php              |    57 +
 .../Core/Model/TemplateEngine/FactoryTest.php |    86 +-
 .../TemplateEngine/Plugin/DebugHintsTest.php  |   123 +
 .../Core/Model/TemplateEngine/PoolTest.php    |    58 +
 .../Twig/CommonFunctionsTest.php              |   220 -
 .../Twig/EnvironmentFactoryTest.php           |   115 -
 .../TemplateEngine/Twig/ExtensionTest.php     |   113 -
 .../TemplateEngine/Twig/FullFileNameTest.php  |   151 -
 .../Twig/LayoutFunctionsTest.php              |   214 -
 .../Twig/_files/twig_templates/READEME.txt    |     2 -
 .../Core/Model/TemplateEngine/TwigTest.php    |   100 -
 .../Magento/Core/Model/TemplateTest.php       |     2 +-
 .../Core/Model/Theme/CopyServiceTest.php      |     2 +-
 .../Model/Theme/Customization/PathTest.php    |     8 +-
 .../Core/Model/Theme/Domain/PhysicalTest.php  |     2 +-
 .../Core/Model/Theme/Image/PathTest.php       |     4 +-
 .../testsuite/Magento/Core/Model/UrlTest.php  |    19 +-
 .../Core/Model/View/Design/ProxyTest.php      |     4 +-
 .../Core/Model/View/FileSystemTest.php        |     6 +-
 .../Magento/Core/Model/View/UrlTest.php       |     8 +-
 .../Magento/Cron/Model/ObserverTest.php       |    30 +-
 .../Magento/Customer/Model/CustomerTest.php   |     6 +-
 .../Magento/Customer/Service/CustomerTest.php |     2 +-
 .../Block/Adminhtml/Editor/ContainerTest.php  |     2 +-
 .../Editor/Tools/Files/ContentTest.php        |     4 +-
 .../Adminhtml/System/Design/EditorTest.php    |     8 +-
 .../Controller/Varien/Router/StandardTest.php |    97 +-
 .../Magento/DesignEditor/Helper/DataTest.php  |     3 +-
 .../Magento/DesignEditor/Model/StateTest.php  |     2 +-
 .../DesignEditor/Model/Theme/ContextTest.php  |     2 +-
 .../Model/Url/NavigationModeTest.php          |    95 +-
 .../Model/Currency/DefaultLocatorTest.php     |     2 +-
 .../Model/Resource/Country/CollectionTest.php |     2 +-
 .../Downloadable/Model/Product/TypeTest.php   |     2 +-
 .../Model => }/Event/Config/ConverterTest.php |     8 +-
 .../Model => }/Event/Config/DataTest.php      |    10 +-
 .../Event/Config/SchemaLocatorTest.php        |    20 +-
 .../{Core/Model => }/Event/Config/XsdTest.php |     4 +-
 .../Config}/_files/event_config.php           |     0
 .../Config}/_files/event_config.xml           |     0
 .../Config}/_files/event_invalid_config.xml   |     0
 .../Config/_files/invalidEventsXmlArray.php   |     0
 .../Event/Config/_files/valid_events.xml      |     0
 .../Magento/Event/EventFactoryTest.php        |    59 +
 .../Event/Invoker/InvokerDefaultTest.php      |    14 +-
 .../{Core/Model => }/Event/ManagerStub.php    |     4 +-
 .../{Core/Model => }/Event/ManagerTest.php    |    28 +-
 .../Model/Observer/Block/Category/TabTest.php |     2 +-
 .../Model/Observer/Category/SaveTest.php      |     2 +-
 .../Model/Observer/CmsPage/DeleteTest.php     |     2 +-
 .../Model/Observer/CmsPage/SaveTest.php       |     2 +-
 .../Model/Observer/Product/SaveTest.php       |     2 +-
 .../Block/SiteVerificationTest.php            |     2 +-
 .../Magento/Http/Handler/CompositeTest.php    |   116 -
 .../Magento/ImportExport/Model/ExportTest.php |     2 +-
 .../Magento/Index/Model/Lock/StorageTest.php  |     4 +-
 .../Install/Model/EntryPoint/ConsoleTest.php  |     4 +-
 .../Install/Model/EntryPoint/UpgradeTest.php  |     8 +-
 .../Install/Model/Installer/ConfigTest.php    |     4 +-
 .../testsuite/Magento/Log/Model/ShellTest.php |     2 +-
 .../Magento/Newsletter/Model/TemplateTest.php |     4 +-
 .../Magento/Oauth/Helper/DataTest.php         |    10 +-
 .../Magento/Oauth/Helper/ServiceTest.php      |     4 +-
 .../Mapper/_files/mapped_simple_di_config.php |     4 +-
 .../Config/Mapper/_files/simple_di_config.xml |     4 +-
 .../testsuite/Magento/Ogone/Model/ApiTest.php |     4 +-
 .../Magento/Page/Block/Html/HeaderTest.php    |     6 +-
 .../Magento/Page/Block/Link/CurrentTest.php   |   111 +-
 .../Magento/Page/Block/SwitchTest.php         |    53 +-
 .../Payment/Model/Method/BanktransferTest.php |     2 +-
 .../Model/Method/CashondeliveryTest.php       |     2 +-
 .../Block/Recurring/Profile/GridTest.php      |     6 +-
 .../Profile/Related/Orders/GridTest.php       |     6 +-
 .../RecurringProfile/FormRendererTest.php     |     3 +-
 .../Sales/Model/Order/Pdf/AbstractTest.php    |     2 +-
 .../Sales/Model/Order/Pdf/InvoiceTest.php     |     2 +-
 .../Model/Order/Pdf/Total/FactoryTest.php     |     2 +-
 .../Magento/Sales/Model/Order/StatusTest.php  |     4 +-
 .../Tools/View/Generator/CopyRuleTest.php     |     2 +-
 .../View/Generator/ThemeDeploymentTest.php    |     2 +-
 .../System/Design/Theme/Tab/CssTest.php       |     2 +-
 .../Adminhtml/Wysiwyg/Files/ContentTest.php   |     4 +-
 .../Adminhtml/System/Design/ThemeTest.php     |     4 +-
 .../Magento/Theme/Helper/StorageTest.php      |     4 +-
 .../Theme/Model/Config/CustomizationTest.php  |     4 +-
 .../Magento/Theme/Model/ConfigTest.php        |     2 +-
 .../testsuite/Magento/User/Model/UserTest.php |     2 +-
 .../Model => View}/Layout/ElementTest.php     |     6 +-
 .../Block/Adminhtml/Role/Edit/TabsTest.php    |     4 +-
 .../Webapi/Block/Adminhtml/Role/EditTest.php  |     5 +-
 .../Webapi/Block/Adminhtml/User/EditTest.php  |     5 +-
 .../Webapi/Controller/Rest/RequestTest.php    |    13 +-
 .../Webapi/Controller/Rest/RouterTest.php     |    14 +-
 .../Magento/Webapi/Controller/RestTest.php    |    12 +-
 .../Webapi/Controller/Soap/RequestTest.php    |    13 +-
 .../Magento/Webapi/Controller/SoapTest.php    |    12 +-
 .../Model/Acl/Role/InRoleUserUpdaterTest.php  |     2 +-
 .../Model/Acl/Role/UsersUpdaterTest.php       |     4 +-
 .../Magento/Webapi/Model/Acl/RoleTest.php     |     4 +-
 .../Magento/Webapi/Model/Acl/RuleTest.php     |     4 +-
 .../Webapi/Model/Acl/User/RoleUpdaterTest.php |     2 +-
 .../Magento/Webapi/Model/Acl/UserTest.php     |     4 +-
 .../Magento/Webapi/Model/Soap/ConfigTest.php  |     2 +-
 .../Magento/Webapi/Model/Soap/ServerTest.php  |    13 +-
 .../Adminhtml/Webhook/RegistrationTest.php    |     8 +-
 .../Adminhtml/Webhook/SubscriptionTest.php    |    11 +-
 .../Magento/Webhook/Model/EndpointTest.php    |     2 +-
 .../Magento/Webhook/Model/EventTest.php       |     2 +-
 .../Model/Resource/Event/CollectionTest.php   |     4 +-
 .../Model/Resource/Job/CollectionTest.php     |     4 +-
 .../Resource/Subscription/CollectionTest.php  |     8 +-
 .../Subscription/Grid/CollectionTest.php      |     2 +-
 .../Webhook/Model/SubscriptionTest.php        |     2 +-
 .../aliases_map/composite_modules_ce.php      |     7 +-
 .../Tools/Migration/get_aliases_map.php       |    13 +-
 .../Magento/Tools/View/Generator/Config.php   |     4 +-
 .../Magento/Tools/View/Generator/CopyRule.php |     2 +-
 .../Tools/View/Generator/ThemeLight.php       |    10 +-
 dev/tools/Magento/Tools/View/generator.php    |     2 +-
 .../app/Magento/Downloader/Controller.php     |     6 +-
 .../Magento/App/Action}/AbstractAction.php    |    33 +-
 .../Magento/App/Action}/Exception.php         |    21 +-
 .../Magento/App}/Action/Forward.php           |    16 +-
 .../Magento/App}/Action/Redirect.php          |    19 +-
 .../Magento/App/ActionFactory.php             |    16 +-
 .../Magento/App/ActionInterface.php           |    15 +-
 .../App/Area/FrontNameResolverFactory.php     |    51 +
 .../App/Area/FrontNameResolverInterface.php   |    15 +-
 lib/Magento/App/AreaList.php                  |    97 +
 .../Core/Model => lib/Magento/App}/Dir.php    |     2 +-
 .../Magento/App}/Dir/Verification.php         |    44 +-
 lib/Magento/App/FrontController.php           |   183 +
 lib/Magento/App/FrontControllerInterface.php  |    36 +
 .../App}/Module/Declaration/Converter/Dom.php |     2 +-
 .../App}/Module/Declaration/FileResolver.php  |    12 +-
 .../Module/Declaration/Reader/Filesystem.php  |    16 +-
 .../App}/Module/Declaration/SchemaLocator.php |     4 +-
 .../Model => lib/Magento/App}/Module/Dir.php  |    10 +-
 .../App}/Module/Dir/ReverseResolver.php       |    14 +-
 .../Magento/App}/Module/ResourceResolver.php  |     4 +-
 .../App}/Module/ResourceResolverInterface.php |     4 +-
 .../Model => lib/Magento/App}/ModuleList.php  |     8 +-
 .../Magento/App}/ModuleListInterface.php      |     2 +-
 .../Magento/App}/Request/Http.php             |   109 +-
 .../Request/PathInfoProcessorInterface.php    |    38 +
 .../Magento/App/RequestFactory.php            |    23 +-
 lib/Magento/App/RequestInterface.php          |    66 +
 lib/Magento/App/Response/Http.php             |    47 +
 lib/Magento/App/ResponseFactory.php           |    53 +
 lib/Magento/App/ResponseInterface.php         |    34 +
 .../Magento/App}/Router/AbstractRouter.php    |    34 +-
 .../Magento/App}/Router/DefaultRouter.php     |    26 +-
 .../App/Router}/NoRouteHandlerList.php        |     3 +-
 .../Model => lib/Magento/App}/RouterList.php  |    10 +-
 lib/Magento/App/RouterListInterface.php       |    53 +
 .../Core/Model => lib/Magento}/App/State.php  |     9 +-
 .../Model/Db => lib/Magento/App}/Updater.php  |    78 +-
 lib/Magento/App/Updater/SetupFactory.php      |    72 +
 .../Magento/App/Updater}/SetupInterface.php   |     7 +-
 .../Magento/App}/UpdaterInterface.php         |     2 +-
 .../Core => lib/Magento/App}/etc/module.xsd   |     0
 .../Appl}/Router/NoRouteHandlerInterface.php  |     6 +-
 lib/Magento/Backup/Snapshot.php               |     6 +-
 lib/Magento/Code/Generator/Io.php             |     2 +-
 .../Model => lib/Magento}/Config/Scope.php    |    25 +-
 lib/Magento/Config/ScopeInterface.php         |     7 +
 lib/Magento/DB/Adapter/Pdo/Mysql.php          |     8 +-
 .../Data/Form/Element/AbstractElement.php     |     2 +-
 lib/Magento/Data/Form/Element/Image.php       |     6 +-
 lib/Magento/Event.php                         |     2 +-
 .../Model => lib/Magento}/Event/Config.php    |    10 +-
 .../Magento}/Event/Config/Converter.php       |     2 +-
 .../Magento}/Event/Config/Data.php            |    12 +-
 .../Magento}/Event/Config/Reader.php          |    10 +-
 lib/Magento/Event/Config/SchemaLocator.php    |    49 +
 .../Magento}/Event/ConfigInterface.php        |     2 +-
 .../Magento}/Event/Invoker/InvokerDefault.php |    18 +-
 .../Magento}/Event/InvokerInterface.php       |     2 +-
 .../Model => lib/Magento}/Event/Manager.php   |    34 +-
 lib/Magento/Event/ManagerInterface.php        |    38 +
 lib/Magento/Event/Observer.php                |    12 +-
 .../Magento/Event}/ObserverFactory.php        |     6 +-
 .../WrapperFactory.php}                       |    22 +-
 .../Core => lib/Magento/Event}/etc/events.xsd |     0
 .../Magento/EventFactory.php                  |    41 +-
 lib/Magento/HTTP/Handler/Composite.php        |    88 -
 lib/Magento/HTTP/HandlerInterface.php         |    37 -
 .../Interception/PluginList/PluginList.php    |     5 +
 .../Model => lib/Magento}/UrlInterface.php    |    46 +-
 lib/Magento/View/ConfigInterface.php          |    41 +
 .../Magento/View/Design}/ThemeInterface.php   |    19 +-
 .../Magento}/View/DesignInterface.php         |    19 +-
 .../Magento/View/Element/BlockInterface.php   |    11 +-
 .../Magento/View}/Layout/Element.php          |    77 +-
 lib/Magento/View/Layout/ProcessorFactory.php  |    70 +
 .../View/Layout/ProcessorInterface.php        |   145 +
 lib/Magento/View/LayoutFactory.php            |    70 +
 lib/Magento/View/LayoutInterface.php          |   333 +
 lib/Twig/AUTHORS                              |     9 -
 lib/Twig/Autoloader.php                       |    48 -
 lib/Twig/Compiler.php                         |   267 -
 lib/Twig/CompilerInterface.php                |    35 -
 lib/Twig/Environment.php                      |  1224 --
 lib/Twig/Error.php                            |   232 -
 lib/Twig/Error/Loader.php                     |    31 -
 lib/Twig/Error/Runtime.php                    |    20 -
 lib/Twig/Error/Syntax.php                     |    20 -
 lib/Twig/ExistsLoaderInterface.php            |    28 -
 lib/Twig/ExpressionParser.php                 |   600 -
 lib/Twig/Extension.php                        |    93 -
 lib/Twig/Extension/Core.php                   |  1355 --
 lib/Twig/Extension/Debug.php                  |    71 -
 lib/Twig/Extension/Escaper.php                |   107 -
 lib/Twig/Extension/Optimizer.php              |    35 -
 lib/Twig/Extension/Sandbox.php                |   112 -
 lib/Twig/Extension/Staging.php                |   113 -
 lib/Twig/Extension/StringLoader.php           |    64 -
 lib/Twig/ExtensionInterface.php               |    83 -
 lib/Twig/Filter.php                           |    83 -
 lib/Twig/Filter/Function.php                  |    37 -
 lib/Twig/Filter/Method.php                    |    39 -
 lib/Twig/Filter/Node.php                      |    39 -
 lib/Twig/FilterCallableInterface.php          |    23 -
 lib/Twig/FilterInterface.php                  |    42 -
 lib/Twig/Function.php                         |    71 -
 lib/Twig/Function/Function.php                |    38 -
 lib/Twig/Function/Method.php                  |    40 -
 lib/Twig/Function/Node.php                    |    39 -
 lib/Twig/FunctionCallableInterface.php        |    23 -
 lib/Twig/FunctionInterface.php                |    39 -
 lib/Twig/LICENSE                              |    31 -
 lib/Twig/Lexer.php                            |   408 -
 lib/Twig/LexerInterface.php                   |    29 -
 lib/Twig/Loader/Array.php                     |    98 -
 lib/Twig/Loader/Chain.php                     |   135 -
 lib/Twig/Loader/Filesystem.php                |   221 -
 lib/Twig/Loader/String.php                    |    59 -
 lib/Twig/LoaderInterface.php                  |    52 -
 lib/Twig/Markup.php                           |    37 -
 lib/Twig/Node.php                             |   226 -
 lib/Twig/Node/AutoEscape.php                  |    39 -
 lib/Twig/Node/Block.php                       |    44 -
 lib/Twig/Node/BlockReference.php              |    37 -
 lib/Twig/Node/Body.php                        |    19 -
 lib/Twig/Node/Do.php                          |    38 -
 lib/Twig/Node/Embed.php                       |    38 -
 lib/Twig/Node/Expression.php                  |    20 -
 lib/Twig/Node/Expression/Array.php            |    86 -
 lib/Twig/Node/Expression/AssignName.php       |    28 -
 lib/Twig/Node/Expression/Binary.php           |    40 -
 lib/Twig/Node/Expression/Binary/Add.php       |    18 -
 lib/Twig/Node/Expression/Binary/And.php       |    18 -
 .../Node/Expression/Binary/BitwiseAnd.php     |    18 -
 lib/Twig/Node/Expression/Binary/BitwiseOr.php |    18 -
 .../Node/Expression/Binary/BitwiseXor.php     |    18 -
 lib/Twig/Node/Expression/Binary/Concat.php    |    18 -
 lib/Twig/Node/Expression/Binary/Div.php       |    18 -
 lib/Twig/Node/Expression/Binary/Equal.php     |    17 -
 lib/Twig/Node/Expression/Binary/FloorDiv.php  |    29 -
 lib/Twig/Node/Expression/Binary/Greater.php   |    17 -
 .../Node/Expression/Binary/GreaterEqual.php   |    17 -
 lib/Twig/Node/Expression/Binary/In.php        |    33 -
 lib/Twig/Node/Expression/Binary/Less.php      |    17 -
 lib/Twig/Node/Expression/Binary/LessEqual.php |    17 -
 lib/Twig/Node/Expression/Binary/Mod.php       |    18 -
 lib/Twig/Node/Expression/Binary/Mul.php       |    18 -
 lib/Twig/Node/Expression/Binary/NotEqual.php  |    17 -
 lib/Twig/Node/Expression/Binary/NotIn.php     |    33 -
 lib/Twig/Node/Expression/Binary/Or.php        |    18 -
 lib/Twig/Node/Expression/Binary/Power.php     |    33 -
 lib/Twig/Node/Expression/Binary/Range.php     |    33 -
 lib/Twig/Node/Expression/Binary/Sub.php       |    18 -
 lib/Twig/Node/Expression/BlockReference.php   |    51 -
 lib/Twig/Node/Expression/Call.php             |   178 -
 lib/Twig/Node/Expression/Conditional.php      |    31 -
 lib/Twig/Node/Expression/Constant.php         |    23 -
 .../Node/Expression/ExtensionReference.php    |    33 -
 lib/Twig/Node/Expression/Filter.php           |    36 -
 lib/Twig/Node/Expression/Filter/Default.php   |    43 -
 lib/Twig/Node/Expression/Function.php         |    35 -
 lib/Twig/Node/Expression/GetAttr.php          |    53 -
 lib/Twig/Node/Expression/MethodCall.php       |    41 -
 lib/Twig/Node/Expression/Name.php             |    88 -
 lib/Twig/Node/Expression/Parent.php           |    47 -
 lib/Twig/Node/Expression/TempName.php         |    26 -
 lib/Twig/Node/Expression/Test.php             |    32 -
 lib/Twig/Node/Expression/Test/Constant.php    |    35 -
 lib/Twig/Node/Expression/Test/Defined.php     |    54 -
 lib/Twig/Node/Expression/Test/Divisibleby.php |    33 -
 lib/Twig/Node/Expression/Test/Even.php        |    32 -
 lib/Twig/Node/Expression/Test/Null.php        |    31 -
 lib/Twig/Node/Expression/Test/Odd.php         |    32 -
 lib/Twig/Node/Expression/Test/Sameas.php      |    29 -
 lib/Twig/Node/Expression/Unary.php            |    30 -
 lib/Twig/Node/Expression/Unary/Neg.php        |    18 -
 lib/Twig/Node/Expression/Unary/Not.php        |    18 -
 lib/Twig/Node/Expression/Unary/Pos.php        |    18 -
 lib/Twig/Node/Flush.php                       |    36 -
 lib/Twig/Node/For.php                         |   112 -
 lib/Twig/Node/ForLoop.php                     |    55 -
 lib/Twig/Node/If.php                          |    66 -
 lib/Twig/Node/Import.php                      |    50 -
 lib/Twig/Node/Include.php                     |    99 -
 lib/Twig/Node/Macro.php                       |    96 -
 lib/Twig/Node/Module.php                      |   371 -
 lib/Twig/Node/Print.php                       |    39 -
 lib/Twig/Node/Sandbox.php                     |    47 -
 lib/Twig/Node/SandboxedModule.php             |    60 -
 lib/Twig/Node/SandboxedPrint.php              |    59 -
 lib/Twig/Node/Set.php                         |   101 -
 lib/Twig/Node/SetTemp.php                     |    35 -
 lib/Twig/Node/Spaceless.php                   |    40 -
 lib/Twig/Node/Text.php                        |    39 -
 lib/Twig/NodeInterface.php                    |    30 -
 lib/Twig/NodeOutputInterface.php              |    19 -
 lib/Twig/NodeTraverser.php                    |    88 -
 lib/Twig/NodeVisitor/Escaper.php              |   167 -
 lib/Twig/NodeVisitor/Optimizer.php            |   246 -
 lib/Twig/NodeVisitor/SafeAnalysis.php         |   133 -
 lib/Twig/NodeVisitor/Sandbox.php              |    92 -
 lib/Twig/NodeVisitorInterface.php             |    47 -
 lib/Twig/Parser.php                           |   394 -
 lib/Twig/ParserInterface.php                  |    28 -
 lib/Twig/Sandbox/SecurityError.php            |    19 -
 lib/Twig/Sandbox/SecurityPolicy.php           |   119 -
 lib/Twig/Sandbox/SecurityPolicyInterface.php  |    24 -
 lib/Twig/SimpleFilter.php                     |    96 -
 lib/Twig/SimpleFunction.php                   |    84 -
 lib/Twig/SimpleTest.php                       |    46 -
 lib/Twig/Template.php                         |   455 -
 lib/Twig/TemplateInterface.php                |    47 -
 lib/Twig/Test.php                             |    34 -
 lib/Twig/Test/Function.php                    |    35 -
 lib/Twig/Test/IntegrationTestCase.php         |   154 -
 lib/Twig/Test/Method.php                      |    37 -
 lib/Twig/Test/Node.php                        |    37 -
 lib/Twig/Test/NodeTestCase.php                |    58 -
 lib/Twig/TestCallableInterface.php            |    21 -
 lib/Twig/TestInterface.php                    |    26 -
 lib/Twig/Token.php                            |   218 -
 lib/Twig/TokenParser.php                      |    33 -
 lib/Twig/TokenParser/AutoEscape.php           |    89 -
 lib/Twig/TokenParser/Block.php                |    83 -
 lib/Twig/TokenParser/Do.php                   |    42 -
 lib/Twig/TokenParser/Embed.php                |    66 -
 lib/Twig/TokenParser/Extends.php              |    54 -
 lib/Twig/TokenParser/Filter.php               |    61 -
 lib/Twig/TokenParser/Flush.php                |    42 -
 lib/Twig/TokenParser/For.php                  |   136 -
 lib/Twig/TokenParser/From.php                 |    74 -
 lib/Twig/TokenParser/If.php                   |    94 -
 lib/Twig/TokenParser/Import.php               |    49 -
 lib/Twig/TokenParser/Include.php              |    80 -
 lib/Twig/TokenParser/Macro.php                |    70 -
 lib/Twig/TokenParser/Sandbox.php              |    68 -
 lib/Twig/TokenParser/Set.php                  |    84 -
 lib/Twig/TokenParser/Spaceless.php            |    59 -
 lib/Twig/TokenParser/Use.php                  |    84 -
 lib/Twig/TokenParserBroker.php                |   138 -
 lib/Twig/TokenParserBrokerInterface.php       |    45 -
 lib/Twig/TokenParserInterface.php             |    41 -
 lib/Twig/TokenStream.php                      |   144 -
 pub/index.php                                 |     2 +-
 pub/lib/mage/adminhtml/varienLoader.js        |     4 +-
 pub/lib/mage/calendar.js                      |     6 +
 pub/lib/mage/loader.js                        |     3 +-
 1884 files changed, 63839 insertions(+), 24990 deletions(-)
 create mode 100644 app/code/Magento/Backend/App/Area/FrontNameResolver.php
 create mode 100644 app/code/Magento/Backend/App/Request/PathInfoProcessor.php
 rename app/code/Magento/Backend/{Model => App}/Router/NoRouteHandler.php (87%)
 delete mode 100644 app/code/Magento/Backend/Model/Config/Backend/Admin/Usecustompath.php
 create mode 100644 app/code/Magento/Core/App/FrontController/Plugin/Install.php
 create mode 100644 app/code/Magento/Core/App/FrontController/Plugin/RequestPreprocessor.php
 create mode 100644 app/code/Magento/Core/App/Request/PathInfoProcessor.php
 create mode 100644 app/code/Magento/Core/App/Request/RewriteService.php
 rename app/code/Magento/Core/{Model => App}/Router/NoRouteHandler.php (88%)
 delete mode 100644 app/code/Magento/Core/Controller/Front/Router.php
 delete mode 100644 app/code/Magento/Core/Controller/Request/HttpProxy.php
 delete mode 100644 app/code/Magento/Core/Controller/Response/Http.php
 delete mode 100644 app/code/Magento/Core/Controller/Varien/Front.php
 delete mode 100644 app/code/Magento/Core/Model/App/Proxy.php
 delete mode 100644 app/code/Magento/Core/Model/Event/Config/SchemaLocator.php
 create mode 100644 app/code/Magento/Core/Model/TemplateEngine/Decorator/DebugHints.php
 create mode 100644 app/code/Magento/Core/Model/TemplateEngine/Plugin/DebugHints.php
 rename app/code/Magento/Core/Model/{App/Handler.php => TemplateEngine/Pool.php} (57%)
 delete mode 100644 app/code/Magento/Core/Model/TemplateEngine/Twig.php
 delete mode 100644 app/code/Magento/Core/Model/TemplateEngine/Twig/CommonFunctions.php
 delete mode 100644 app/code/Magento/Core/Model/TemplateEngine/Twig/EnvironmentFactory.php
 delete mode 100644 app/code/Magento/Core/Model/TemplateEngine/Twig/Extension.php
 delete mode 100644 app/code/Magento/Core/Model/TemplateEngine/Twig/FullFileName.php
 delete mode 100644 app/code/Magento/Core/Model/TemplateEngine/Twig/LayoutFunctions.php
 rename app/code/Magento/{Core/Model => }/Url/Validator.php (98%)
 rename app/code/Magento/{CurrencySymbol/etc => Webapi/etc/webapi_rest}/di.xml (82%)
 create mode 100644 app/code/Magento/Webapi/etc/webapi_soap/di.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/backbutton.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/customize.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/summary.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/title.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/checkbox.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/multi.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/radio.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/select.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/options.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/js/slide.js
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/layout/override/catalog_product_view_type_bundle.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/layout/override/checkout_cart_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/layout/override/default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/layout/review_product_list.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/sales/order/creditmemo/items/renderer.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/sales/order/invoice/items/renderer.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/sales/order/items/renderer.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Bundle/sales/order/shipment/items/renderer.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Captcha/captcha.js
 create mode 100644 app/design/frontend/magento_plushe/Magento_Captcha/default.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Captcha/layout/override/checkout_onepage_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_create.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_forgotpassword.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_login.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Captcha/onepage.js
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/category/title.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/category/view.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/category/widget/link/link_block.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/category/widget/link/link_inline.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/js/list.js
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layer/filter.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layer/state.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layer/view.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_category_view.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_compare_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_view.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_view_type_grouped.xml
 rename app/{code/Magento/PageCache/etc/di.xml => design/frontend/magento_plushe/Magento_Catalog/layout/default.xml} (67%)
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view_type_default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view_type_layered.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_compare_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_configurable.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_grouped.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_simple.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_virtual.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/layout/override/default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/navigation/left.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/compare/link.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/compare/list.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/compare/sidebar.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/image.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/image_with_borders.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/list.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/list/items.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/list/toolbar.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/listing.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/addto.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/addtocart.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/attribute.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/attributes.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/base-image.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/description.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/details.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/form.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/gallery.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/mailto.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/options.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/js.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/date.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/default.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/file.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/select.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/text.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/wrapper.phtml
 rename dev/tests/unit/testsuite/Magento/Core/Block/_files/template_test_assign.phtml => app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/wrapper/bottom.phtml (88%)
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/price.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/price_clone.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/rating.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/tierprices.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/default.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/grouped.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/options/configurable.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/widget/link/link_block.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/widget/link/link_inline.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_default_list.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_images_list.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_names_list.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/content/new_grid.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/content/new_list.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_CatalogSearch/advanced/form.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_CatalogSearch/advanced/result.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_CatalogSearch/form.mini.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_advanced_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_advanced_result.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_result_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_term_popular.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/override/catalogsearch_result_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_CatalogSearch/result.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_CatalogSearch/term.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/cart.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/cart/coupon.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/cart/form.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/cart/item/configure/updatecart.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/cart/item/default.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/cart/methods.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/cart/minicart.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/cart/noItems.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/cart/shipping.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/cart/sidebar/default.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/cart/totals.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/js/opcheckout.js
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_cart_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editaddress.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editbilling.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editshipping.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newbilling.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newshipping.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_selectbilling.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_addresses.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_billing.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_overview.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_shipping.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_success.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_paymentmethod.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_review.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_cart_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_multishipping_customer_address.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_additional.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_failure.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_success.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/layout/override/default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/address/select.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/addresses.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/agreements.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing/items.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/item/default.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/link.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview/item.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/shipping.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/state.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/multishipping/success.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/billing.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/failure.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/link.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/login.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/payment.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/progress.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/button.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/info.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/item.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/totals.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method/available.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/success.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Checkout/total/default.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Cms/default/footerbanners.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Cms/default/home.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Cms/layout/override/default.xml
 rename dev/tests/unit/testsuite/Magento/Core/Model/Db/_files/config.xml => app/design/frontend/magento_plushe/Magento_Cms/layout/override/print.xml (93%)
 create mode 100644 app/design/frontend/magento_plushe/Magento_Contacts/form.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Contacts/layout/contacts_index_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Contacts/layout/override/default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Core/text.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/account/customer.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/address.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/hello.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/info.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/account/link/back.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/account/navigation.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/address/book.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/address/button.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/address/edit.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/form/address.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/form/changepassword.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/form/confirmation.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/form/edit.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/form/forgotpassword.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/form/login.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/form/newsletter.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/form/register.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/form/resetforgottenpassword.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/layout/customer_account.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/layout/default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_create.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_edit.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_forgotpassword.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_login.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_address_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/newcustomer.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/widget/dob.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/widget/gender.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/widget/name.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Customer/widget/taxvat.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_DesignEditor/controls/image_sizing.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_DesignEditor/controls/quick_styles.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Directory/currency.phtml
 rename dev/tests/integration/testsuite/Magento/Core/Model/TemplateEngine/_files/simple.twig => app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalog_category_view.xml (90%)
 create mode 100644 app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_advanced_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_advanced_result.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_result_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Directory/layout/override/default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/links.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/samples.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/type.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Downloadable/checkout/cart/item/default.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Downloadable/checkout/multishipping/item/default.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Downloadable/checkout/onepage/review/item.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Downloadable/checkout/onepage/review/item_down.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Downloadable/customer/products/list.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Downloadable/layout/override/catalog_product_view_type_downloadable.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Downloadable/layout/override/checkout_cart_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/invoice/items/renderer/downloadable.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/items/renderer/downloadable.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_GiftMessage/inline.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Newsletter/layout/override/default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Newsletter/layout/override/newsletter_manage_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Newsletter/subscribe.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/1column.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/2columns-left.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/2columns-right.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/3columns.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/blank.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/empty.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/html/block.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/html/breadcrumbs.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/html/copyright.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/html/head.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/html/header.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/html/notices.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/html/pager.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/html/title.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/html/topmenu.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/layout/default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/layout/override/default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/layout/override/print.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/link/current.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/page.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/popup.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/print.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/switch/languages.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Page/switch/stores.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_PageCache/layout/default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Paypal/express/review.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Paypal/express/review/address.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Paypal/express/review/details.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Paypal/express/review/shipping/method.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Paypal/express/shortcut.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Paypal/layout/override/catalog_product_view.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Paypal/layout/override/default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Persistent/layout/override/checkout_onepage_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Persistent/layout/override/customer_account_create.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Persistent/layout/override/customer_account_login.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Persistent/remember_me.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Persistent/remember_me_tooltip.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Rating/detailed.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Reports/layout/catalog_product_view.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Reports/layout/override/default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Reports/layout/override/print.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Reports/product_compared.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Reports/product_viewed.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Reports/widget/compared/column/compared_default_list.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Reports/widget/compared/content/compared_grid.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Reports/widget/compared/content/compared_list.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/column/viewed_default_list.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/content/viewed_grid.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/content/viewed_list.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Review/customer/list.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Review/customer/recent.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Review/customer/view.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Review/form.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Review/helper/summary.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Review/helper/summary_short.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Review/layout/catalog_product_view.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Review/layout/override/customer_account_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Review/layout/override/review_product_view.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Review/layout/review_product_list.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Review/layout/review_product_view.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Review/product/view/list.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Review/redirect.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Review/view.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/billing/agreement/view.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/billing/agreements.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/guest/form.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/layout/override/customer_account_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/layout/override/default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_guest_view.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_creditmemo.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_info_links.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_invoice.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printorder.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printordercreditmemo.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printorderinvoice.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_view.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/comments.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo/items.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo/items/renderer/default.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/history.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/info.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/info/buttons.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/invoice.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/invoice/items.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/invoice/items/renderer/default.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/items.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/items/renderer/default.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/print.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/print/creditmemo.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/print/invoice.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/print/shipment.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/recent.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/shipment.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/shipment/items.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/order/view.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/recurring/profiles.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/reorder/sidebar.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sales/success.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sendfriend/layout/override/sendfriend_product_send.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Sendfriend/send.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Shipping/tracking/popup.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Tax/checkout/grandtotal.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Tax/checkout/shipping.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Tax/checkout/subtotal.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Tax/checkout/tax.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Widget/layout/override/default.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Widget/layout/override/print.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/button/share.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/button/tocart.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/button/update.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/item/column/cart.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/item/column/image.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/item/column/info.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/item/column/remove.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/item/configure/addto.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/item/list.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_bundle.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_configurable.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_grouped.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_simple.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_shared_index.xml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/shared.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/sharing.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/sidebar.phtml
 create mode 100644 app/design/frontend/magento_plushe/Magento_Wishlist/view.phtml
 create mode 100644 app/design/frontend/magento_plushe/css/print.css
 create mode 100644 app/design/frontend/magento_plushe/css/styles.css
 create mode 100644 app/design/frontend/magento_plushe/fonts/.htaccess
 create mode 100644 app/design/frontend/magento_plushe/fonts/icons/icons.dev.svg
 create mode 100644 app/design/frontend/magento_plushe/fonts/icons/icons.eot
 create mode 100644 app/design/frontend/magento_plushe/fonts/icons/icons.svg
 create mode 100644 app/design/frontend/magento_plushe/fonts/icons/icons.ttf
 create mode 100644 app/design/frontend/magento_plushe/fonts/icons/icons.woff
 create mode 100644 app/design/frontend/magento_plushe/fonts/marvel/OFL.txt
 create mode 100644 app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.eot
 create mode 100644 app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.svg
 create mode 100644 app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.ttf
 create mode 100644 app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.woff
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.eot
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.svg
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.ttf
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.woff
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.eot
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.svg
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.ttf
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.woff
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.eot
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.svg
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.ttf
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.woff
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.eot
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.svg
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.ttf
 create mode 100644 app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.woff
 create mode 100644 app/design/frontend/magento_plushe/images/banner1.jpg
 create mode 100644 app/design/frontend/magento_plushe/images/banner2.jpg
 create mode 100644 app/design/frontend/magento_plushe/images/banner3.jpg
 create mode 100644 app/design/frontend/magento_plushe/images/banner4.jpg
 create mode 100644 app/design/frontend/magento_plushe/images/blog_bg.png
 create mode 100644 app/design/frontend/magento_plushe/images/header-bg.jpg
 create mode 100644 app/design/frontend/magento_plushe/images/info_photo.jpg
 create mode 100644 app/design/frontend/magento_plushe/images/loader.gif
 create mode 100644 app/design/frontend/magento_plushe/images/logo.gif
 create mode 100644 app/design/frontend/magento_plushe/images/logo_notext.gif
 create mode 100644 app/design/frontend/magento_plushe/images/main_image1.jpg
 create mode 100644 app/design/frontend/magento_plushe/images/social-links.png
 create mode 100644 app/design/frontend/magento_plushe/images/texture.png
 create mode 100644 app/design/frontend/magento_plushe/js/extra-options.js
 create mode 100644 app/design/frontend/magento_plushe/js/head.js
 create mode 100644 app/design/frontend/magento_plushe/js/jquery.dropdowns.js
 create mode 100644 app/design/frontend/magento_plushe/js/matchMedia.js
 create mode 100644 app/design/frontend/magento_plushe/js/navigation-menu.js
 create mode 100644 app/design/frontend/magento_plushe/js/selectivizr.js
 create mode 100644 app/design/frontend/magento_plushe/js/sticky.js
 create mode 100644 app/design/frontend/magento_plushe/js/tabs.js
 create mode 100644 app/design/frontend/magento_plushe/js/theme.js
 create mode 100644 app/design/frontend/magento_plushe/less/clearless/all.less
 create mode 100644 app/design/frontend/magento_plushe/less/clearless/arrows.less
 create mode 100644 app/design/frontend/magento_plushe/less/clearless/grids.less
 create mode 100644 app/design/frontend/magento_plushe/less/clearless/helpers.less
 create mode 100644 app/design/frontend/magento_plushe/less/clearless/icons.less
 create mode 100644 app/design/frontend/magento_plushe/less/clearless/resets.less
 create mode 100644 app/design/frontend/magento_plushe/less/clearless/settings.less
 create mode 100644 app/design/frontend/magento_plushe/less/clearless/sprites.less
 create mode 100644 app/design/frontend/magento_plushe/less/clearless/typography.less
 create mode 100644 app/design/frontend/magento_plushe/less/lib/buttons.less
 create mode 100644 app/design/frontend/magento_plushe/less/lib/forms.less
 create mode 100644 app/design/frontend/magento_plushe/less/lib/grids.less
 create mode 100644 app/design/frontend/magento_plushe/less/lib/icons.less
 create mode 100644 app/design/frontend/magento_plushe/less/lib/messages.less
 create mode 100644 app/design/frontend/magento_plushe/less/lib/navigation.less
 create mode 100644 app/design/frontend/magento_plushe/less/lib/sections.less
 create mode 100644 app/design/frontend/magento_plushe/less/lib/snippets.less
 create mode 100644 app/design/frontend/magento_plushe/less/styles.less
 create mode 100644 app/design/frontend/magento_plushe/less/styles/base.less
 create mode 100644 app/design/frontend/magento_plushe/less/styles/magento.less
 create mode 100644 app/design/frontend/magento_plushe/less/vars.less
 create mode 100644 app/design/frontend/magento_plushe/media/preview.jpg
 create mode 100644 app/design/frontend/magento_plushe/theme.xml
 create mode 100644 app/design/frontend/magento_plushe/view.xml
 create mode 100644 dev/tests/integration/testsuite/Magento/App/FrontControllerTest.php
 delete mode 100644 dev/tests/integration/testsuite/Magento/Core/Controller/Request/HttpTest.php
 delete mode 100644 dev/tests/integration/testsuite/Magento/Core/Controller/Varien/FrontTest.php
 delete mode 100644 dev/tests/integration/testsuite/Magento/Core/Model/TemplateEngine/TwigTest.php
 rename dev/tests/integration/testsuite/Magento/{Core/Model => View}/Layout/ElementTest.php (88%)
 rename dev/tests/integration/testsuite/Magento/{Core/Model => View/Layout}/_files/_layout_update.xml (100%)
 create mode 100644 dev/tests/static/testsuite/Magento/Test/Integrity/Di/ConfigurationTest.php
 delete mode 100644 dev/tests/static/testsuite/Magento/Test/Integrity/NamespaceBlacklist.php
 delete mode 100644 dev/tests/static/testsuite/Magento/Test/Integrity/ReferenceBlacklist.php
 create mode 100644 dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/namespace.txt
 create mode 100644 dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/reference.txt
 delete mode 100644 dev/tests/static/testsuite/Magento/Test/Twig/TwigExtensionTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/App/Action/ForwardTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/App/AreaListTest.php
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Dir/VerificationTest.php (89%)
 create mode 100644 dev/tests/unit/testsuite/Magento/App/FrontControllerTest.php
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/Declaration/Converter/DomTest.php (93%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/Declaration/Converter/_files/converted_valid_module.php (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/Declaration/Converter/_files/valid_module.xml (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/Declaration/FileResolver/_files/app/code/Module/Four/etc/module.xml (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/Declaration/FileResolver/_files/app/code/Module/One/etc/module.xml (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/Declaration/FileResolver/_files/app/code/Module/Three/etc/module.xml (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/Declaration/FileResolver/_files/app/code/Module/Two/etc/module.xml (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/Declaration/FileResolver/_files/app/etc/custom/module.xml (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/Declaration/FileResolverTest.php (84%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/Declaration/Reader/FilesystemTest.php (83%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/Dir/ReverseResolverTest.php (85%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/DirTest.php (83%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/ResourceResolver/_files/Module/data/module_first_setup/.gitignore (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/ResourceResolver/_files/Module/data/module_second_setup/.gitignore (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/ResourceResolver/_files/Module/sql/module_first_setup/.gitignore (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => App}/Module/ResourceResolverTest.php (91%)
 create mode 100644 dev/tests/unit/testsuite/Magento/App/Request/HttpTest.php
 rename dev/tests/{integration/testsuite/Magento/Core/Controller/Varien/Router/AbstractTest.php => unit/testsuite/Magento/App/Response/HttpTest.php} (57%)
 create mode 100644 dev/tests/unit/testsuite/Magento/App/ResponseFactoryTest.php
 rename dev/tests/unit/testsuite/Magento/{Core/Model/Db => App}/UpdaterTest.php (77%)
 create mode 100644 dev/tests/unit/testsuite/Magento/Backend/App/Area/FrontNameResolverTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Backend/App/Area/Request/PathInfoProcessorTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Backend/Model/AuthTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/App/Area/Request/PathInfoProcessorTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/App/FrontController/Plugin/InstallTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/App/FrontController/Plugin/RequestPreprocessorTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/App/Request/RewriteServiceTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Decorator/DebugHintsTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Plugin/DebugHintsTest.php
 create mode 100644 dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/PoolTest.php
 delete mode 100644 dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/CommonFunctionsTest.php
 delete mode 100644 dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/EnvironmentFactoryTest.php
 delete mode 100644 dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/ExtensionTest.php
 delete mode 100644 dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/FullFileNameTest.php
 delete mode 100644 dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/LayoutFunctionsTest.php
 delete mode 100644 dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/_files/twig_templates/READEME.txt
 delete mode 100644 dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/TwigTest.php
 rename dev/tests/unit/testsuite/Magento/{Core/Model => }/Event/Config/ConverterTest.php (87%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => }/Event/Config/DataTest.php (84%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => }/Event/Config/SchemaLocatorTest.php (64%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => }/Event/Config/XsdTest.php (94%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => Event/Config}/_files/event_config.php (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => Event/Config}/_files/event_config.xml (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => Event/Config}/_files/event_invalid_config.xml (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => }/Event/Config/_files/invalidEventsXmlArray.php (100%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => }/Event/Config/_files/valid_events.xml (100%)
 create mode 100644 dev/tests/unit/testsuite/Magento/Event/EventFactoryTest.php
 rename dev/tests/unit/testsuite/Magento/{Core/Model => }/Event/Invoker/InvokerDefaultTest.php (90%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => }/Event/ManagerStub.php (93%)
 rename dev/tests/unit/testsuite/Magento/{Core/Model => }/Event/ManagerTest.php (76%)
 delete mode 100644 dev/tests/unit/testsuite/Magento/Http/Handler/CompositeTest.php
 rename dev/tests/unit/testsuite/Magento/{Core/Model => View}/Layout/ElementTest.php (91%)
 rename {app/code/Magento/Core/Controller/Varien => lib/Magento/App/Action}/AbstractAction.php (73%)
 rename {app/code/Magento/Core/Controller/Varien => lib/Magento/App/Action}/Exception.php (87%)
 rename {app/code/Magento/Core/Controller/Varien => lib/Magento/App}/Action/Forward.php (78%)
 rename {app/code/Magento/Core/Controller/Varien => lib/Magento/App}/Action/Redirect.php (76%)
 rename app/code/Magento/Core/Controller/Varien/Action/Factory.php => lib/Magento/App/ActionFactory.php (86%)
 rename app/code/Magento/Core/Model/TemplateEngine/BlockTrackerInterface.php => lib/Magento/App/ActionInterface.php (79%)
 create mode 100644 lib/Magento/App/Area/FrontNameResolverFactory.php
 rename app/code/Magento/Core/Controller/FrontInterface.php => lib/Magento/App/Area/FrontNameResolverInterface.php (79%)
 create mode 100644 lib/Magento/App/AreaList.php
 rename {app/code/Magento/Core/Model => lib/Magento/App}/Dir.php (99%)
 rename {app/code/Magento/Core/Model => lib/Magento/App}/Dir/Verification.php (76%)
 create mode 100644 lib/Magento/App/FrontController.php
 create mode 100644 lib/Magento/App/FrontControllerInterface.php
 rename {app/code/Magento/Core/Model => lib/Magento/App}/Module/Declaration/Converter/Dom.php (99%)
 mode change 100755 => 100644
 rename {app/code/Magento/Core/Model => lib/Magento/App}/Module/Declaration/FileResolver.php (89%)
 rename {app/code/Magento/Core/Model => lib/Magento/App}/Module/Declaration/Reader/Filesystem.php (93%)
 mode change 100755 => 100644
 rename {app/code/Magento/Core/Model => lib/Magento/App}/Module/Declaration/SchemaLocator.php (92%)
 rename {app/code/Magento/Core/Model => lib/Magento/App}/Module/Dir.php (86%)
 rename {app/code/Magento/Core/Model => lib/Magento/App}/Module/Dir/ReverseResolver.php (83%)
 rename {app/code/Magento/Core/Model => lib/Magento/App}/Module/ResourceResolver.php (95%)
 rename {app/code/Magento/Core/Model => lib/Magento/App}/Module/ResourceResolverInterface.php (93%)
 rename {app/code/Magento/Core/Model => lib/Magento/App}/ModuleList.php (89%)
 rename {app/code/Magento/Core/Model => lib/Magento/App}/ModuleListInterface.php (97%)
 rename {app/code/Magento/Core/Controller => lib/Magento/App}/Request/Http.php (82%)
 create mode 100644 lib/Magento/App/Request/PathInfoProcessorInterface.php
 rename app/code/Magento/Core/Model/Resource/SetupFactory.php => lib/Magento/App/RequestFactory.php (67%)
 create mode 100644 lib/Magento/App/RequestInterface.php
 create mode 100644 lib/Magento/App/Response/Http.php
 create mode 100644 lib/Magento/App/ResponseFactory.php
 create mode 100644 lib/Magento/App/ResponseInterface.php
 rename {app/code/Magento/Core/Controller/Varien => lib/Magento/App}/Router/AbstractRouter.php (68%)
 rename {app/code/Magento/Core/Controller/Varien => lib/Magento/App}/Router/DefaultRouter.php (69%)
 rename {app/code/Magento/Core/Model => lib/Magento/App/Router}/NoRouteHandlerList.php (98%)
 rename {app/code/Magento/Core/Model => lib/Magento/App}/RouterList.php (95%)
 create mode 100644 lib/Magento/App/RouterListInterface.php
 rename {app/code/Magento/Core/Model => lib/Magento}/App/State.php (92%)
 rename {app/code/Magento/Core/Model/Db => lib/Magento/App}/Updater.php (59%)
 create mode 100644 lib/Magento/App/Updater/SetupFactory.php
 rename {app/code/Magento/Core/Model/Resource => lib/Magento/App/Updater}/SetupInterface.php (91%)
 rename {app/code/Magento/Core/Model/Db => lib/Magento/App}/UpdaterInterface.php (97%)
 rename {app/code/Magento/Core => lib/Magento/App}/etc/module.xsd (100%)
 rename {app/code/Magento/Core/Model => lib/Magento/Appl}/Router/NoRouteHandlerInterface.php (85%)
 rename {app/code/Magento/Core/Model => lib/Magento}/Config/Scope.php (73%)
 rename {app/code/Magento/Core/Model => lib/Magento}/Event/Config.php (81%)
 rename {app/code/Magento/Core/Model => lib/Magento}/Event/Config/Converter.php (98%)
 rename {app/code/Magento/Core/Model => lib/Magento}/Event/Config/Data.php (87%)
 rename {app/code/Magento/Core/Model => lib/Magento}/Event/Config/Reader.php (86%)
 create mode 100644 lib/Magento/Event/Config/SchemaLocator.php
 rename {app/code/Magento/Core/Model => lib/Magento}/Event/ConfigInterface.php (96%)
 rename {app/code/Magento/Core/Model => lib/Magento}/Event/Invoker/InvokerDefault.php (80%)
 rename {app/code/Magento/Core/Model => lib/Magento}/Event/InvokerInterface.php (97%)
 rename {app/code/Magento/Core/Model => lib/Magento}/Event/Manager.php (72%)
 create mode 100644 lib/Magento/Event/ManagerInterface.php
 rename {app/code/Magento/Core/Model => lib/Magento/Event}/ObserverFactory.php (92%)
 rename lib/Magento/{HTTP/HandlerFactory.php => Event/WrapperFactory.php} (79%)
 rename {app/code/Magento/Core => lib/Magento/Event}/etc/events.xsd (100%)
 rename app/code/Magento/Core/Controller/Varien/DispatchableInterface.php => lib/Magento/EventFactory.php (66%)
 delete mode 100644 lib/Magento/HTTP/Handler/Composite.php
 delete mode 100644 lib/Magento/HTTP/HandlerInterface.php
 rename {app/code/Magento/Core/Model => lib/Magento}/UrlInterface.php (88%)
 create mode 100644 lib/Magento/View/ConfigInterface.php
 rename {app/code/Magento/Core/Model => lib/Magento/View/Design}/ThemeInterface.php (88%)
 rename {app/code/Magento/Core/Model => lib/Magento}/View/DesignInterface.php (84%)
 rename app/code/Magento/Core/Block.php => lib/Magento/View/Element/BlockInterface.php (88%)
 rename {app/code/Magento/Core/Model => lib/Magento/View}/Layout/Element.php (63%)
 create mode 100644 lib/Magento/View/Layout/ProcessorFactory.php
 create mode 100644 lib/Magento/View/Layout/ProcessorInterface.php
 create mode 100644 lib/Magento/View/LayoutFactory.php
 create mode 100644 lib/Magento/View/LayoutInterface.php
 delete mode 100644 lib/Twig/AUTHORS
 delete mode 100644 lib/Twig/Autoloader.php
 delete mode 100644 lib/Twig/Compiler.php
 delete mode 100644 lib/Twig/CompilerInterface.php
 delete mode 100644 lib/Twig/Environment.php
 delete mode 100644 lib/Twig/Error.php
 delete mode 100644 lib/Twig/Error/Loader.php
 delete mode 100644 lib/Twig/Error/Runtime.php
 delete mode 100644 lib/Twig/Error/Syntax.php
 delete mode 100644 lib/Twig/ExistsLoaderInterface.php
 delete mode 100644 lib/Twig/ExpressionParser.php
 delete mode 100644 lib/Twig/Extension.php
 delete mode 100644 lib/Twig/Extension/Core.php
 delete mode 100644 lib/Twig/Extension/Debug.php
 delete mode 100644 lib/Twig/Extension/Escaper.php
 delete mode 100644 lib/Twig/Extension/Optimizer.php
 delete mode 100644 lib/Twig/Extension/Sandbox.php
 delete mode 100644 lib/Twig/Extension/Staging.php
 delete mode 100644 lib/Twig/Extension/StringLoader.php
 delete mode 100644 lib/Twig/ExtensionInterface.php
 delete mode 100644 lib/Twig/Filter.php
 delete mode 100644 lib/Twig/Filter/Function.php
 delete mode 100644 lib/Twig/Filter/Method.php
 delete mode 100644 lib/Twig/Filter/Node.php
 delete mode 100644 lib/Twig/FilterCallableInterface.php
 delete mode 100644 lib/Twig/FilterInterface.php
 delete mode 100644 lib/Twig/Function.php
 delete mode 100644 lib/Twig/Function/Function.php
 delete mode 100644 lib/Twig/Function/Method.php
 delete mode 100644 lib/Twig/Function/Node.php
 delete mode 100644 lib/Twig/FunctionCallableInterface.php
 delete mode 100644 lib/Twig/FunctionInterface.php
 delete mode 100644 lib/Twig/LICENSE
 delete mode 100644 lib/Twig/Lexer.php
 delete mode 100644 lib/Twig/LexerInterface.php
 delete mode 100644 lib/Twig/Loader/Array.php
 delete mode 100644 lib/Twig/Loader/Chain.php
 delete mode 100644 lib/Twig/Loader/Filesystem.php
 delete mode 100644 lib/Twig/Loader/String.php
 delete mode 100644 lib/Twig/LoaderInterface.php
 delete mode 100644 lib/Twig/Markup.php
 delete mode 100644 lib/Twig/Node.php
 delete mode 100644 lib/Twig/Node/AutoEscape.php
 delete mode 100644 lib/Twig/Node/Block.php
 delete mode 100644 lib/Twig/Node/BlockReference.php
 delete mode 100644 lib/Twig/Node/Body.php
 delete mode 100644 lib/Twig/Node/Do.php
 delete mode 100644 lib/Twig/Node/Embed.php
 delete mode 100644 lib/Twig/Node/Expression.php
 delete mode 100644 lib/Twig/Node/Expression/Array.php
 delete mode 100644 lib/Twig/Node/Expression/AssignName.php
 delete mode 100644 lib/Twig/Node/Expression/Binary.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/Add.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/And.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/BitwiseAnd.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/BitwiseOr.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/BitwiseXor.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/Concat.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/Div.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/Equal.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/FloorDiv.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/Greater.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/GreaterEqual.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/In.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/Less.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/LessEqual.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/Mod.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/Mul.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/NotEqual.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/NotIn.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/Or.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/Power.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/Range.php
 delete mode 100644 lib/Twig/Node/Expression/Binary/Sub.php
 delete mode 100644 lib/Twig/Node/Expression/BlockReference.php
 delete mode 100644 lib/Twig/Node/Expression/Call.php
 delete mode 100644 lib/Twig/Node/Expression/Conditional.php
 delete mode 100644 lib/Twig/Node/Expression/Constant.php
 delete mode 100644 lib/Twig/Node/Expression/ExtensionReference.php
 delete mode 100644 lib/Twig/Node/Expression/Filter.php
 delete mode 100644 lib/Twig/Node/Expression/Filter/Default.php
 delete mode 100644 lib/Twig/Node/Expression/Function.php
 delete mode 100644 lib/Twig/Node/Expression/GetAttr.php
 delete mode 100644 lib/Twig/Node/Expression/MethodCall.php
 delete mode 100644 lib/Twig/Node/Expression/Name.php
 delete mode 100644 lib/Twig/Node/Expression/Parent.php
 delete mode 100644 lib/Twig/Node/Expression/TempName.php
 delete mode 100644 lib/Twig/Node/Expression/Test.php
 delete mode 100644 lib/Twig/Node/Expression/Test/Constant.php
 delete mode 100644 lib/Twig/Node/Expression/Test/Defined.php
 delete mode 100644 lib/Twig/Node/Expression/Test/Divisibleby.php
 delete mode 100644 lib/Twig/Node/Expression/Test/Even.php
 delete mode 100644 lib/Twig/Node/Expression/Test/Null.php
 delete mode 100644 lib/Twig/Node/Expression/Test/Odd.php
 delete mode 100644 lib/Twig/Node/Expression/Test/Sameas.php
 delete mode 100644 lib/Twig/Node/Expression/Unary.php
 delete mode 100644 lib/Twig/Node/Expression/Unary/Neg.php
 delete mode 100644 lib/Twig/Node/Expression/Unary/Not.php
 delete mode 100644 lib/Twig/Node/Expression/Unary/Pos.php
 delete mode 100644 lib/Twig/Node/Flush.php
 delete mode 100644 lib/Twig/Node/For.php
 delete mode 100644 lib/Twig/Node/ForLoop.php
 delete mode 100644 lib/Twig/Node/If.php
 delete mode 100644 lib/Twig/Node/Import.php
 delete mode 100644 lib/Twig/Node/Include.php
 delete mode 100644 lib/Twig/Node/Macro.php
 delete mode 100644 lib/Twig/Node/Module.php
 delete mode 100644 lib/Twig/Node/Print.php
 delete mode 100644 lib/Twig/Node/Sandbox.php
 delete mode 100644 lib/Twig/Node/SandboxedModule.php
 delete mode 100644 lib/Twig/Node/SandboxedPrint.php
 delete mode 100644 lib/Twig/Node/Set.php
 delete mode 100644 lib/Twig/Node/SetTemp.php
 delete mode 100644 lib/Twig/Node/Spaceless.php
 delete mode 100644 lib/Twig/Node/Text.php
 delete mode 100644 lib/Twig/NodeInterface.php
 delete mode 100644 lib/Twig/NodeOutputInterface.php
 delete mode 100644 lib/Twig/NodeTraverser.php
 delete mode 100644 lib/Twig/NodeVisitor/Escaper.php
 delete mode 100644 lib/Twig/NodeVisitor/Optimizer.php
 delete mode 100644 lib/Twig/NodeVisitor/SafeAnalysis.php
 delete mode 100644 lib/Twig/NodeVisitor/Sandbox.php
 delete mode 100644 lib/Twig/NodeVisitorInterface.php
 delete mode 100644 lib/Twig/Parser.php
 delete mode 100644 lib/Twig/ParserInterface.php
 delete mode 100644 lib/Twig/Sandbox/SecurityError.php
 delete mode 100644 lib/Twig/Sandbox/SecurityPolicy.php
 delete mode 100644 lib/Twig/Sandbox/SecurityPolicyInterface.php
 delete mode 100644 lib/Twig/SimpleFilter.php
 delete mode 100644 lib/Twig/SimpleFunction.php
 delete mode 100644 lib/Twig/SimpleTest.php
 delete mode 100644 lib/Twig/Template.php
 delete mode 100644 lib/Twig/TemplateInterface.php
 delete mode 100644 lib/Twig/Test.php
 delete mode 100644 lib/Twig/Test/Function.php
 delete mode 100644 lib/Twig/Test/IntegrationTestCase.php
 delete mode 100644 lib/Twig/Test/Method.php
 delete mode 100644 lib/Twig/Test/Node.php
 delete mode 100644 lib/Twig/Test/NodeTestCase.php
 delete mode 100644 lib/Twig/TestCallableInterface.php
 delete mode 100644 lib/Twig/TestInterface.php
 delete mode 100644 lib/Twig/Token.php
 delete mode 100644 lib/Twig/TokenParser.php
 delete mode 100644 lib/Twig/TokenParser/AutoEscape.php
 delete mode 100644 lib/Twig/TokenParser/Block.php
 delete mode 100644 lib/Twig/TokenParser/Do.php
 delete mode 100644 lib/Twig/TokenParser/Embed.php
 delete mode 100644 lib/Twig/TokenParser/Extends.php
 delete mode 100644 lib/Twig/TokenParser/Filter.php
 delete mode 100644 lib/Twig/TokenParser/Flush.php
 delete mode 100644 lib/Twig/TokenParser/For.php
 delete mode 100644 lib/Twig/TokenParser/From.php
 delete mode 100644 lib/Twig/TokenParser/If.php
 delete mode 100644 lib/Twig/TokenParser/Import.php
 delete mode 100644 lib/Twig/TokenParser/Include.php
 delete mode 100644 lib/Twig/TokenParser/Macro.php
 delete mode 100644 lib/Twig/TokenParser/Sandbox.php
 delete mode 100644 lib/Twig/TokenParser/Set.php
 delete mode 100644 lib/Twig/TokenParser/Spaceless.php
 delete mode 100644 lib/Twig/TokenParser/Use.php
 delete mode 100644 lib/Twig/TokenParserBroker.php
 delete mode 100644 lib/Twig/TokenParserBrokerInterface.php
 delete mode 100644 lib/Twig/TokenParserInterface.php
 delete mode 100644 lib/Twig/TokenStream.php

diff --git a/CHANGELOG.md b/CHANGELOG.md
index f4596a58156..47301676416 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,26 @@
+2.0.0.0-dev49
+=============
+* Various improvements:
+  * Unified Area configuration
+  * Moved EventManager to Magento\Event lib component
+  * Moved FrontController, Routers, Base Actions to Magento\App
+  * Created Magento\App component in library
+  * Declared public interfaces for View component into library
+  * Plushe theme is set as the default theme
+  * Refactor the Blacklist Pattern in the Integrity Test Suite's ClassesTest to Replace Blacklist.php Files
+  * Removed JavaScript unit test TreeSuggestTest.prototype.testBind as obsolete
+  * Introduced ability to register a template engine to process template files having certain extension
+  * Removed support of the Twig template engine along with the corresponding component from the library
+  * Removed layout flag that forced template blocks to output rendered content directly to a browser bypassing the response object
+  * Moved out responsibility of rendering template debugging hints from the template block to the plugin and decorator for a template engine
+* Fixed bugs:
+  * Fixed inability to create product if multiple attributes are assigned to attribute set
+  * Fixed inability to create a new widget instance
+  * Fixed error on Customers Segments Conditions tab while the 'Number of Orders' condition is chosen
+  * Fixed blank page when placing order via Ogone
+  * Fixed various UI issues in Admin Panel with layout, aligning, buttons and fields
+  * Fixed static tests failing to verify themes files
+
 2.0.0.0-dev48
 =============
 * Various improvements:
diff --git a/app/code/Magento/AdminNotification/Model/Resource/System/Message/Collection.php b/app/code/Magento/AdminNotification/Model/Resource/System/Message/Collection.php
index 17f45c5c862..dc167a99ea8 100644
--- a/app/code/Magento/AdminNotification/Model/Resource/System/Message/Collection.php
+++ b/app/code/Magento/AdminNotification/Model/Resource/System/Message/Collection.php
@@ -42,7 +42,7 @@ class Collection
     protected $_countBySeverity = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -50,7 +50,7 @@ class Collection
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/AdminNotification/Model/Survey.php b/app/code/Magento/AdminNotification/Model/Survey.php
index cb3922a946b..e9c956cd14e 100644
--- a/app/code/Magento/AdminNotification/Model/Survey.php
+++ b/app/code/Magento/AdminNotification/Model/Survey.php
@@ -54,17 +54,17 @@ class Survey
     protected $_flagFactory;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
      * @param \Magento\Core\Model\FlagFactory $flagFactory
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      */
     public function __construct(
         \Magento\Core\Model\FlagFactory $flagFactory,
-        \Magento\Core\Controller\Request\Http $request
+        \Magento\App\RequestInterface $request
     ) {
         $this->_request = $request;
         $this->_flagFactory = $flagFactory;
diff --git a/app/code/Magento/AdminNotification/Model/System/Message/Baseurl.php b/app/code/Magento/AdminNotification/Model/System/Message/Baseurl.php
index 108f442d990..7a129f0b359 100644
--- a/app/code/Magento/AdminNotification/Model/System/Message/Baseurl.php
+++ b/app/code/Magento/AdminNotification/Model/System/Message/Baseurl.php
@@ -27,7 +27,7 @@ class Baseurl
     implements \Magento\AdminNotification\Model\System\MessageInterface
 {
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -49,13 +49,13 @@ class Baseurl
     /**
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\Config\ValueFactory $configValueFactory
      */
     public function __construct(
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\Config\ValueFactory $configValueFactory
     ) {
         $this->_urlBuilder = $urlBuilder;
diff --git a/app/code/Magento/AdminNotification/Model/System/Message/CacheOutdated.php b/app/code/Magento/AdminNotification/Model/System/Message/CacheOutdated.php
index 03366d1456b..f262f7e6408 100644
--- a/app/code/Magento/AdminNotification/Model/System/Message/CacheOutdated.php
+++ b/app/code/Magento/AdminNotification/Model/System/Message/CacheOutdated.php
@@ -27,7 +27,7 @@ class CacheOutdated
     implements \Magento\AdminNotification\Model\System\MessageInterface
 {
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -43,12 +43,12 @@ class CacheOutdated
 
     /**
      * @param \Magento\AuthorizationInterface $authorization
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\Cache\TypeListInterface $cacheTypeList
      */
     public function __construct(
         \Magento\AuthorizationInterface $authorization,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\Cache\TypeListInterface $cacheTypeList
     ) {
         $this->_authorization = $authorization;
diff --git a/app/code/Magento/AdminNotification/Model/System/Message/Survey.php b/app/code/Magento/AdminNotification/Model/System/Message/Survey.php
index 9fa6dcc251e..9f1d67cf935 100644
--- a/app/code/Magento/AdminNotification/Model/System/Message/Survey.php
+++ b/app/code/Magento/AdminNotification/Model/System/Message/Survey.php
@@ -37,7 +37,7 @@ class Survey
     protected $_authorization;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -49,13 +49,13 @@ class Survey
     /**
      * @param \Magento\Backend\Model\Auth\Session $authSession
      * @param \Magento\AuthorizationInterface $authorization
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\AdminNotification\Model\Survey $survey
      */
     public function __construct(
         \Magento\Backend\Model\Auth\Session $authSession,
         \Magento\AuthorizationInterface $authorization,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\AdminNotification\Model\Survey $survey
     ) {
         $this->_authorization = $authorization;
diff --git a/app/code/Magento/Adminhtml/Block/Catalog/Category/Helper/Image.php b/app/code/Magento/Adminhtml/Block/Catalog/Category/Helper/Image.php
index 680ac066a30..7bbc7b0c72d 100644
--- a/app/code/Magento/Adminhtml/Block/Catalog/Category/Helper/Image.php
+++ b/app/code/Magento/Adminhtml/Block/Catalog/Category/Helper/Image.php
@@ -45,7 +45,7 @@ class Image extends \Magento\Data\Form\Element\Image
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Data\Form\Element\Factory $factoryElement
      * @param \Magento\Data\Form\Element\CollectionFactory $factoryCollection
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param array $attributes
      */
     public function __construct(
@@ -53,7 +53,7 @@ class Image extends \Magento\Data\Form\Element\Image
         \Magento\Core\Helper\Data $coreData,
         \Magento\Data\Form\Element\Factory $factoryElement,
         \Magento\Data\Form\Element\CollectionFactory $factoryCollection,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         $attributes = array()
     ) {
         $this->_storeManager = $storeManager;
diff --git a/app/code/Magento/Adminhtml/Block/Catalog/Form/Renderer/Config/YearRange.php b/app/code/Magento/Adminhtml/Block/Catalog/Form/Renderer/Config/YearRange.php
index 07188a06b5c..65bb1429d61 100644
--- a/app/code/Magento/Adminhtml/Block/Catalog/Form/Renderer/Config/YearRange.php
+++ b/app/code/Magento/Adminhtml/Block/Catalog/Form/Renderer/Config/YearRange.php
@@ -49,8 +49,7 @@ class YearRange extends \Magento\Backend\Block\System\Config\Form\Field
 
         $from = $element->setValue(isset($values[0]) ? $values[0] : null)->getElementHtml();
         $to = $element->setValue(isset($values[1]) ? $values[1] : null)->getElementHtml();
-        return __('from') . ' ' . $from
-            . ' '
-            . __('to') . ' ' . $to;
+        return __('<label class="label"><span>from</span></label>') . $from
+            . __('<label class="label"><span>to</span></label>') . $to;
     }
 }
diff --git a/app/code/Magento/Adminhtml/Block/Catalog/Helper/Form/Wysiwyg.php b/app/code/Magento/Adminhtml/Block/Catalog/Helper/Form/Wysiwyg.php
index 512a56e02e7..b498f6c79f7 100644
--- a/app/code/Magento/Adminhtml/Block/Catalog/Helper/Form/Wysiwyg.php
+++ b/app/code/Magento/Adminhtml/Block/Catalog/Helper/Form/Wysiwyg.php
@@ -55,13 +55,13 @@ class Wysiwyg extends \Magento\Data\Form\Element\Textarea
     protected $_wysiwygConfig;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
      * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Data\Form\Element\Factory $factoryElement
      * @param \Magento\Data\Form\Element\CollectionFactory $factoryCollection
@@ -71,7 +71,7 @@ class Wysiwyg extends \Magento\Data\Form\Element\Textarea
      */
     public function __construct(
         \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Data\Form\Element\Factory $factoryElement,
         \Magento\Data\Form\Element\CollectionFactory $factoryCollection,
diff --git a/app/code/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config.php b/app/code/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config.php
index ae8e36f48e7..fe00553dc32 100644
--- a/app/code/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config.php
+++ b/app/code/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config.php
@@ -49,7 +49,7 @@ class Config
     /**
      * @var \Magento\Core\Model\App
      */
-    protected $_app;
+    protected $_storeManager;
 
     /**
      * @var \Magento\Core\Model\LocaleInterface
@@ -91,7 +91,7 @@ class Config
         $this->_configurableType = $configurableType;
         $this->_coreRegistry = $coreRegistry;
         $this->_catalogData = $catalogData;
-        $this->_app = $app;
+        $this->_storeManager = $app;
         $this->_locale = $locale;
         parent::__construct($coreData, $context, $data);
     }
@@ -489,7 +489,7 @@ class Config
      */
     public function getApp()
     {
-        return $this->_app;
+        return $this->_storeManager;
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Category.php b/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Category.php
index be8dc829c1e..ed24df7b181 100644
--- a/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Category.php
+++ b/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Category.php
@@ -36,7 +36,7 @@ namespace Magento\Adminhtml\Block\Catalog\Product\Helper\Form;
 class Category extends \Magento\Data\Form\Element\Multiselect
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -58,7 +58,7 @@ class Category extends \Magento\Data\Form\Element\Multiselect
      * @param \Magento\Data\Form\Element\Factory $factoryElement
      * @param \Magento\Data\Form\Element\CollectionFactory $factoryCollection
      * @param \Magento\Backend\Helper\Data $backendData
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param array $attributes
      */
     public function __construct(
@@ -67,7 +67,7 @@ class Category extends \Magento\Data\Form\Element\Multiselect
         \Magento\Data\Form\Element\Factory $factoryElement,
         \Magento\Data\Form\Element\CollectionFactory $factoryCollection,
         \Magento\Backend\Helper\Data $backendData,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         array $attributes = array()
     ) {
         $this->_collectionFactory = $collectionFactory;
diff --git a/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery.php b/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery.php
index 231b2ed1f00..5e618e123d0 100644
--- a/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery.php
+++ b/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery.php
@@ -42,12 +42,12 @@ class Gallery extends \Magento\Data\Form\Element\AbstractElement
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Data\Form\Element\Factory $factoryElement
@@ -55,7 +55,7 @@ class Gallery extends \Magento\Data\Form\Element\AbstractElement
      * @param array $attributes
      */
     public function __construct(
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Data\Form\Element\Factory $factoryElement,
diff --git a/app/code/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/Content.php b/app/code/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/Content.php
index 52a13314f0c..0bbda0d7ad0 100644
--- a/app/code/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/Content.php
+++ b/app/code/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/Content.php
@@ -43,7 +43,7 @@ class Content
      * @param \Magento\Backend\Block\Template\Context $context
      * @param \Magento\Data\Form\Factory $formFactory
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param array $data
      */
@@ -52,7 +52,7 @@ class Content
         \Magento\Backend\Block\Template\Context $context,
         \Magento\Data\Form\Factory $formFactory,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Registry $coreRegistry,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Adminhtml/Block/Page/Head.php b/app/code/Magento/Adminhtml/Block/Page/Head.php
index b6af9a48c0e..f8b7a0a6d2a 100644
--- a/app/code/Magento/Adminhtml/Block/Page/Head.php
+++ b/app/code/Magento/Adminhtml/Block/Page/Head.php
@@ -48,7 +48,7 @@ class Head extends \Magento\Page\Block\Html\Head
     /**
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase
      * @param \Magento\Core\Helper\Data $coreData
@@ -62,7 +62,7 @@ class Head extends \Magento\Page\Block\Html\Head
     public function __construct(
         \Magento\Core\Model\Session $session,
         \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase,
         \Magento\Core\Helper\Data $coreData,
diff --git a/app/code/Magento/Adminhtml/Block/Sales/Items/AbstractItems.php b/app/code/Magento/Adminhtml/Block/Sales/Items/AbstractItems.php
index 56f57a862b4..2c924b57e1c 100644
--- a/app/code/Magento/Adminhtml/Block/Sales/Items/AbstractItems.php
+++ b/app/code/Magento/Adminhtml/Block/Sales/Items/AbstractItems.php
@@ -127,7 +127,7 @@ class AbstractItems extends \Magento\Backend\Block\Template
     public function getItemRenderer($type)
     {
         $renderer = $this->getChildBlock($type) ?: $this->getChildBlock(self::DEFAULT_TYPE);
-        if (!$renderer instanceof \Magento\Core\Block) {
+        if (!$renderer instanceof \Magento\View\Element\BlockInterface) {
             throw new \RuntimeException('Renderer for type "' . $type . '" does not exist.');
         }
         foreach ($this->_columnRenders as $columnType => $columnRenderer) {
diff --git a/app/code/Magento/Adminhtml/Controller/Customer.php b/app/code/Magento/Adminhtml/Controller/Customer.php
index d124a6ba4ff..4cb4194c8c7 100644
--- a/app/code/Magento/Adminhtml/Controller/Customer.php
+++ b/app/code/Magento/Adminhtml/Controller/Customer.php
@@ -846,7 +846,7 @@ class Customer extends \Magento\Adminhtml\Controller\Action
             return $this->norouteAction();
         }
 
-        $path = $this->_objectManager->get('Magento\Core\Model\Dir')->getDir('media') . DS . 'customer';
+        $path = $this->_objectManager->get('Magento\App\Dir')->getDir('media') . DS . 'customer';
 
         /** @var \Magento\Filesystem $filesystem */
         $filesystem = $this->_objectManager->get('Magento\Filesystem');
diff --git a/app/code/Magento/Adminhtml/Controller/Sales/Order/Shipment.php b/app/code/Magento/Adminhtml/Controller/Sales/Order/Shipment.php
index fe5b4683e4f..c0c6817f60c 100644
--- a/app/code/Magento/Adminhtml/Controller/Sales/Order/Shipment.php
+++ b/app/code/Magento/Adminhtml/Controller/Sales/Order/Shipment.php
@@ -704,8 +704,8 @@ class Shipment extends \Magento\Adminhtml\Controller\Sales\Shipment\AbstractShip
     {
         /** @var \Magento\Filesystem $filesystem */
         $filesystem = $this->_objectManager->get('Magento\Filesystem');
-        /** @var $tmpDir \Magento\Core\Model\Dir */
-        $tmpDir = $this->_objectManager->get('Magento\Core\Model\Dir', $filesystem->getWorkingDirectory());
+        /** @var $tmpDir \Magento\App\Dir */
+        $tmpDir = $this->_objectManager->get('Magento\App\Dir', $filesystem->getWorkingDirectory());
         $image = imagecreatefromstring($imageString);
         if (!$image) {
             return false;
@@ -716,7 +716,7 @@ class Shipment extends \Magento\Adminhtml\Controller\Sales\Shipment\AbstractShip
         $page = new \Zend_Pdf_Page($xSize, $ySize);
 
         imageinterlace($image, 0);
-        $tmpFileName = $tmpDir->getDir(\Magento\Core\Model\Dir::TMP) . 'shipping_labels_'
+        $tmpFileName = $tmpDir->getDir(\Magento\App\Dir::TMP) . 'shipping_labels_'
                      . uniqid(mt_rand()) . time() . '.png';
         imagepng($image, $tmpFileName);
         $pdfImage = \Zend_Pdf_Image::imageWithPath($tmpFileName);
@@ -728,7 +728,7 @@ class Shipment extends \Magento\Adminhtml\Controller\Sales\Shipment\AbstractShip
     /**
      * Return grid with shipping items for Ajax request
      *
-     * @return \Magento\Core\Controller\Response\Http
+     * @return \Magento\App\ResponseInterface
      */
     public function getShippingItemsGridAction()
     {
diff --git a/app/code/Magento/Adminhtml/Controller/Sitemap.php b/app/code/Magento/Adminhtml/Controller/Sitemap.php
index 714a2786a46..5e5fdaae34d 100644
--- a/app/code/Magento/Adminhtml/Controller/Sitemap.php
+++ b/app/code/Magento/Adminhtml/Controller/Sitemap.php
@@ -175,9 +175,9 @@ class Sitemap extends  \Magento\Adminhtml\Controller\Action
                 $fileName = $model->getSitemapFilename();
 
                 $filesystem->setWorkingDirectory(
-                    $this->_objectManager->get('Magento\Core\Model\Dir')->getDir() . $model->getSitemapPath()
+                    $this->_objectManager->get('Magento\App\Dir')->getDir() . $model->getSitemapPath()
                 );
-                $filePath = $this->_objectManager->get('Magento\Core\Model\Dir')->getDir()
+                $filePath = $this->_objectManager->get('Magento\App\Dir')->getDir()
                     . $model->getSitemapPath() . DS . $fileName;
 
                 if ($fileName && $filesystem->isFile($filePath)) {
diff --git a/app/code/Magento/Adminhtml/Controller/System/Backup.php b/app/code/Magento/Adminhtml/Controller/System/Backup.php
index 4a9e2a02465..88b68ed37a3 100644
--- a/app/code/Magento/Adminhtml/Controller/System/Backup.php
+++ b/app/code/Magento/Adminhtml/Controller/System/Backup.php
@@ -143,7 +143,7 @@ class Backup extends \Magento\Adminhtml\Controller\Action
             }
 
             if ($type != \Magento\Backup\Helper\Data::TYPE_DB) {
-                $backupManager->setRootDir($this->_objectManager->get('Magento\Core\Model\Dir')->getDir())
+                $backupManager->setRootDir($this->_objectManager->get('Magento\App\Dir')->getDir())
                     ->addIgnorePaths($helper->getBackupIgnorePaths());
             }
 
@@ -274,7 +274,7 @@ class Backup extends \Magento\Adminhtml\Controller\Action
 
             if ($type != \Magento\Backup\Helper\Data::TYPE_DB) {
 
-                $backupManager->setRootDir($this->_objectManager->get('Magento\Core\Model\Dir')->getDir())
+                $backupManager->setRootDir($this->_objectManager->get('Magento\App\Dir')->getDir())
                     ->addIgnorePaths($helper->getRollbackIgnorePaths());
 
                 if ($this->getRequest()->getParam('use_ftp', false)) {
diff --git a/app/code/Magento/Adminhtml/Controller/System/Store.php b/app/code/Magento/Adminhtml/Controller/System/Store.php
index bc10ead2b71..7fe8aac1ace 100644
--- a/app/code/Magento/Adminhtml/Controller/System/Store.php
+++ b/app/code/Magento/Adminhtml/Controller/System/Store.php
@@ -471,7 +471,7 @@ class Store extends \Magento\Adminhtml\Controller\Action
             $backup   = $this->_objectManager->create('Magento\Backup\Model\Backup')
                 ->setTime(time())
                 ->setType('db')
-                ->setPath($this->_objectManager->get('Magento\Core\Model\Dir')->getDir('var') . DS . 'backups');
+                ->setPath($this->_objectManager->get('Magento\App\Dir')->getDir('var') . DS . 'backups');
 
             $backupDb->createBackup($backup);
             $this->_getSession()->addSuccess(__('The database was backed up.'));
diff --git a/app/code/Magento/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php b/app/code/Magento/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php
index a0c32c8a951..8c4f451926e 100644
--- a/app/code/Magento/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php
+++ b/app/code/Magento/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php
@@ -34,7 +34,7 @@ class Attribute extends \Magento\Backend\Helper\Data
     /**
      * Selected products for mass-update
      *
-     * @var \Magento\Catalog\Model\Entity\Product\Collection
+     * @var \Magento\Catalog\Model\Resource\Product\Collection
      */
     protected $_products;
 
@@ -68,41 +68,37 @@ class Attribute extends \Magento\Backend\Helper\Data
     protected $_eavConfig;
 
     /**
-     * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\Backend\Model\Session $session
-     * @param \Magento\Catalog\Model\Resource\Product\CollectionFactory $productsFactory
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Model\ConfigInterface $applicationConfig
      * @param \Magento\Core\Model\Config\Primary $primaryConfig
-     * @param \Magento\Core\Model\RouterList $routerList
-     * @param \Magento\Core\Model\AppInterface $app
+     * @param \Magento\App\RouterList $routerList
+     * @param \Magento\Core\Model\App\Proxy $app
      * @param \Magento\Backend\Model\Url $backendUrl
      * @param \Magento\Backend\Model\Auth $auth
-     * @param string $defaultAreaFrontName
-     * @param string $backendFrontName
+     * @param \Magento\Backend\App\Area\FrontNameResolver $frontNameResolver
+     * @param \Magento\Eav\Model\Config $eavConfig
+     * @param \Magento\Backend\Model\Session $session
+     * @param \Magento\Catalog\Model\Resource\Product\CollectionFactory $productsFactory
      */
     public function __construct(
-        \Magento\Eav\Model\Config $eavConfig,
-        \Magento\Backend\Model\Session $session,
-        \Magento\Catalog\Model\Resource\Product\CollectionFactory $productsFactory,
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Model\ConfigInterface $applicationConfig,
         \Magento\Core\Model\Config\Primary $primaryConfig,
-        \Magento\Core\Model\RouterList $routerList,
-        \Magento\Core\Model\AppInterface $app,
+        \Magento\App\RouterList $routerList,
+        \Magento\Core\Model\App\Proxy $app,
         \Magento\Backend\Model\Url $backendUrl,
         \Magento\Backend\Model\Auth $auth,
-        $defaultAreaFrontName,
-        $backendFrontName
+        \Magento\Backend\App\Area\FrontNameResolver $frontNameResolver,
+        \Magento\Eav\Model\Config $eavConfig,
+        \Magento\Backend\Model\Session $session,
+        \Magento\Catalog\Model\Resource\Product\CollectionFactory $productsFactory
     ) {
+
         $this->_eavConfig = $eavConfig;
         $this->_session = $session;
         $this->_productsFactory = $productsFactory;
         parent::__construct(
-            $context, $coreData, $applicationConfig, $primaryConfig, $routerList, $app, $backendUrl, $auth,
-            $defaultAreaFrontName, $backendFrontName
+            $context, $coreData, $primaryConfig, $routerList, $app, $backendUrl, $auth, $frontNameResolver
         );
     }
 
diff --git a/app/code/Magento/Adminhtml/Helper/Dashboard/Data.php b/app/code/Magento/Adminhtml/Helper/Dashboard/Data.php
index b04d14555e3..0127d6d008f 100644
--- a/app/code/Magento/Adminhtml/Helper/Dashboard/Data.php
+++ b/app/code/Magento/Adminhtml/Helper/Dashboard/Data.php
@@ -41,14 +41,14 @@ class Data extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param string $installDate
@@ -56,14 +56,14 @@ class Data extends \Magento\Core\Helper\Data
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         $installDate,
         $dbCompatibleMode = true
diff --git a/app/code/Magento/Adminhtml/Helper/Dashboard/Order.php b/app/code/Magento/Adminhtml/Helper/Dashboard/Order.php
index ae3322df2b8..7f14046330f 100644
--- a/app/code/Magento/Adminhtml/Helper/Dashboard/Order.php
+++ b/app/code/Magento/Adminhtml/Helper/Dashboard/Order.php
@@ -38,28 +38,28 @@ class Order extends \Magento\Adminhtml\Helper\Dashboard\AbstractDashboard
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Reports\Model\Resource\Order\Collection $orderCollection
      * @param bool $dbCompatibleMode
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\Reports\Model\Resource\Order\Collection $orderCollection,
         $dbCompatibleMode = true
diff --git a/app/code/Magento/Adminhtml/Model/Email/Template.php b/app/code/Magento/Adminhtml/Model/Email/Template.php
index cfbf69f2bf1..f192355359c 100644
--- a/app/code/Magento/Adminhtml/Model/Email/Template.php
+++ b/app/code/Magento/Adminhtml/Model/Email/Template.php
@@ -53,12 +53,12 @@ class Template extends \Magento\Core\Model\Email\Template
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Core\Model\View\FileSystem $viewFileSystem
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Config $coreConfig
      * @param \Magento\Core\Model\Email\Template\FilterFactory $emailFilterFactory
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Email\Template\Config $emailConfig
      * @param \Magento\Backend\Model\Config\Structure $structure
      * @param array $data
@@ -72,12 +72,12 @@ class Template extends \Magento\Core\Model\Email\Template
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Core\Model\View\FileSystem $viewFileSystem,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Config $coreConfig,
         \Magento\Core\Model\Email\Template\FilterFactory $emailFilterFactory,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Email\Template\Config $emailConfig,
         \Magento\Backend\Model\Config\Structure $structure,
         array $data = array()
diff --git a/app/code/Magento/Adminhtml/Model/Sales/Order/Create.php b/app/code/Magento/Adminhtml/Model/Sales/Order/Create.php
index f05f562ff89..a93ca31f502 100644
--- a/app/code/Magento/Adminhtml/Model/Sales/Order/Create.php
+++ b/app/code/Magento/Adminhtml/Model/Sales/Order/Create.php
@@ -142,7 +142,7 @@ class Create extends \Magento\Object implements \Magento\Checkout\Model\Cart\Car
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -158,7 +158,7 @@ class Create extends \Magento\Object implements \Magento\Checkout\Model\Cart\Car
 
     /**
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Sales\Model\Config $salesConfig
@@ -168,7 +168,7 @@ class Create extends \Magento\Object implements \Magento\Checkout\Model\Cart\Car
      */
     public function __construct(
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Sales\Model\Config $salesConfig,
diff --git a/app/code/Magento/Adminhtml/etc/di.xml b/app/code/Magento/Adminhtml/etc/di.xml
index bb601f67688..be3a96f2292 100644
--- a/app/code/Magento/Adminhtml/etc/di.xml
+++ b/app/code/Magento/Adminhtml/etc/di.xml
@@ -29,14 +29,9 @@
             <instance type="Magento\Core\Model\Cache\Type\Translate" />
         </param>
     </type>
-    <type name="Magento\Adminhtml\Model\Sales\Order\Create">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Adminhtml\Helper\Dashboard\Data">
         <param name="installDate">
-            <value type="argument">Magento\Core\Model\App\State::PARAM_INSTALL_DATE</value>
+            <value type="argument">Magento\App\State::PARAM_INSTALL_DATE</value>
         </param>
     </type>
     <type name="Magento\Adminhtml\Block\Rating\Edit\Tab\Form">
diff --git a/app/code/Magento/Adminhtml/view/adminhtml/dashboard/index.phtml b/app/code/Magento/Adminhtml/view/adminhtml/dashboard/index.phtml
index 54197ca68b3..cd6978a99fa 100644
--- a/app/code/Magento/Adminhtml/view/adminhtml/dashboard/index.phtml
+++ b/app/code/Magento/Adminhtml/view/adminhtml/dashboard/index.phtml
@@ -98,13 +98,9 @@ function toggleCal(id) {
                 <?php if (is_array($this->getChildBlock('diagrams')->getTabsIds())) : ?>
                     <div id="diagram_tab_content"></div>
                 <?php endif; ?>
-                <div style="margin:20px;">
-                    <?php echo $this->getChildHtml('totals') ?>
-                </div>
-                <div style="margin:20px;">
-                    <?php echo $this->getChildHtml('grids') ?>
-                    <div id="grid_tab_content"></div>
-                </div>
+                <?php echo $this->getChildHtml('totals') ?>
+                <?php echo $this->getChildHtml('grids') ?>
+                <div id="grid_tab_content"></div>
             </div>
          </div>
          <div class="side-col">
diff --git a/app/code/Magento/Adminhtml/view/adminhtml/system/cache/additional.phtml b/app/code/Magento/Adminhtml/view/adminhtml/system/cache/additional.phtml
index 0d5133982f2..c96ac544f3a 100644
--- a/app/code/Magento/Adminhtml/view/adminhtml/system/cache/additional.phtml
+++ b/app/code/Magento/Adminhtml/view/adminhtml/system/cache/additional.phtml
@@ -24,7 +24,7 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 ?>
-<div class="fieldset">
+<div class="fieldset additional-cache-management">
     <div class="legend">
         <span><?php echo __('Additional Cache Management') ?></span>
     </div>
@@ -32,13 +32,13 @@
         <button onclick="setLocation('<?php echo $this->getCleanImagesUrl()?>')" type="button">
             <?php echo __('Flush Catalog Images Cache') ?>
         </button>
-        <span class="label"><?php echo __('Pregenerated product images files')?></span>
+        <label class="label"><?php echo __('Pregenerated product images files')?></label>
     </div>
     <div class="field">
         <button onclick="setLocation('<?php echo $this->getCleanMediaUrl()?>')" type="button">
             <?php echo __('Flush JavaScript/CSS Cache') ?>
         </button>
-        <span class="label"><?php echo __('Themes JavaScript and CSS files combined to one file.')?></span>
+        <label class="label"><?php echo __('Themes JavaScript and CSS files combined to one file.')?></label>
     </div>
     <?php echo $this->getChildHtml(); ?>
 </div>
diff --git a/app/code/Magento/Authorizenet/Model/Directpost.php b/app/code/Magento/Authorizenet/Model/Directpost.php
index b855e4f7958..76b9b4b57a9 100644
--- a/app/code/Magento/Authorizenet/Model/Directpost.php
+++ b/app/code/Magento/Authorizenet/Model/Directpost.php
@@ -82,9 +82,9 @@ class Directpost extends \Magento\Paygate\Model\Authorizenet
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Core\Model\Session\AbstractSession $session
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Paygate\Helper\Data $paygateData
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
@@ -104,9 +104,9 @@ class Directpost extends \Magento\Paygate\Model\Authorizenet
         \Magento\Sales\Model\OrderFactory $orderFactory,
         \Magento\Core\Model\Session\AbstractSession $session,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Paygate\Helper\Data $paygateData,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
diff --git a/app/code/Magento/Backend/App/Area/FrontNameResolver.php b/app/code/Magento/Backend/App/Area/FrontNameResolver.php
new file mode 100644
index 00000000000..85dd32d939e
--- /dev/null
+++ b/app/code/Magento/Backend/App/Area/FrontNameResolver.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Backend\App\Area;
+
+class FrontNameResolver implements \Magento\App\Area\FrontNameResolverInterface
+{
+    const XML_PATH_USE_CUSTOM_ADMIN_PATH        = 'admin/url/use_custom_path';
+    const XML_PATH_CUSTOM_ADMIN_PATH            = 'admin/url/custom_path';
+
+    const PARAM_BACKEND_FRONT_NAME              = 'backend.frontName';
+
+    /**
+     * @var string
+     */
+    protected $_defaultFrontName;
+
+    /**
+     * @var \Magento\Core\Model\ConfigInterface
+     */
+    protected $_config;
+
+    /**
+     * @param \Magento\Core\Model\ConfigInterface $config
+     * @param string $defaultFrontName
+     */
+    public function __construct(\Magento\Core\Model\ConfigInterface $config, $defaultFrontName)
+    {
+        $this->_config = $config;
+        $this->_defaultFrontName = $defaultFrontName;
+    }
+
+    /**
+     * Retrieve area front name
+     *
+     * @return string
+     */
+    public function getFrontName()
+    {
+        $isCustomPathUsed = (bool)(string)$this->_config->getValue(self::XML_PATH_USE_CUSTOM_ADMIN_PATH, 'default');
+        if ($isCustomPathUsed) {
+            return (string)$this->_config->getValue(self::XML_PATH_CUSTOM_ADMIN_PATH, 'default');
+        }
+        return $this->_defaultFrontName;
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Backend/App/Request/PathInfoProcessor.php b/app/code/Magento/Backend/App/Request/PathInfoProcessor.php
new file mode 100644
index 00000000000..e88af14ad33
--- /dev/null
+++ b/app/code/Magento/Backend/App/Request/PathInfoProcessor.php
@@ -0,0 +1,65 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Backend\App\Request;
+
+class PathInfoProcessor implements \Magento\App\Request\PathInfoProcessorInterface
+{
+    /**
+     * @var \Magento\Backend\Helper\Data
+     */
+    private $_helper;
+    /**
+     * @var \Magento\Core\App\Request\PathInfoProcessor
+     */
+    private $_subject;
+
+    /**
+     * @param \Magento\Core\App\Request\PathInfoProcessor $subject
+     * @param \Magento\Backend\Helper\Data $helper
+     */
+    public function __construct(
+        \Magento\Core\App\Request\PathInfoProcessor $subject, \Magento\Backend\Helper\Data $helper
+    ) {
+        $this->_helper = $helper;
+        $this->_subject = $subject;
+    }
+
+    /**
+     * Process path info
+     *
+     * @param \Magento\App\RequestInterface $request
+     * @param string $pathInfo
+     * @return string
+     */
+    public function process(\Magento\App\RequestInterface $request, $pathInfo)
+    {
+        $pathParts = explode('/', ltrim($pathInfo, '/'), 2);
+        $storeCode = $pathParts[0];
+
+        if ($storeCode != $this->_helper->getAreaFrontName()) {
+            return $this->_subject->process($request, $pathInfo);
+        }
+        return $pathInfo;
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Backend/Model/Router/NoRouteHandler.php b/app/code/Magento/Backend/App/Router/NoRouteHandler.php
similarity index 87%
rename from app/code/Magento/Backend/Model/Router/NoRouteHandler.php
rename to app/code/Magento/Backend/App/Router/NoRouteHandler.php
index 9e645c1895c..da35e1856de 100644
--- a/app/code/Magento/Backend/Model/Router/NoRouteHandler.php
+++ b/app/code/Magento/Backend/App/Router/NoRouteHandler.php
@@ -24,9 +24,9 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Backend\Model\Router;
+namespace Magento\Backend\App\Router;
 
-class NoRouteHandler implements \Magento\Core\Model\Router\NoRouteHandlerInterface
+class NoRouteHandler implements \Magento\Appl\Router\NoRouteHandlerInterface
 {
     /**
      * @var \Magento\Backend\Helper\Data
@@ -44,10 +44,10 @@ class NoRouteHandler implements \Magento\Core\Model\Router\NoRouteHandlerInterfa
     /**
      * Check and process no route request
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return bool
      */
-    public function process(\Magento\Core\Controller\Request\Http $request)
+    public function process(\Magento\App\RequestInterface $request)
     {
         $requestPathParams = explode('/', trim($request->getPathInfo(), '/'));
         $areaFrontName = array_shift($requestPathParams);
diff --git a/app/code/Magento/Backend/Block/Context.php b/app/code/Magento/Backend/Block/Context.php
index 54b975a2e6f..c7213a9dddd 100644
--- a/app/code/Magento/Backend/Block/Context.php
+++ b/app/code/Magento/Backend/Block/Context.php
@@ -36,41 +36,41 @@ class Context extends \Magento\Core\Block\Context
     protected $_authorization;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\Translate $translator
      * @param \Magento\Core\Model\CacheInterface $cache
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Session\AbstractSession $session
      * @param \Magento\Core\Model\Store\Config $storeConfig
-     * @param \Magento\Core\Controller\Varien\Front $frontController
+     * @param \Magento\App\FrontController $frontController
      * @param \Magento\Core\Model\Factory\Helper $helperFactory
      * @param \Magento\Core\Model\View\Url $viewUrl
-     * @param \Magento\Core\Model\View\Config $viewConfig
+     * @param \Magento\View\ConfigInterface $viewConfig
      * @param \Magento\Core\Model\Cache\StateInterface $cacheState
      * @param \Magento\AuthorizationInterface $authorization
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Model\App $app
      * @param array $data
-     *
+     * 
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\Event\Manager $eventManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\App\RequestInterface $request,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\Translate $translator,
         \Magento\Core\Model\CacheInterface $cache,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Session\AbstractSession $session,
         \Magento\Core\Model\Store\Config $storeConfig,
-        \Magento\Core\Controller\Varien\Front $frontController,
+        \Magento\App\FrontController $frontController,
         \Magento\Core\Model\Factory\Helper $helperFactory,
         \Magento\Core\Model\View\Url $viewUrl,
-        \Magento\Core\Model\View\Config $viewConfig,
+        \Magento\View\ConfigInterface $viewConfig,
         \Magento\Core\Model\Cache\StateInterface $cacheState,
         \Magento\AuthorizationInterface $authorization,
         \Magento\Core\Model\Logger $logger,
diff --git a/app/code/Magento/Backend/Block/System/Config/Form/Field/Regexceptions.php b/app/code/Magento/Backend/Block/System/Config/Form/Field/Regexceptions.php
index ae4748fe9fe..4eadf3c9e92 100644
--- a/app/code/Magento/Backend/Block/System/Config/Form/Field/Regexceptions.php
+++ b/app/code/Magento/Backend/Block/System/Config/Form/Field/Regexceptions.php
@@ -70,11 +70,9 @@ class Regexceptions
     {
         $this->addColumn('search', array(
             'label' => __('Search String'),
-            'style' => 'width:120px',
         ));
         $this->addColumn('value', array(
             'label' => __('Design Theme'),
-            'style' => 'width:120px',
         ));
         $this->_addAfter = false;
         $this->_addButtonLabel = __('Add \Exception');
diff --git a/app/code/Magento/Backend/Block/System/Config/Form/Fieldset/Modules/DisableOutput.php b/app/code/Magento/Backend/Block/System/Config/Form/Fieldset/Modules/DisableOutput.php
index 4c69ee8edf6..923206ff93b 100644
--- a/app/code/Magento/Backend/Block/System/Config/Form/Fieldset/Modules/DisableOutput.php
+++ b/app/code/Magento/Backend/Block/System/Config/Form/Fieldset/Modules/DisableOutput.php
@@ -49,20 +49,20 @@ class DisableOutput
     protected $_values;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleList;
 
     /**
      * @param \Magento\Backend\Block\Context $context
      * @param \Magento\Backend\Model\Auth\Session $authSession
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param array $data
      */
     public function __construct(
         \Magento\Backend\Block\Context $context,
         \Magento\Backend\Model\Auth\Session $authSession,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         array $data = array()
     ) {
         parent::__construct($context, $authSession, $data);
diff --git a/app/code/Magento/Backend/Block/Template/Context.php b/app/code/Magento/Backend/Block/Template/Context.php
index b861608abc6..def099d23b2 100644
--- a/app/code/Magento/Backend/Block/Template/Context.php
+++ b/app/code/Magento/Backend/Block/Template/Context.php
@@ -47,53 +47,53 @@ class Context extends \Magento\Core\Block\Template\Context
 
     /**
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\Translate $translator
      * @param \Magento\Core\Model\CacheInterface $cache
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Core\Model\Store\Config $storeConfig
-     * @param \Magento\Core\Controller\Varien\Front $frontController
+     * @param \Magento\App\FrontController $frontController
      * @param \Magento\Core\Model\Factory\Helper $helperFactory
      * @param \Magento\Core\Model\View\Url $viewUrl
-     * @param \Magento\Core\Model\View\Config $viewConfig
+     * @param \Magento\View\ConfigInterface $viewConfig
      * @param \Magento\Core\Model\Cache\StateInterface $cacheState
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\View\FileSystem $viewFileSystem
-     * @param \Magento\Core\Model\TemplateEngine\Factory $engineFactory
+     * @param \Magento\Core\Model\TemplateEngine\Pool $enginePool
      * @param \Magento\AuthorizationInterface $authorization
      * @param \Magento\Core\Model\App $app
      * @param \Magento\Backend\Model\Session $backendSession
      * @param \Magento\Core\Model\LocaleInterface $locale
-     *
+     * 
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\Event\Manager $eventManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\App\RequestInterface $request,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\Translate $translator,
         \Magento\Core\Model\CacheInterface $cache,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Session $session,
         \Magento\Core\Model\Store\Config $storeConfig,
-        \Magento\Core\Controller\Varien\Front $frontController,
+        \Magento\App\FrontController $frontController,
         \Magento\Core\Model\Factory\Helper $helperFactory,
         \Magento\Core\Model\View\Url $viewUrl,
-        \Magento\Core\Model\View\Config $viewConfig,
+        \Magento\View\ConfigInterface $viewConfig,
         \Magento\Core\Model\Cache\StateInterface $cacheState,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Logger $logger,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\View\FileSystem $viewFileSystem,
-        \Magento\Core\Model\TemplateEngine\Factory $engineFactory,
+        \Magento\Core\Model\TemplateEngine\Pool $enginePool,
         \Magento\AuthorizationInterface $authorization,
         \Magento\Core\Model\App $app,
         \Magento\Backend\Model\Session $backendSession,
@@ -102,7 +102,7 @@ class Context extends \Magento\Core\Block\Template\Context
         parent::__construct(
             $request, $layout, $eventManager, $urlBuilder, $translator, $cache, $design, $session, $storeConfig,
             $frontController, $helperFactory, $viewUrl, $viewConfig, $cacheState,
-            $dirs, $logger, $filesystem, $viewFileSystem, $engineFactory, $app
+            $dirs, $logger, $filesystem, $viewFileSystem, $enginePool, $app
         );
         $this->_storeManager = $storeManager;
         $this->_authorization = $authorization;
@@ -123,7 +123,7 @@ class Context extends \Magento\Core\Block\Template\Context
     /**
      * Retrieve Authorization
      *
-     * @return \\Magento\AuthorizationInterface
+     * @return \Magento\AuthorizationInterface
      */
     public function getAuthorization()
     {
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Currency.php b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Currency.php
index e4a1dff97c7..6ffbd69dcc4 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Currency.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Currency.php
@@ -49,7 +49,7 @@ class Currency
      *
      * @var \Magento\Core\Model\App
      */
-    protected $_app;
+    protected $_storeManager;
 
     /**
      * Locale
@@ -65,20 +65,20 @@ class Currency
 
     /**
      * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Core\Model\App $app
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Directory\Model\Currency\DefaultLocator $currencyLocator
      * @param array $data
      */
     public function __construct(
         \Magento\Backend\Block\Context $context,
-        \Magento\Core\Model\App $app,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Directory\Model\Currency\DefaultLocator $currencyLocator,
         array $data = array()
     ) {
         parent::__construct($context, $data);
-        $this->_app = $app;
+        $this->_storeManager = $storeManager;
         $this->_locale = $locale;
         $this->_currencyLocator = $currencyLocator;
     }
@@ -135,7 +135,7 @@ class Currency
         if ($rate = $row->getData($this->getColumn()->getRateField())) {
             return floatval($rate);
         }
-        return $this->_app->getStore()->getBaseCurrency()->getRate($this->_getCurrencyCode($row));
+        return $this->_storeManager->getStore()->getBaseCurrency()->getRate($this->_getCurrencyCode($row));
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Export.php b/app/code/Magento/Backend/Block/Widget/Grid/Export.php
index 775a8ebb43a..67bf75f7c95 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Export.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Export.php
@@ -91,7 +91,7 @@ class Export
                 $this->addExportType($type['urlPath'], $type['label']);
             }
         }
-        $this->_exportPath = $this->_dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'export';
+        $this->_exportPath = $this->_dirs->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'export';
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Extended.php b/app/code/Magento/Backend/Block/Widget/Grid/Extended.php
index cd5a644fbdb..72bdd253523 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Extended.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Extended.php
@@ -184,7 +184,7 @@ class Extended
     {
         parent::_construct();
         $this->_emptyText = __('We couldn\'t find any records.');
-        $this->_exportPath = $this->_dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'export';
+        $this->_exportPath = $this->_dirs->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'export';
     }
 
     /**
diff --git a/app/code/Magento/Backend/Controller/AbstractAction.php b/app/code/Magento/Backend/Controller/AbstractAction.php
index c7503740b8e..a0f745f5175 100644
--- a/app/code/Magento/Backend/Controller/AbstractAction.php
+++ b/app/code/Magento/Backend/Controller/AbstractAction.php
@@ -349,9 +349,9 @@ abstract class AbstractAction extends \Magento\Core\Controller\Varien\Action
     /**
      * Process not logged in user data
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      */
-    protected function _processNotLoggedInUser(\Magento\Core\Controller\Request\Http $request)
+    protected function _processNotLoggedInUser(\Magento\App\RequestInterface $request)
     {
         $isRedirectNeeded = false;
         if ($request->getPost('login') && $this->_performLogin()) {
diff --git a/app/code/Magento/Backend/Controller/Context.php b/app/code/Magento/Backend/Controller/Context.php
index cbc37f128b3..d3218cad9d0 100644
--- a/app/code/Magento/Backend/Controller/Context.php
+++ b/app/code/Magento/Backend/Controller/Context.php
@@ -70,13 +70,13 @@ class Context extends \Magento\Core\Controller\Varien\Action\Context
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\ResponseInterface $response
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Controller\Varien\Front $frontController
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param bool $isRenderInherited
+     * @param \Magento\App\FrontController $frontController
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param $isRenderInherited
      * @param \Magento\Backend\Model\Session $session
      * @param \Magento\Backend\Helper\Data $helper
      * @param \Magento\AuthorizationInterface $authorization
@@ -84,17 +84,17 @@ class Context extends \Magento\Core\Controller\Varien\Action\Context
      * @param \Magento\Backend\Model\Auth $auth
      * @param \Magento\Backend\Model\Url $backendUrl
      * @param \Magento\Core\Model\LocaleInterface $locale
-     *
+     * 
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Controller\Response\Http $response,
+        \Magento\App\RequestInterface $request,
+        \Magento\App\ResponseInterface $response,
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Controller\Varien\Front $frontController,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\App\FrontController $frontController,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\Event\ManagerInterface $eventManager,
         $isRenderInherited,
         \Magento\Backend\Model\Session $session,
         \Magento\Backend\Helper\Data $helper,
diff --git a/app/code/Magento/Backend/Controller/Factory.php b/app/code/Magento/Backend/Controller/Factory.php
index d72ceccd66e..18aecc8d4db 100644
--- a/app/code/Magento/Backend/Controller/Factory.php
+++ b/app/code/Magento/Backend/Controller/Factory.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Backend\Controller;
 
-class Factory extends \Magento\Core\Controller\Varien\Action\Factory
+class Factory extends \Magento\App\ActionFactory
 {
     /**
      * @param string $controllerName
diff --git a/app/code/Magento/Backend/Controller/Router/DefaultRouter.php b/app/code/Magento/Backend/Controller/Router/DefaultRouter.php
index 105fced1d4c..a5a5a2ba2a4 100644
--- a/app/code/Magento/Backend/Controller/Router/DefaultRouter.php
+++ b/app/code/Magento/Backend/Controller/Router/DefaultRouter.php
@@ -68,7 +68,7 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\Base
     protected $_defaultRouteId;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -84,18 +84,17 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\Base
 
     /**
      * @param \Magento\Backend\Helper\Data $backendData
-     * @param \Magento\Core\Controller\Varien\Action\Factory $controllerFactory
+     * @param \Magento\App\ActionFactory $controllerFactory
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\Config\Scope $configScope
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Route\Config $routeConfig
      * @param \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Url $url
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param $areaCode
      * @param $baseController
      * @param $routerId
@@ -107,18 +106,17 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\Base
      */
     public function __construct(
         \Magento\Backend\Helper\Data $backendData,
-        \Magento\Core\Controller\Varien\Action\Factory $controllerFactory,
+        \Magento\App\ActionFactory $controllerFactory,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\Config\Scope $configScope,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Route\Config $routeConfig,
         \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Url $url,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         $areaCode,
         $baseController,
         $routerId,
@@ -128,7 +126,6 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\Base
             $controllerFactory,
             $filesystem,
             $app,
-            $configScope,
             $coreStoreConfig,
             $routeConfig,
             $securityInfo,
@@ -147,9 +144,6 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\Base
         $this->_url = $url;
         $this->_areaFrontName = $this->_backendData->getAreaFrontName();
         $this->_defaultRouteId = $defaultRouteId;
-        if (empty($this->_areaFrontName)) {
-            throw new \InvalidArgumentException('Area Front Name should be defined');
-        }
     }
 
     /**
@@ -250,7 +244,7 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\Base
     /**
      * Retrieve current secure url
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return string
      */
     protected function _getCurrentSecureUrl($request)
diff --git a/app/code/Magento/Backend/Helper/Data.php b/app/code/Magento/Backend/Helper/Data.php
index b15851ab5ac..58c66c98540 100644
--- a/app/code/Magento/Backend/Helper/Data.php
+++ b/app/code/Magento/Backend/Helper/Data.php
@@ -32,38 +32,17 @@ namespace Magento\Backend\Helper;
 class Data extends \Magento\Core\Helper\AbstractHelper
 {
     const XML_PATH_USE_CUSTOM_ADMIN_URL         = 'admin/url/use_custom';
-    const XML_PATH_USE_CUSTOM_ADMIN_PATH        = 'admin/url/use_custom_path';
-    const XML_PATH_CUSTOM_ADMIN_PATH            = 'admin/url/custom_path';
-    const XML_PATH_BACKEND_AREA_FRONTNAME       = 'default/backend/frontName';
     const BACKEND_AREA_CODE                     = 'adminhtml';
 
-    const PARAM_BACKEND_FRONT_NAME              = 'backend.frontName';
-
     protected $_pageHelpUrl;
 
-    /**
-     * @var \Magento\Core\Model\ConfigInterface
-     */
-    protected $_config;
-
     /**
      * @var \Magento\Core\Model\Config\Primary
      */
     protected $_primaryConfig;
 
     /**
-     * @var string
-     */
-    protected $_defaultAreaFrontName;
-
-    /**
-     * Area front name
-     * @var string
-     */
-    protected $_areaFrontName = null;
-
-    /**
-     * @var \Magento\Core\Model\RouterList
+     * @var \Magento\App\RouterList
      */
     protected $_routerList;
 
@@ -75,7 +54,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_coreData = null;
 
     /**
-     * @var \Magento\Core\Model\AppInterface
+     * @var \Magento\Core\Model\App
      */
     protected $_app;
 
@@ -90,48 +69,38 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_auth;
 
     /**
-     * Backend area front name
-     *
-     * @var string
+     * @var \Magento\Backend\App\Area\FrontNameResolver
      */
-    protected $_backendFrontName;
+    protected $_frontNameResolver;
 
     /**
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Model\ConfigInterface $applicationConfig
      * @param \Magento\Core\Model\Config\Primary $primaryConfig
-     * @param \Magento\Core\Model\RouterList $routerList
-     * @param \Magento\Core\Model\AppInterface $app
+     * @param \Magento\App\RouterList $routerList
+     * @param \Magento\Core\Model\App $app
      * @param \Magento\Backend\Model\Url $backendUrl
      * @param \Magento\Backend\Model\Auth $auth
-     * @param string $defaultAreaFrontName
-     * @param string $backendFrontName
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     * @param \Magento\Backend\App\Area\FrontNameResolver $frontNameResolver
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Model\ConfigInterface $applicationConfig,
         \Magento\Core\Model\Config\Primary $primaryConfig,
-        \Magento\Core\Model\RouterList $routerList,
-        \Magento\Core\Model\AppInterface $app,
+        \Magento\App\RouterList $routerList,
+        \Magento\Core\Model\App $app,
         \Magento\Backend\Model\Url $backendUrl,
         \Magento\Backend\Model\Auth $auth,
-        $defaultAreaFrontName,
-        $backendFrontName
+        \Magento\Backend\App\Area\FrontNameResolver $frontNameResolver
     ) {
         parent::__construct($context);
         $this->_coreData = $coreData;
-        $this->_config = $applicationConfig;
         $this->_primaryConfig = $primaryConfig;
-        $this->_defaultAreaFrontName = $defaultAreaFrontName;
         $this->_routerList = $routerList;
         $this->_app = $app;
         $this->_backendUrl = $backendUrl;
         $this->_auth = $auth;
-        $this->_backendFrontName = $backendFrontName;
+        $this->_frontNameResolver = $frontNameResolver;
     }
 
     public function getPageHelpUrl()
@@ -252,28 +221,6 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     public function getAreaFrontName()
     {
-        if (null === $this->_areaFrontName) {
-            $isCustomPathUsed = (bool)(string)$this->_config->getValue(self::XML_PATH_USE_CUSTOM_ADMIN_PATH, 'default');
-
-            if ($isCustomPathUsed) {
-                $this->_areaFrontName = (string)$this->_config->getValue(self::XML_PATH_CUSTOM_ADMIN_PATH, 'default');
-            } elseif ($this->_backendFrontName) {
-                $this->_areaFrontName = $this->_backendFrontName;
-            } else {
-                $this->_areaFrontName = $this->_defaultAreaFrontName;
-            }
-        }
-        return $this->_areaFrontName;
-    }
-
-    /**
-     * Invalidate cache of area front name
-     *
-     * @return \Magento\Backend\Helper\Data
-     */
-    public function clearAreaFrontName()
-    {
-        $this->_areaFrontName = null;
-        return $this;
+        return $this->_frontNameResolver->getFrontName();
     }
 }
diff --git a/app/code/Magento/Backend/Model/Auth.php b/app/code/Magento/Backend/Model/Auth.php
index 999e98fdf31..795b7a4092d 100644
--- a/app/code/Magento/Backend/Model/Auth.php
+++ b/app/code/Magento/Backend/Model/Auth.php
@@ -51,7 +51,7 @@ class Auth
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -66,7 +66,7 @@ class Auth
     protected $_modelFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Backend\Helper\Data $backendData
      * @param \Magento\Backend\Model\Auth\StorageInterface $authStorage
      * @param \Magento\Backend\Model\Auth\Credential\StorageInterface $credentialStorage
@@ -74,7 +74,7 @@ class Auth
      * @param \Magento\Core\Model\Factory $modelFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Backend\Helper\Data $backendData,
         \Magento\Backend\Model\Auth\StorageInterface $authStorage,
         \Magento\Backend\Model\Auth\Credential\StorageInterface $credentialStorage,
@@ -131,21 +131,11 @@ class Auth
      * Initialize credential storage from configuration
      *
      * @return void
-     * @throw \Magento\Backend\Model\Auth\Exception if credential storage absent or has not correct configuration
      */
     protected function _initCredentialStorage()
     {
-        $areaConfig = $this->_coreConfig->getAreaConfig($this->_backendData->getAreaCode());
-
-        if (isset($areaConfig['auth_credential_storage'])) {
-            $storage = $this->_modelFactory->create($areaConfig['auth_credential_storage']);
-            if ($storage instanceof \Magento\Backend\Model\Auth\Credential\StorageInterface) {
-                $this->_credentialStorage = $storage;
-                return;
-            }
-        }
-        self::throwException(
-            __('There are no authentication credential storage.')
+        $this->_credentialStorage = $this->_modelFactory->create(
+            'Magento\Backend\Model\Auth\Credential\StorageInterface'
         );
     }
 
diff --git a/app/code/Magento/Backend/Model/Config.php b/app/code/Magento/Backend/Model/Config.php
index 6f7ad29e737..dde68d58c08 100644
--- a/app/code/Magento/Backend/Model/Config.php
+++ b/app/code/Magento/Backend/Model/Config.php
@@ -47,7 +47,7 @@ class Config extends \Magento\Object
     /**
      * Event dispatcher
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -108,7 +108,7 @@ class Config extends \Magento\Object
     /**
      * @param \Magento\Core\Model\App $application
      * @param \Magento\Core\Model\Config $config
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Backend\Model\Config\Structure $configStructure
      * @param \Magento\Core\Model\Resource\TransactionFactory $transactionFactory
      * @param \Magento\Backend\Model\Config\Loader $configLoader
@@ -119,7 +119,7 @@ class Config extends \Magento\Object
     public function __construct(
         \Magento\Core\Model\App $application,
         \Magento\Core\Model\Config $config,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Backend\Model\Config\Structure $configStructure,
         \Magento\Core\Model\Resource\TransactionFactory $transactionFactory,
         \Magento\Backend\Model\Config\Loader $configLoader,
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Admin/Custompath.php b/app/code/Magento/Backend/Model/Config/Backend/Admin/Custompath.php
index 729dbe6d887..72f7107ac47 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Admin/Custompath.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Admin/Custompath.php
@@ -35,37 +35,6 @@ namespace Magento\Backend\Model\Config\Backend\Admin;
 
 class Custompath extends \Magento\Core\Model\Config\Value
 {
-    /**
-     * Backend data
-     *
-     * @var \Magento\Backend\Helper\Data
-     */
-    protected $_backendData = null;
-
-    /**
-     * @param \Magento\Backend\Helper\Data $backendData
-     * @param \Magento\Core\Model\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Config $config
-     * @param \Magento\Core\Model\Resource\AbstractResource $resource
-     * @param \Magento\Data\Collection\Db $resourceCollection
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Backend\Helper\Data $backendData,
-        \Magento\Core\Model\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Config $config,
-        \Magento\Core\Model\Resource\AbstractResource $resource = null,
-        \Magento\Data\Collection\Db $resourceCollection = null,
-        array $data = array()
-    ) {
-        $this->_backendData = $backendData;
-        parent::__construct($context, $registry, $storeManager, $config, $resource, $resourceCollection, $data);
-    }
-
     /**
      * Check whether redirect should be set
      *
@@ -74,7 +43,6 @@ class Custompath extends \Magento\Core\Model\Config\Value
     protected function _beforeSave()
     {
         if ($this->getOldValue() != $this->getValue()) {
-            $this->_backendData->clearAreaFrontName();
             $this->_coreRegistry->register('custom_admin_path_redirect', true, true);
         }
         return $this;
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Admin/Robots.php b/app/code/Magento/Backend/Model/Config/Backend/Admin/Robots.php
index ad83d0ad79d..1da5b648850 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Admin/Robots.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Admin/Robots.php
@@ -47,7 +47,7 @@ class Robots extends \Magento\Core\Model\Config\Value
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -58,7 +58,7 @@ class Robots extends \Magento\Core\Model\Config\Value
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -73,7 +73,7 @@ class Robots extends \Magento\Core\Model\Config\Value
             $data
         );
         $this->_filesystem = $filesystem;
-        $this->_filePath = $dir->getDir(\Magento\Core\Model\Dir::ROOT) . '/robots.txt';
+        $this->_filePath = $dir->getDir(\Magento\App\Dir::ROOT) . '/robots.txt';
     }
 
     /**
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Admin/Usecustompath.php b/app/code/Magento/Backend/Model/Config/Backend/Admin/Usecustompath.php
deleted file mode 100644
index cf10a3ce679..00000000000
--- a/app/code/Magento/Backend/Model/Config/Backend/Admin/Usecustompath.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    Magento
- * @package     Magento_Backend
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-
-
-/**
- * Config backend model for "Use Custom Admin Path" option
- *
- * @category   Magento
- * @package    Magento_Backend
- * @author     Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Backend\Model\Config\Backend\Admin;
-
-class Usecustompath extends \Magento\Core\Model\Config\Value
-{
-    /**
-     * Backend data
-     *
-     * @var \Magento\Backend\Helper\Data
-     */
-    protected $_backendData = null;
-
-    /**
-     * @param \Magento\Backend\Helper\Data $backendData
-     * @param \Magento\Core\Model\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Config $config
-     * @param \Magento\Core\Model\Resource\AbstractResource $resource
-     * @param \Magento\Data\Collection\Db $resourceCollection
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Backend\Helper\Data $backendData,
-        \Magento\Core\Model\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Config $config,
-        \Magento\Core\Model\Resource\AbstractResource $resource = null,
-        \Magento\Data\Collection\Db $resourceCollection = null,
-        array $data = array()
-    ) {
-        $this->_backendData = $backendData;
-        parent::__construct($context, $registry, $storeManager, $config, $resource, $resourceCollection, $data);
-    }
-
-    /**
-     * Check whether redirect should be set
-     *
-     * @return \Magento\Backend\Model\Config\Backend\Admin\Usecustompath
-     */
-    protected function _beforeSave()
-    {
-        if ($this->getOldValue() != $this->getValue()) {
-            $this->_backendData->clearAreaFrontName();
-            $this->_coreRegistry->register('custom_admin_path_redirect', true, true);
-        }
-
-        return $this;
-    }
-}
diff --git a/app/code/Magento/Backend/Model/Config/Backend/File.php b/app/code/Magento/Backend/Model/Config/Backend/File.php
index b345145672c..0c09afff08b 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/File.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/File.php
@@ -56,7 +56,7 @@ class File extends \Magento\Core\Model\Config\Value
     protected $_uploaderFactory;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -68,7 +68,7 @@ class File extends \Magento\Core\Model\Config\Value
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Backend\Model\Config\Backend\File\RequestData\RequestDataInterface $requestData
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -83,7 +83,7 @@ class File extends \Magento\Core\Model\Config\Value
         \Magento\Core\Model\Config $config,
         \Magento\Backend\Model\Config\Backend\File\RequestData\RequestDataInterface $requestData,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -216,7 +216,7 @@ class File extends \Magento\Core\Model\Config\Value
      */
     protected function _getUploadRoot($token)
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA);
+        return $this->_dir->getDir(\Magento\App\Dir::MEDIA);
     }
 
     /**
diff --git a/app/code/Magento/Backend/Model/Config/ScopeDefiner.php b/app/code/Magento/Backend/Model/Config/ScopeDefiner.php
index 464576a9778..c723557ea6c 100644
--- a/app/code/Magento/Backend/Model/Config/ScopeDefiner.php
+++ b/app/code/Magento/Backend/Model/Config/ScopeDefiner.php
@@ -38,14 +38,14 @@ class ScopeDefiner
     /**
      * Request object
      *
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      */
-    public function __construct(\Magento\Core\Controller\Request\Http $request)
+    public function __construct(\Magento\App\RequestInterface $request)
     {
         $this->_request = $request;
     }
diff --git a/app/code/Magento/Backend/Model/Locale.php b/app/code/Magento/Backend/Model/Locale.php
index d8188c18fdb..c96f676f0d4 100644
--- a/app/code/Magento/Backend/Model/Locale.php
+++ b/app/code/Magento/Backend/Model/Locale.php
@@ -44,7 +44,7 @@ class Locale extends \Magento\Core\Model\Locale
     protected $_localeManager;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -54,14 +54,14 @@ class Locale extends \Magento\Core\Model\Locale
     protected $_localeValidator;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Backend\Model\Session $session
      * @param \Magento\Backend\Model\Locale\Manager $localeManager
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Core\Model\Locale\Validator $localeValidator
      * @param \Magento\Core\Helper\Translate $translate
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale\Config $config
      * @param \Magento\Core\Model\App $app
@@ -70,14 +70,14 @@ class Locale extends \Magento\Core\Model\Locale
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Backend\Model\Session $session,
         \Magento\Backend\Model\Locale\Manager $localeManager,
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Core\Model\Locale\Validator $localeValidator,
         \Magento\Core\Helper\Translate $translate,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale\Config $config,
         \Magento\Core\Model\App $app,
diff --git a/app/code/Magento/Backend/Model/Menu/Config.php b/app/code/Magento/Backend/Model/Menu/Config.php
index d96c0870299..84afc92fa39 100644
--- a/app/code/Magento/Backend/Model/Menu/Config.php
+++ b/app/code/Magento/Backend/Model/Menu/Config.php
@@ -36,7 +36,7 @@ class Config
     protected $_configCacheType;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -77,7 +77,7 @@ class Config
      * @param \Magento\Backend\Model\MenuFactory $menuFactory
      * @param \Magento\Backend\Model\Menu\Config\Reader $configReader
      * @param \Magento\Core\Model\Cache\Type\Config $configCacheType
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
@@ -87,7 +87,7 @@ class Config
         \Magento\Backend\Model\MenuFactory $menuFactory,
         \Magento\Backend\Model\Menu\Config\Reader $configReader,
         \Magento\Core\Model\Cache\Type\Config $configCacheType,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
diff --git a/app/code/Magento/Backend/Model/Menu/Item.php b/app/code/Magento/Backend/Model/Menu/Item.php
index 2dfb5fcc7e1..17a3dcbf226 100644
--- a/app/code/Magento/Backend/Model/Menu/Item.php
+++ b/app/code/Magento/Backend/Model/Menu/Item.php
@@ -161,7 +161,7 @@ class Item
     /**
      * Module list
      *
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleList;
 
@@ -172,7 +172,7 @@ class Item
      * @param \Magento\Backend\Model\MenuFactory $menuFactory
      * @param \Magento\Backend\Model\Url $urlModel
      * @param \Magento\Core\Helper\AbstractHelper $helper
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param array $data
      */
     public function __construct(
@@ -182,7 +182,7 @@ class Item
         \Magento\Backend\Model\MenuFactory $menuFactory,
         \Magento\Backend\Model\Url $urlModel,
         \Magento\Core\Helper\AbstractHelper $helper,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         array $data = array()
     ) {
         $this->_validator = $validator;
@@ -499,7 +499,7 @@ class Item
         $this->_storeConfig = $objectManager->get('Magento\Core\Model\Store\Config');
         $this->_menuFactory = $objectManager->get('Magento\Backend\Model\MenuFactory');
         $this->_urlModel = $objectManager->get('Magento\Backend\Model\Url');
-        $this->_moduleList = $objectManager->get('Magento\Core\Model\ModuleListInterface');
+        $this->_moduleList = $objectManager->get('Magento\App\ModuleListInterface');
         if ($this->_serializedSubmenu) {
             $this->_submenu = $this->_menuFactory->create();
             $this->_submenu->unserialize($this->_serializedSubmenu);
diff --git a/app/code/Magento/Backend/Model/Observer.php b/app/code/Magento/Backend/Model/Observer.php
index b34ad29148a..6f8e5428160 100644
--- a/app/code/Magento/Backend/Model/Observer.php
+++ b/app/code/Magento/Backend/Model/Observer.php
@@ -41,16 +41,24 @@ class Observer
      */
     protected $_app;
 
+    /**
+     * @var \Magento\App\RequestInterface
+     */
+    protected $_request;
+
     /**
      * @param \Magento\Backend\Model\Session $backendSession
      * @param \Magento\Core\Model\App $app
+     * @param \Magento\App\RequestInterface $request
      */
     public function __construct(
         \Magento\Backend\Model\Session $backendSession,
-        \Magento\Core\Model\App $app
+        \Magento\Core\Model\App $app,
+        \Magento\App\RequestInterface $request
     ) {
         $this->_backendSession = $backendSession;
         $this->_app = $app;
+        $this->_request = $request;
     }
 
     /**
@@ -78,12 +86,11 @@ class Observer
      */
     public function massactionPrepareKey()
     {
-        $request = $this->_app->getFrontController()->getRequest();
-        $key = $request->getPost('massaction_prepare_key');
+        $key = $this->_request->getPost('massaction_prepare_key');
         if ($key) {
-            $postData = $request->getPost($key);
+            $postData = $this->_request->getPost($key);
             $value = is_array($postData) ? $postData : explode(',', $postData);
-            $request->setPost($key, $value ? $value : null);
+            $this->_request->setPost($key, $value ? $value : null);
         }
         return $this;
     }
diff --git a/app/code/Magento/Backend/Model/Url.php b/app/code/Magento/Backend/Model/Url.php
index f3f8cd929ff..20242b6159f 100644
--- a/app/code/Magento/Backend/Model/Url.php
+++ b/app/code/Magento/Backend/Model/Url.php
@@ -26,6 +26,9 @@
 
 namespace Magento\Backend\Model;
 
+use Magento\Backend\Model\Auth;
+use Magento\Backend\Model\Menu;
+
 /**
  * Class \Magento\Backend\Model\Url
  *
@@ -89,21 +92,23 @@ class Url extends \Magento\Core\Model\Url
     protected $_cache;
 
     /**
+     * @param \Magento\App\RouterListInterface $routerList
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Backend\Helper\Data $backendHelper
      * @param \Magento\Core\Model\Session $session
-     * @param \Magento\Backend\Model\Menu\Config $menuConfig
+     * @param Menu\Config $menuConfig
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\App $app
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\CacheInterface $cache
-     * @param \Magento\Backend\Model\Auth\Session $authSession
+     * @param Auth\Session $authSession
      * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
+        \Magento\App\RouterListInterface $routerList,
+        \Magento\App\RequestInterface $request,
         \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Backend\Helper\Data $backendHelper,
@@ -116,7 +121,8 @@ class Url extends \Magento\Core\Model\Url
         \Magento\Backend\Model\Auth\Session $authSession,
         array $data = array()
     ) {
-        parent::__construct($securityInfo, $coreStoreConfig, $coreData, $app, $storeManager, $session, $data);
+        parent::__construct(
+            $routerList, $request, $securityInfo, $coreStoreConfig, $coreData, $app, $storeManager, $session, $data);
         $this->_startupMenuItemId = $coreStoreConfig->getConfig(self::XML_PATH_STARTUP_MENU_ITEM);
         $this->_backendHelper = $backendHelper;
         $this->_coreSession = $session;
diff --git a/app/code/Magento/Backend/Model/Url/Proxy.php b/app/code/Magento/Backend/Model/Url/Proxy.php
index 4300dfbfd4b..a12360168c3 100644
--- a/app/code/Magento/Backend/Model/Url/Proxy.php
+++ b/app/code/Magento/Backend/Model/Url/Proxy.php
@@ -239,7 +239,7 @@ class Proxy extends \Magento\Backend\Model\Url
     /**
      * {@inheritdoc}
      */
-    public function setRequest(\Zend_Controller_Request_Http $request)
+    public function setRequest(\Magento\App\RequestInterface $request)
     {
         return $this->_getObject()->setRequest($request);
     }
diff --git a/app/code/Magento/Backend/etc/adminhtml/di.xml b/app/code/Magento/Backend/etc/adminhtml/di.xml
index 4783a361347..714ade4dfff 100644
--- a/app/code/Magento/Backend/etc/adminhtml/di.xml
+++ b/app/code/Magento/Backend/etc/adminhtml/di.xml
@@ -27,7 +27,7 @@
     <preference for="Magento\Authorization\Policy" type="Magento\Authorization\Policy\Acl" />
     <preference for="Magento\Authorization\RoleLocator" type="Magento\Backend\Model\Authorization\RoleLocator" />
     <preference for="Magento\Core\Model\LocaleInterface" type="Magento\Backend\Model\Locale" />
-    <preference for="Magento\Core\Model\UrlInterface" type="Magento\Backend\Model\Url" />
+    <preference for="Magento\UrlInterface" type="Magento\Backend\Model\Url" />
     <preference for="Magento\Backend\Model\Auth\StorageInterface" type="Magento\Backend\Model\Auth\Session" />
     <preference for="Magento\Backend\Model\Config\Structure\SearchInterface" type="Magento\Backend\Model\Config\Structure" />
     <preference for="Magento\Backend\Model\Config\Backend\File\RequestData\RequestDataInterface" type="Magento\Backend\Model\Config\Backend\File\RequestData" />
diff --git a/app/code/Magento/Backend/etc/adminhtml/system.xml b/app/code/Magento/Backend/etc/adminhtml/system.xml
index 831a102c69f..a0a9149973e 100644
--- a/app/code/Magento/Backend/etc/adminhtml/system.xml
+++ b/app/code/Magento/Backend/etc/adminhtml/system.xml
@@ -451,7 +451,7 @@
                 <field id="use_custom_path" translate="label" type="select" sortOrder="3" showInDefault="1" showInWebsite="0" showInStore="0">
                     <label>Use Custom Admin Path</label>
                     <source_model>Magento\Backend\Model\Config\Source\Yesno</source_model>
-                    <backend_model>Magento\Backend\Model\Config\Backend\Admin\Usecustompath</backend_model>
+                    <backend_model>Magento\Backend\Model\Config\Backend\Admin\Custompath</backend_model>
                 </field>
                 <field id="custom_path" translate="label comment" type="text" sortOrder="4" showInDefault="1" showInWebsite="0" showInStore="0">
                     <label>Custom Admin Path</label>
diff --git a/app/code/Magento/Backend/etc/di.xml b/app/code/Magento/Backend/etc/di.xml
index 7e5f09bf18f..3944fb92876 100644
--- a/app/code/Magento/Backend/etc/di.xml
+++ b/app/code/Magento/Backend/etc/di.xml
@@ -25,6 +25,16 @@
 -->
 <config>
     <preference for="Magento\Core\Model\Config\Storage\WriterInterface" type="Magento\Core\Model\Config\Storage\Writer\Db" />
+    <preference for="Magento\App\Request\PathInfoProcessorInterface" type="Magento\Backend\App\Request\PathInfoProcessor" />
+    <type name="Magento\App\AreaList">
+        <param name="areas">
+            <value>
+                <adminhtml>
+                    <frontNameResolver>Magento\Backend\App\Area\FrontNameResolver</frontNameResolver>
+                </adminhtml>
+            </value>
+        </param>
+    </type>
     <type name="Magento\Backend\Controller\Context">
         <param name="translator">
             <instance type="Magento\Core\Model\Translate\Proxy" />
@@ -55,7 +65,7 @@
     <type name="Magento\Backend\Model\Menu\Config">
         <param name="menuDirector"><instance type="Magento\Backend\Model\Menu\Director\Director"/></param>
     </type>
-    <type name="Magento\Core\Model\RouterList">
+    <type name="Magento\App\RouterList">
         <param name="routerList">
             <value>
                 <admin>
@@ -66,13 +76,12 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Backend\Helper\Data">
-        <param name="defaultAreaFrontName">
-            <value>backend</value>
-        </param>
-        <param name="backendFrontName">
-            <value type="argument">Magento\Backend\Helper\Data::PARAM_BACKEND_FRONT_NAME</value>
+    <type name="Magento\Backend\App\Area\FrontNameResolver">
+        <param name="defaultFrontName">
+            <value type="argument">Magento\Backend\App\Area\FrontNameResolver::PARAM_BACKEND_FRONT_NAME</value>
         </param>
+    </type>
+    <type name="Magento\Backend\Helper\Data">
         <param name="app">
             <instance type="Magento\Core\Model\App\Proxy" />
         </param>
@@ -83,11 +92,11 @@
             <instance type="Magento\Backend\Model\Auth\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\NoRouteHandlerList">
+    <type name="Magento\App\Router\NoRouteHandlerList">
         <param name="handlerClassesList">
             <value>
                 <backend>
-                    <instance>Magento\Backend\Model\Router\NoRouteHandler</instance>
+                    <instance>Magento\Backend\App\Router\NoRouteHandler</instance>
                     <sortOrder>10</sortOrder>
                 </backend>
             </value>
diff --git a/app/code/Magento/Backend/view/adminhtml/system/config/form/field/array.phtml b/app/code/Magento/Backend/view/adminhtml/system/config/form/field/array.phtml
index 0ec28f11d2f..f6c19c2ae8a 100644
--- a/app/code/Magento/Backend/view/adminhtml/system/config/form/field/array.phtml
+++ b/app/code/Magento/Backend/view/adminhtml/system/config/form/field/array.phtml
@@ -27,90 +27,81 @@
 
 <?php
 $_htmlId = $this->getHtmlId() ? $this->getHtmlId() : '_' . uniqid();
-
-$_colspan = 2;
-if (!$this->isAddAfter()) {
-    $_colspan -= 1;
-}
-$_colspan = $_colspan > 1 ? 'colspan="' . $_colspan . '"' : '';
+$_colspan = $this->isAddAfter() ? 2 : 1;
 ?>
 
-<div class="grid" id="grid<?php echo $_htmlId ?>">
-    <table cellpadding="0" cellspacing="0" class="border">
-        <tbody>
-
-            <tr class="headings" id="headings<?php echo $_htmlId ?>">
-<?php foreach ($this->getColumns() as $columnName => $column):?>
-                <th><?php echo $column['label'] ?></th>
-<?php endforeach;?>
-                <th <?php echo $_colspan?>></th>
-            </tr>
-
-            <tr id="addRow<?php echo $_htmlId ?>">
-                <td colspan="<?php echo count($this->getColumns()) ?>"></td>
-                <td <?php echo $_colspan?>>
-                    <button style="" onclick="" class="scalable add" type="button" id="addToEndBtn<?php echo $_htmlId ?>">
-                        <span><span><span><?php echo $this->getAddButtonLabel() ?></span></span></span>
-                    </button>
-                </td>
-            </tr>
-
-        </tbody>
+<div class="design_theme_ua_regexp" id="grid<?php echo $_htmlId; ?>">
+    <table cellspacing="0" class="data-table">
+        <thead>
+        <tr>
+            <?php foreach ($this->getColumns() as $columnName => $column): ?>
+            <th><?php echo $column['label']; ?></th>
+            <?php endforeach;?>
+            <th class="col-actions" colspan="<?php echo $_colspan; ?>">Action</th>
+        </tr>
+        </thead>
+        <tfoot>
+        <tr>
+            <td colspan="<?php echo count($this->getColumns())+$_colspan; ?>">
+                <button id="addToEndBtn<?php echo $_htmlId; ?>" class="action- add" title="<?php echo __('Add'); ?>" type="button">
+                    <span><?php echo $this->getAddButtonLabel(); ?><?php echo __('Add'); ?></span>
+                </button>
+            </td>
+        </tr>
+        </tfoot>
+        <tbody id="addRow<?php echo $_htmlId; ?>"></tbody>
     </table>
-    <input type="hidden" name="<?php echo $this->getElement()->getName() ?>[__empty]" value="" />
-</div>
-<div id="empty<?php echo $_htmlId ?>">
-    <button style="" onclick="" class="scalable add" type="button" id="emptyAddBtn<?php echo $_htmlId ?>">
-        <span><span><span><?php echo $this->getAddButtonLabel() ?></span></span></span>
-    </button>
-</div>
-
-<script type="text/javascript">
-//<![CDATA[
-// create row creator
-var arrayRow<?php echo $_htmlId ?> = {
-    // define row prototypeJS template
-    template : new Template(
-        '<tr id="#{_id}">'
-<?php foreach ($this->getColumns() as $columnName => $column):?>
-            +'<td>'
-                +'<?php echo $this->renderCellTemplate($columnName)?>'
-            +'<\/td>'
-<?php endforeach;?>
-<?php if ($this->isAddAfter()):?>
-            +'<td><button onclick="" class="scalable add" type="button" id="addAfterBtn#{_id}"><span><span><span><?php echo __('Add after') ?><\/span><\/span><\/span><\/button><\/td>'
-<?php endif;?>
-            +'<td><button onclick="arrayRow<?php echo $_htmlId ?>.del(\'#{_id}\')" class="scalable delete" type="button"><span><span><span><?php echo __('Delete') ?><\/span><\/span><\/span><\/button><\/td>'
-        +'<\/tr>'
-    ),
-
-    rowsCount : 0,
-
-    add : function(rowData, insertAfterId)
-    {
-        // generate default template data
-        if (rowData == false) {
-            var d = new Date();
-            var templateValues = {
-<?php foreach ($this->getColumns() as $columnName => $column):?>
-                <?php echo $columnName ?> : '',
-<?php endforeach;?>
-                _id : '_' + d.getTime() + '_' + d.getMilliseconds()
-            };
-        } else {
-            var templateValues = rowData;
-        }
+    <input type="hidden" name="<?php echo $this->getElement()->getName(); ?>[__empty]" value="" />
+
+    <script type="text/javascript">
+        //<![CDATA[
+
+        // create row creator
+        var arrayRow<?php echo $_htmlId ?> = {
+
+            // define row prototypeJS template
+            template: new Template(
+                    '<tr id="#{_id}">'
+                    <?php foreach ($this->getColumns() as $columnName => $column): ?>
+                            + '<td>'
+                            + '<?php echo $this->renderCellTemplate($columnName)?>'
+                            + '<\/td>'
+                        <?php endforeach; ?>
+
+                    <?php if ($this->isAddAfter()): ?>
+                            + '<td><button class="action- add" type="button" id="addAfterBtn#{_id}"><span><?php echo __('Add after'); ?><\/span><\/button><\/td>'
+                        <?php endif; ?>
+
+                            + '<td class="col-actions"><button onclick="arrayRow<?php echo $_htmlId ?>.del(\'#{_id}\')" class="action- delete" type="button"><span><?php echo __('Delete'); ?><\/span><\/button><\/td>'
+                            +'<\/tr>'
+            ),
+
+            add: function(rowData, insertAfterId) {
+                // generate default template data
+                var templateValues;
+
+                // Prepare template values
+                if (rowData) {
+                    templateValues = rowData;
+                } else {
+                    var d = new Date();
+                    templateValues = {
+                <?php foreach ($this->getColumns() as $columnName => $column): ?>
+                    <?php echo $columnName ?>: '',
+                    <?php endforeach; ?>
+                        _id: '_' + d.getTime() + '_' + d.getMilliseconds()
+                };
+            }
 
-        // insert before last row
-        if ('' == insertAfterId) {
-            Element.insert($('addRow<?php echo $_htmlId ?>'), {before: this.template.evaluate(templateValues)});
-        }
-        // insert after specified row
-        else {
+            // Insert new row after specified row or at the bottom
+            if (insertAfterId) {
             Element.insert($(insertAfterId), {after: this.template.evaluate(templateValues)});
+        } else {
+            Element.insert($('addRow<?php echo $_htmlId ?>'), {bottom: this.template.evaluate(templateValues)});
         }
 
-        if (rowData != false) {
+        // Fill controls with data
+        if (rowData) {
             var rowInputElementNames = Object.keys(rowData.column_values);
             for (var i = 0; i < rowInputElementNames.length; i++) {
                 if ($(rowInputElementNames[i])) {
@@ -119,57 +110,32 @@ var arrayRow<?php echo $_htmlId ?> = {
             }
         }
 
-<?php if ($this->isAddAfter()):?>
-        Event.observe('addAfterBtn' + templateValues._id, 'click', this.add.bind(this, '', templateValues._id));
-<?php endif;?>
+        // Add event for {addAfterBtn} button
+        <?php if ($this->isAddAfter()): ?>
+        Event.observe('addAfterBtn' + templateValues._id, 'click', this.add.bind(this, false, templateValues._id));
+            <?php endif; ?>
+        },
 
-        this.rowsCount += 1;
-    },
-
-    del : function(rowId)
-    {
-        $(rowId).remove();
-        this.rowsCount -= 1;
-        if (0 == this.rowsCount) {
-            this.showButtonOnly();
+        del: function(rowId) {
+            $(rowId).remove();
+        }
         }
-    },
 
-    showButtonOnly : function()
-    {
-        $('grid<?php echo $_htmlId ?>').hide();
-        $('empty<?php echo $_htmlId ?>').show();
-    }
-}
+        // bind add action to "Add" button in last row
+        Event.observe('addToEndBtn<?php echo $_htmlId ?>', 'click', arrayRow<?php echo $_htmlId ?>.add.bind(arrayRow<?php echo $_htmlId ?>, false, false));
 
-// bind add action to "Add" button in last row
-Event.observe('addToEndBtn<?php echo $_htmlId ?>', 'click', arrayRow<?php echo $_htmlId ?>.add.bind(arrayRow<?php echo $_htmlId ?>, false, false));
+        // add existing rows
+        <?php
+        foreach ($this->getArrayRows() as $_rowId => $_row) {
+            echo "arrayRow{$_htmlId}.add(" . $_row->toJson() . ");\n";
+        }
+        ?>
 
-// add existing rows
-<?php
-$_addAfterId = "headings{$_htmlId}";
-foreach ($this->getArrayRows() as $_rowId => $_row) {
-    echo "arrayRow{$_htmlId}.add(" . $_row->toJson() . ", '{$_addAfterId}');\n";
-    $_addAfterId = $_rowId;
-}
-?>
+        // Toggle the grid availability, if element is disabled (depending on scope)
+        <?php if ($this->getElement()->getDisabled()):?>
+        toggleValueElements({checked: true}, $('grid<?php echo $_htmlId; ?>').parentNode);
+            <?php endif;?>
 
-// initialize standalone button
-$('empty<?php echo $_htmlId ?>').hide();
-Event.observe('emptyAddBtn<?php echo $_htmlId ?>', 'click', function () {
-    $('grid<?php echo $_htmlId ?>').show();
-    $('empty<?php echo $_htmlId ?>').hide();
-    arrayRow<?php echo $_htmlId ?>.add('', '');
-});
-
-// if no rows, hide grid and show button only
-<?php if (!$this->getArrayRows()):?>
-arrayRow<?php echo $_htmlId ?>.showButtonOnly();
-<?php endif;?>
-
-// toggle the grid, if element is disabled (depending on scope)
-<?php if ($this->getElement()->getDisabled()):?>
-toggleValueElements({checked:true}, $('grid<?php echo $_htmlId ?>').parentNode);
-<?php endif;?>
-//]]>
-</script>
+        //]]>
+    </script>
+</div>
\ No newline at end of file
diff --git a/app/code/Magento/Backend/view/adminhtml/widget/grid/column_set.phtml b/app/code/Magento/Backend/view/adminhtml/widget/grid/column_set.phtml
index 5c5f2174762..c260dc7fe75 100644
--- a/app/code/Magento/Backend/view/adminhtml/widget/grid/column_set.phtml
+++ b/app/code/Magento/Backend/view/adminhtml/widget/grid/column_set.phtml
@@ -44,7 +44,7 @@ $numColumns = sizeof($this->getColumns());
                 <?php foreach ($this->getColumns() as $_column): ?>
                 <?php /* @var $_column \Magento\Backend\Block\Widget\Grid\Column */ ?>
                     <th data-column="<?php echo $_column->getId() ?>" <?php echo $_column->getHeaderHtmlProperty() ?>>
-                            <span class="nobr"><?php echo $_column->getHeaderHtml() ?></span>
+                            <span><?php echo $_column->getHeaderHtml() ?></span>
                     </th>
                 <?php endforeach; ?>
                 </tr>
diff --git a/app/code/Magento/Backup/Helper/Data.php b/app/code/Magento/Backup/Helper/Data.php
index 05fa372fad4..7e85b1b14d0 100644
--- a/app/code/Magento/Backup/Helper/Data.php
+++ b/app/code/Magento/Backup/Helper/Data.php
@@ -77,7 +77,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Directory model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -96,7 +96,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\AuthorizationInterface $authorization
      * @param \Magento\Core\Model\Cache\Config $cacheConfig
      * @param \Magento\Core\Model\Cache\TypeListInterface $cacheTypeList
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Index\Model\Resource\Process\CollectionFactory $processFactory
      */
     public function __construct(
@@ -105,7 +105,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
         \Magento\AuthorizationInterface $authorization,
         \Magento\Core\Model\Cache\Config $cacheConfig,
         \Magento\Core\Model\Cache\TypeListInterface $cacheTypeList,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Index\Model\Resource\Process\CollectionFactory $processFactory
     ) {
         parent::__construct($context);
@@ -163,7 +163,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     public function getBackupsDir()
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'backups';
+        return $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'backups';
     }
 
     /**
@@ -227,12 +227,12 @@ class Data extends \Magento\Core\Helper\AbstractHelper
             '.git',
             '.svn',
             'maintenance.flag',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'session',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'cache',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'full_page_cache',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'locks',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'log',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'report',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'session',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'cache',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'full_page_cache',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'locks',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'log',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'report',
         );
     }
 
@@ -247,10 +247,10 @@ class Data extends \Magento\Core\Helper\AbstractHelper
             '.svn',
             '.git',
             'maintenance.flag',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'session',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'locks',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'log',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'report',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'session',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'locks',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'log',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'report',
             $this->_dir->getDir() . DS . 'errors',
             $this->_dir->getDir() . DS . 'index.php',
         );
diff --git a/app/code/Magento/Backup/Model/Fs/Collection.php b/app/code/Magento/Backup/Model/Fs/Collection.php
index 014832e2571..3d581477295 100644
--- a/app/code/Magento/Backup/Model/Fs/Collection.php
+++ b/app/code/Magento/Backup/Model/Fs/Collection.php
@@ -51,7 +51,7 @@ class Collection extends \Magento\Data\Collection\Filesystem
     /**
      * Directory model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -66,14 +66,14 @@ class Collection extends \Magento\Data\Collection\Filesystem
      * @param \Magento\Backup\Helper\Data $backupData
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\EntityFactory $entityFactory
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Backup\Model\Backup $backup
      */
     public function __construct(
         \Magento\Backup\Helper\Data $backupData,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\EntityFactory $entityFactory,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Backup\Model\Backup $backup
     ) {
         $this->_backupData = $backupData;
@@ -83,7 +83,7 @@ class Collection extends \Magento\Data\Collection\Filesystem
         $this->_filesystem = $filesystem;
         $this->_dir = $dir;
         $this->_backup = $backup;
-        $this->_baseDir = $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'backups';
+        $this->_baseDir = $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'backups';
 
         $this->_filesystem->setIsAllowCreateDirectories(true);
         $this->_filesystem->ensureDirectoryExists($this->_baseDir);
diff --git a/app/code/Magento/Backup/Model/Observer.php b/app/code/Magento/Backup/Model/Observer.php
index cb865b6d935..924e7446845 100644
--- a/app/code/Magento/Backup/Model/Observer.php
+++ b/app/code/Magento/Backup/Model/Observer.php
@@ -75,7 +75,7 @@ class Observer
     /**
      * Directory model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -89,7 +89,7 @@ class Observer
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Backup\Factory $backupFactory
      */
     public function __construct(
@@ -97,7 +97,7 @@ class Observer
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Core\Model\Logger $logger,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Backup\Factory $backupFactory
     ) {
         $this->_backupData = $backupData;
diff --git a/app/code/Magento/Bundle/Model/Product/Price.php b/app/code/Magento/Bundle/Model/Product/Price.php
index 1defc7e4f23..9a5b7202906 100644
--- a/app/code/Magento/Bundle/Model/Product/Price.php
+++ b/app/code/Magento/Bundle/Model/Product/Price.php
@@ -64,7 +64,7 @@ class Price extends \Magento\Catalog\Model\Product\Type\Price
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Tax\Helper\Data $taxData
      */
     public function __construct(
@@ -72,7 +72,7 @@ class Price extends \Magento\Catalog\Model\Product\Type\Price
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Tax\Helper\Data $taxData
     ) {
         $this->_taxData = $taxData;
diff --git a/app/code/Magento/Bundle/Model/Product/Type.php b/app/code/Magento/Bundle/Model/Product/Type.php
index 69f05502e9d..9ff53ebcd00 100644
--- a/app/code/Magento/Bundle/Model/Product/Type.php
+++ b/app/code/Magento/Bundle/Model/Product/Type.php
@@ -147,7 +147,7 @@ class Type extends \Magento\Catalog\Model\Product\Type\AbstractType
      * @param \Magento\Catalog\Model\Product\Option $catalogProductOption
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Catalog\Model\Product\Type $catalogProductType
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDb
      * @param \Magento\Filesystem $filesystem
@@ -171,7 +171,7 @@ class Type extends \Magento\Catalog\Model\Product\Type\AbstractType
         \Magento\Catalog\Model\Product\Option $catalogProductOption,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Catalog\Model\Product\Type $catalogProductType,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDb,
         \Magento\Filesystem $filesystem,
diff --git a/app/code/Magento/Bundle/Model/Resource/Price/Index.php b/app/code/Magento/Bundle/Model/Resource/Price/Index.php
index e639a00119d..4c3e2c27c32 100644
--- a/app/code/Magento/Bundle/Model/Resource/Price/Index.php
+++ b/app/code/Magento/Bundle/Model/Resource/Price/Index.php
@@ -60,7 +60,7 @@ class Index extends \Magento\Core\Model\Resource\Db\AbstractDb
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -97,7 +97,7 @@ class Index extends \Magento\Core\Model\Resource\Db\AbstractDb
      * @param \Magento\CatalogRule\Model\Resource\RuleFactory $catalogRuleFactory
      * @param \Magento\Customer\Model\GroupFactory $customerGroup
      * @param \Magento\Catalog\Model\Config $config
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Resource $resource
      */
     public function __construct(
@@ -106,7 +106,7 @@ class Index extends \Magento\Core\Model\Resource\Db\AbstractDb
         \Magento\CatalogRule\Model\Resource\RuleFactory $catalogRuleFactory,
         \Magento\Customer\Model\GroupFactory $customerGroup,
         \Magento\Catalog\Model\Config $config,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Resource $resource
     ) {
         $this->_eventManager = $eventManager;
diff --git a/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Creditmemo.php b/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Creditmemo.php
index 7c981b7da13..e08d8e0e98d 100644
--- a/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Creditmemo.php
+++ b/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Creditmemo.php
@@ -47,7 +47,7 @@ class Creditmemo extends \Magento\Bundle\Model\Sales\Order\Pdf\Items\AbstractIte
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param array $data
@@ -57,7 +57,7 @@ class Creditmemo extends \Magento\Bundle\Model\Sales\Order\Pdf\Items\AbstractIte
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Data\Collection\Db $resourceCollection = null,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         array $data = array()
diff --git a/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Invoice.php b/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Invoice.php
index ba0eb6421e7..929957b8ff8 100644
--- a/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Invoice.php
+++ b/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Invoice.php
@@ -47,7 +47,7 @@ class Invoice extends \Magento\Bundle\Model\Sales\Order\Pdf\Items\AbstractItems
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param array $data
@@ -57,7 +57,7 @@ class Invoice extends \Magento\Bundle\Model\Sales\Order\Pdf\Items\AbstractItems
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Data\Collection\Db $resourceCollection = null,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         array $data = array()
diff --git a/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Shipment.php b/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Shipment.php
index 5b9ef9fd34a..4a0a376c34a 100644
--- a/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Shipment.php
+++ b/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Shipment.php
@@ -47,7 +47,7 @@ class Shipment extends \Magento\Bundle\Model\Sales\Order\Pdf\Items\AbstractItems
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param array $data
@@ -57,7 +57,7 @@ class Shipment extends \Magento\Bundle\Model\Sales\Order\Pdf\Items\AbstractItems
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Data\Collection\Db $resourceCollection = null,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         array $data = array()
diff --git a/app/code/Magento/Bundle/etc/di.xml b/app/code/Magento/Bundle/etc/di.xml
index 938b0ac2047..c98e3d4a334 100644
--- a/app/code/Magento/Bundle/etc/di.xml
+++ b/app/code/Magento/Bundle/etc/di.xml
@@ -24,11 +24,6 @@
  */
 -->
 <config>
-    <type name="Magento\Bundle\Model\Resource\Price\Index">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Bundle\Model\Source\Option\Type">
         <param name="options">
             <value>
@@ -39,8 +34,8 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <bundle_setup>Magento\Catalog\Model\Resource\Setup</bundle_setup>
             </value>
diff --git a/app/code/Magento/Captcha/Helper/Data.php b/app/code/Magento/Captcha/Helper/Data.php
index 33c1cb14104..8661550acab 100644
--- a/app/code/Magento/Captcha/Helper/Data.php
+++ b/app/code/Magento/Captcha/Helper/Data.php
@@ -77,7 +77,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs = null;
 
@@ -93,7 +93,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Filesystem $filesystem
@@ -101,7 +101,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Filesystem $filesystem,
@@ -164,7 +164,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
         $fontsConfig = $this->_config->getValue(\Magento\Captcha\Helper\Data::XML_PATH_CAPTCHA_FONTS, 'default');
         $fonts = array();
         if ($fontsConfig) {
-            $libDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::LIB);
+            $libDir = $this->_dirs->getDir(\Magento\App\Dir::LIB);
             foreach ($fontsConfig as $fontName => $fontConfig) {
                 $fonts[$fontName] = array(
                     'label' => $fontConfig['label'],
@@ -183,7 +183,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     public function getImgDir($website = null)
     {
-        $mediaDir =  $this->_dirs->getDir(\Magento\Core\Model\Dir::MEDIA);
+        $mediaDir =  $this->_dirs->getDir(\Magento\App\Dir::MEDIA);
         $captchaDir = $mediaDir . '/captcha/' . $this->_storeManager->getWebsite($website)->getCode();
         $this->_filesystem->setWorkingDirectory($mediaDir);
         $this->_filesystem->setIsAllowCreateDirectories(true);
@@ -199,7 +199,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     public function getImgUrl($website = null)
     {
-        return $this->_storeManager->getStore()->getBaseUrl(\Magento\Core\Model\Dir::MEDIA) . 'captcha'
+        return $this->_storeManager->getStore()->getBaseUrl(\Magento\App\Dir::MEDIA) . 'captcha'
             . '/' . $this->_storeManager->getWebsite($website)->getCode() . '/';
     }
 }
diff --git a/app/code/Magento/Captcha/Model/Observer.php b/app/code/Magento/Captcha/Model/Observer.php
index d6fa298de42..48f51807633 100644
--- a/app/code/Magento/Captcha/Model/Observer.php
+++ b/app/code/Magento/Captcha/Model/Observer.php
@@ -69,7 +69,7 @@ class Observer
     protected $_coreData;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -102,7 +102,7 @@ class Observer
      * @param \Magento\Captcha\Helper\Data $helper
      * @param \Magento\Core\Model\Url $urlManager
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Core\Model\StoreManager $storeManager
      */
     public function __construct(
@@ -114,7 +114,7 @@ class Observer
         \Magento\Captcha\Helper\Data $helper,
         \Magento\Core\Model\Url $urlManager,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Core\Model\StoreManager $storeManager
     ) {
         $this->_resLogFactory = $resLogFactory;
@@ -380,11 +380,11 @@ class Observer
     /**
      * Get Captcha String
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param string $formId
      * @return string
      */
-    protected function _getCaptchaString(\Magento\Core\Controller\Request\Http $request, $formId)
+    protected function _getCaptchaString(\Magento\App\RequestInterface $request, $formId)
     {
         $captchaParams = $request->getPost(\Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE);
         return isset($captchaParams[$formId]) ? $captchaParams[$formId] : '';
diff --git a/app/code/Magento/Catalog/Helper/Product.php b/app/code/Magento/Catalog/Helper/Product.php
index 63463d0cede..66a2db4375d 100644
--- a/app/code/Magento/Catalog/Helper/Product.php
+++ b/app/code/Magento/Catalog/Helper/Product.php
@@ -67,7 +67,7 @@ class Product extends \Magento\Core\Helper\Url
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -133,7 +133,7 @@ class Product extends \Magento\Core\Helper\Url
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Session $catalogSession
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Core\Model\Registry $coreRegistry
@@ -149,7 +149,7 @@ class Product extends \Magento\Core\Helper\Url
         \Magento\Catalog\Model\ProductFactory $productFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Session $catalogSession,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Core\Model\Registry $coreRegistry,
@@ -356,7 +356,7 @@ class Product extends \Magento\Core\Helper\Url
          */
         $inputTypes = array(
             'multiselect'   => array(
-                'backend_model'     => 'Magento\Eav\Model\Entity\Attribute\Backend\Array'
+                'backend_model'     => 'Magento\Eav\Model\Entity\Attribute\Backend\ArrayBackend'
             ),
             'boolean'       => array(
                 'source_model'      => 'Magento\Eav\Model\Entity\Attribute\Source\Boolean'
diff --git a/app/code/Magento/Catalog/Helper/Product/Options.php b/app/code/Magento/Catalog/Helper/Product/Options.php
index 965fa29e26c..40291d5012c 100644
--- a/app/code/Magento/Catalog/Helper/Product/Options.php
+++ b/app/code/Magento/Catalog/Helper/Product/Options.php
@@ -59,7 +59,7 @@ class Options extends \Magento\Core\Helper\AbstractHelper
      *  - 'size' - size of file
      *  - 'title' - user-friendly name of file (usually - original name as uploaded in Magento)
      *
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\ResponseInterface $response
      * @param string $filePath
      * @param array $info
      * @return bool
diff --git a/app/code/Magento/Catalog/Helper/Product/View.php b/app/code/Magento/Catalog/Helper/Product/View.php
index 9f0bad4b8d5..5b9e125519b 100644
--- a/app/code/Magento/Catalog/Helper/Product/View.php
+++ b/app/code/Magento/Catalog/Helper/Product/View.php
@@ -70,7 +70,7 @@ class View extends \Magento\Core\Helper\AbstractHelper
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -93,7 +93,7 @@ class View extends \Magento\Core\Helper\AbstractHelper
      *
      * @param \Magento\Catalog\Model\Session $catalogSession
      * @param \Magento\Catalog\Model\Design $catalogDesign
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Helper\Product $catalogProduct
      * @param \Magento\Page\Helper\Layout $pageLayout
      * @param \Magento\Core\Helper\Context $context
@@ -103,7 +103,7 @@ class View extends \Magento\Core\Helper\AbstractHelper
     public function __construct(
         \Magento\Catalog\Model\Session $catalogSession,
         \Magento\Catalog\Model\Design $catalogDesign,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Helper\Product $catalogProduct,
         \Magento\Page\Helper\Layout $pageLayout,
         \Magento\Core\Helper\Context $context,
diff --git a/app/code/Magento/Catalog/Model/Category.php b/app/code/Magento/Catalog/Model/Category.php
index 6710c281037..bb70f6ef4d0 100644
--- a/app/code/Magento/Catalog/Model/Category.php
+++ b/app/code/Magento/Catalog/Model/Category.php
@@ -128,7 +128,7 @@ class Category extends \Magento\Catalog\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -189,12 +189,12 @@ class Category extends \Magento\Catalog\Model\AbstractModel
      * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
      * @param \Magento\Core\Model\Url\RewriteFactory $urlRewriteFactory
      * @param \Magento\Core\Model\Resource\Store\CollectionFactory $storeCollectionFactory
-     * @param \Magento\Core\Model\UrlInterface $url
+     * @param \Magento\UrlInterface $url
      * @param \Magento\Catalog\Model\Resource\Product\CollectionFactory $productCollectionFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Config $catalogConfig
      * @param \Magento\Index\Model\Indexer $indexIndexer
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Helper\Category\Flat $catalogCategoryFlat
      * @param \Magento\Core\Model\Context $context
@@ -211,12 +211,12 @@ class Category extends \Magento\Catalog\Model\AbstractModel
         \Magento\Catalog\Model\CategoryFactory $categoryFactory,
         \Magento\Core\Model\Url\RewriteFactory $urlRewriteFactory,
         \Magento\Core\Model\Resource\Store\CollectionFactory $storeCollectionFactory,
-        \Magento\Core\Model\UrlInterface $url,
+        \Magento\UrlInterface $url,
         \Magento\Catalog\Model\Resource\Product\CollectionFactory $productCollectionFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Config $catalogConfig,
         \Magento\Index\Model\Indexer $indexIndexer,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Helper\Category\Flat $catalogCategoryFlat,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Catalog/Model/Category/Attribute/Backend/Image.php b/app/code/Magento/Catalog/Model/Category/Attribute/Backend/Image.php
index 0c214005c04..c687969e5c4 100644
--- a/app/code/Magento/Catalog/Model/Category/Attribute/Backend/Image.php
+++ b/app/code/Magento/Catalog/Model/Category/Attribute/Backend/Image.php
@@ -44,7 +44,7 @@ class Image extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
     /**
      * Dir model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -59,12 +59,12 @@ class Image extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
      * Construct
      *
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\File\UploaderFactory $fileUploaderFactory
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\File\UploaderFactory $fileUploaderFactory
     ) {
         $this->_dir = $dir;
@@ -94,7 +94,7 @@ class Image extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
             return $this;
         }
 
-        $path = $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . DS . 'catalog' . DS . 'category' . DS;
+        $path = $this->_dir->getDir(\Magento\App\Dir::MEDIA) . DS . 'catalog' . DS . 'category' . DS;
 
         try {
             /** @var $uploader \Magento\Core\Model\File\Uploader */
diff --git a/app/code/Magento/Catalog/Model/Design.php b/app/code/Magento/Catalog/Model/Design.php
index 26d2d9f86af..698db0fe2e9 100644
--- a/app/code/Magento/Catalog/Model/Design.php
+++ b/app/code/Magento/Catalog/Model/Design.php
@@ -42,7 +42,7 @@ class Design extends \Magento\Core\Model\AbstractModel
     /**
      * Design package instance
      *
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design = null;
 
@@ -57,7 +57,7 @@ class Design extends \Magento\Core\Model\AbstractModel
      * Construct
      *
      * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -66,7 +66,7 @@ class Design extends \Magento\Core\Model\AbstractModel
      */
     public function __construct(
         \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Catalog/Model/Layer/Filter/Item.php b/app/code/Magento/Catalog/Model/Layer/Filter/Item.php
index 73072cbb03f..4de4a29ef3a 100644
--- a/app/code/Magento/Catalog/Model/Layer/Filter/Item.php
+++ b/app/code/Magento/Catalog/Model/Layer/Filter/Item.php
@@ -38,7 +38,7 @@ class Item extends \Magento\Object
     /**
      * Url
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_url;
 
@@ -52,12 +52,12 @@ class Item extends \Magento\Object
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\UrlInterface $url
+     * @param \Magento\UrlInterface $url
      * @param \Magento\Page\Block\Html\Pager $htmlPagerBlock
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\UrlInterface $url,
+        \Magento\UrlInterface $url,
         \Magento\Page\Block\Html\Pager $htmlPagerBlock,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Catalog/Model/Product.php b/app/code/Magento/Catalog/Model/Product.php
index b18900ba642..7966229e8f9 100644
--- a/app/code/Magento/Catalog/Model/Product.php
+++ b/app/code/Magento/Catalog/Model/Product.php
@@ -141,7 +141,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -229,7 +229,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel
      * @param \Magento\Catalog\Model\Product\Media\Config $catalogProductMediaConfig
      * @param \Magento\Index\Model\Indexer $indexIndexer
      * @param \Magento\Catalog\Model\Product\Type $catalogProductType
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Helper\Image $catalogImage
      * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Catalog\Helper\Product $catalogProduct
@@ -256,7 +256,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel
         \Magento\Catalog\Model\Product\Media\Config $catalogProductMediaConfig,
         \Magento\Index\Model\Indexer $indexIndexer,
         \Magento\Catalog\Model\Product\Type $catalogProductType,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Helper\Image $catalogImage,
         \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Catalog\Helper\Product $catalogProduct,
diff --git a/app/code/Magento/Catalog/Model/Product/Action.php b/app/code/Magento/Catalog/Model/Product/Action.php
index 460da89afc1..87243c33104 100644
--- a/app/code/Magento/Catalog/Model/Product/Action.php
+++ b/app/code/Magento/Catalog/Model/Product/Action.php
@@ -39,7 +39,7 @@ class Action extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -62,7 +62,7 @@ class Action extends \Magento\Core\Model\AbstractModel
      *
      * @param \Magento\Catalog\Model\Product\WebsiteFactory $productWebsiteFactory
      * @param \Magento\Index\Model\Indexer $indexIndexer
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -72,7 +72,7 @@ class Action extends \Magento\Core\Model\AbstractModel
     public function __construct(
         \Magento\Catalog\Model\Product\WebsiteFactory $productWebsiteFactory,
         \Magento\Index\Model\Indexer $indexIndexer,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Media.php b/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Media.php
index da02671aedb..72525d68099 100644
--- a/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Media.php
+++ b/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Media.php
@@ -81,7 +81,7 @@ class Media extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -97,22 +97,22 @@ class Media extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
      *
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Catalog\Model\Resource\ProductFactory $productFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDb
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Product\Media\Config $mediaConfig
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Catalog\Model\Resource\Product\Attribute\Backend\Media $resourceProductAttribute
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
         \Magento\Catalog\Model\Resource\ProductFactory $productFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDb,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Product\Media\Config $mediaConfig,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Filesystem $filesystem,
         \Magento\Catalog\Model\Resource\Product\Attribute\Backend\Media $resourceProductAttribute
     ) {
@@ -124,7 +124,7 @@ class Media extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
         $this->_mediaConfig = $mediaConfig;
         $this->_filesystem = $filesystem;
         $this->_filesystem->setIsAllowCreateDirectories(true);
-        $this->_filesystem->setWorkingDirectory($dirs->getDir(\Magento\Core\Model\Dir::MEDIA));
+        $this->_filesystem->setWorkingDirectory($dirs->getDir(\Magento\App\Dir::MEDIA));
         $this->_baseMediaPath = $this->_mediaConfig->getBaseMediaPath();
         $this->_baseTmpMediaPath = $this->_mediaConfig->getBaseTmpMediaPath();
         $this->_filesystem->ensureDirectoryExists($this->_baseMediaPath);
diff --git a/app/code/Magento/Catalog/Model/Product/Attribute/Source/Inputtype.php b/app/code/Magento/Catalog/Model/Product/Attribute/Source/Inputtype.php
index 653c9009b26..0d19ea7eeb2 100644
--- a/app/code/Magento/Catalog/Model/Product/Attribute/Source/Inputtype.php
+++ b/app/code/Magento/Catalog/Model/Product/Attribute/Source/Inputtype.php
@@ -40,16 +40,16 @@ class Inputtype extends \Magento\Eav\Model\Adminhtml\System\Config\Source\Inputt
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_eventManager = $eventManager;
diff --git a/app/code/Magento/Catalog/Model/Product/Image.php b/app/code/Magento/Catalog/Model/Product/Image.php
index d8ae3b2f685..c8d15e5eee4 100644
--- a/app/code/Magento/Catalog/Model/Product/Image.php
+++ b/app/code/Magento/Catalog/Model/Product/Image.php
@@ -102,7 +102,7 @@ class Image extends \Magento\Core\Model\AbstractModel
     /**
      * Dir
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -117,7 +117,7 @@ class Image extends \Magento\Core\Model\AbstractModel
      * Construct
      *
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Catalog\Model\Product\Media\Config $catalogProductMediaConfig
      * @param \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase
      * @param \Magento\Core\Model\Context $context
@@ -135,7 +135,7 @@ class Image extends \Magento\Core\Model\AbstractModel
      */
     public function __construct(
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Catalog\Model\Product\Media\Config $catalogProductMediaConfig,
         \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase,
         \Magento\Core\Model\Context $context,
@@ -599,7 +599,7 @@ class Image extends \Magento\Core\Model\AbstractModel
                 "Magento_Catalog::images/product/placeholder/{$this->getDestinationSubdir()}.jpg"
             );
         } else {
-            $baseDir = $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA);
+            $baseDir = $this->_dir->getDir(\Magento\App\Dir::MEDIA);
             $path = str_replace($baseDir . DS, "", $this->_newFile);
             $url = $this->_storeManager->getStore()->getBaseUrl(\Magento\Core\Model\Store::URL_TYPE_MEDIA) . str_replace(DS, '/', $path);;
         }
@@ -792,7 +792,7 @@ class Image extends \Magento\Core\Model\AbstractModel
 
     public function clearCache()
     {
-        $directory = $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . DS . 'catalog' . DS . 'product'
+        $directory = $this->_dir->getDir(\Magento\App\Dir::MEDIA) . DS . 'catalog' . DS . 'product'
             . DS . 'cache' . DS;
         $this->_filesystem->delete($directory);
 
diff --git a/app/code/Magento/Catalog/Model/Product/Image/View.php b/app/code/Magento/Catalog/Model/Product/Image/View.php
index 38cace60375..6dfa9e323e0 100644
--- a/app/code/Magento/Catalog/Model/Product/Image/View.php
+++ b/app/code/Magento/Catalog/Model/Product/Image/View.php
@@ -89,18 +89,18 @@ class View extends \Magento\Object
     /**
      * View config model
      *
-     * @var \Magento\Core\Model\View\Config
+     * @var \Magento\View\ConfigInterface
      */
     protected $_viewConfig;
 
     /**
      * @param \Magento\Catalog\Helper\Image $helperImage
-     * @param \Magento\Core\Model\View\Config $viewConfig
+     * @param \Magento\View\ConfigInterface $viewConfig
      * @param array $data
      */
     public function __construct(
         \Magento\Catalog\Helper\Image $helperImage,
-        \Magento\Core\Model\View\Config $viewConfig,
+        \Magento\View\ConfigInterface $viewConfig,
         array $data = array()
     ) {
         $this->_helperImage = $helperImage;
diff --git a/app/code/Magento/Catalog/Model/Product/Media/Config.php b/app/code/Magento/Catalog/Model/Product/Media/Config.php
index 81bb3c44b1c..2717238980c 100644
--- a/app/code/Magento/Catalog/Model/Product/Media/Config.php
+++ b/app/code/Magento/Catalog/Model/Product/Media/Config.php
@@ -39,7 +39,7 @@ class Config implements \Magento\Media\Model\Image\Config\ConfigInterface
     /**
      * Dir
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -54,11 +54,11 @@ class Config implements \Magento\Media\Model\Image\Config\ConfigInterface
      * Construct
      *
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      */
     public function __construct(
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Dir $dir
+        \Magento\App\Dir $dir
     ) {
         $this->_storeManager = $storeManager;
         $this->_dir = $dir;
@@ -110,7 +110,7 @@ class Config implements \Magento\Media\Model\Image\Config\ConfigInterface
 
     public function getBaseMediaPath()
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . DIRECTORY_SEPARATOR
+        return $this->_dir->getDir(\Magento\App\Dir::MEDIA) . DIRECTORY_SEPARATOR
             . 'catalog' . DIRECTORY_SEPARATOR . 'product';
     }
 
@@ -122,7 +122,7 @@ class Config implements \Magento\Media\Model\Image\Config\ConfigInterface
 
     public function getBaseTmpMediaPath()
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . DIRECTORY_SEPARATOR
+        return $this->_dir->getDir(\Magento\App\Dir::MEDIA) . DIRECTORY_SEPARATOR
             . $this->getBaseTmpMediaPathAddition();
     }
 
diff --git a/app/code/Magento/Catalog/Model/Product/Option/Type/File.php b/app/code/Magento/Catalog/Model/Product/Option/Type/File.php
index ac5db6acba5..fa120dd6f16 100644
--- a/app/code/Magento/Catalog/Model/Product/Option/Type/File.php
+++ b/app/code/Magento/Catalog/Model/Product/Option/Type/File.php
@@ -73,14 +73,14 @@ class File extends \Magento\Catalog\Model\Product\Option\Type\DefaultType
     /**
      * Dir
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
     /**
      * Url
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_url;
 
@@ -95,8 +95,8 @@ class File extends \Magento\Catalog\Model\Product\Option\Type\DefaultType
      * Construct
      *
      * @param \Magento\Sales\Model\Quote\Item\OptionFactory $itemOptionFactory
-     * @param \Magento\Core\Model\UrlInterface $url
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\UrlInterface $url
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase
@@ -107,8 +107,8 @@ class File extends \Magento\Catalog\Model\Product\Option\Type\DefaultType
      */
     public function __construct(
         \Magento\Sales\Model\Quote\Item\OptionFactory $itemOptionFactory,
-        \Magento\Core\Model\UrlInterface $url,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\UrlInterface $url,
+        \Magento\App\Dir $dir,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase,
@@ -761,7 +761,7 @@ class File extends \Magento\Catalog\Model\Product\Option\Type\DefaultType
      */
     public function getTargetDir($relative = false)
     {
-        $fullPath = $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . DS . 'custom_options';
+        $fullPath = $this->_dir->getDir(\Magento\App\Dir::MEDIA) . DS . 'custom_options';
         return $relative ? str_replace($this->_dir->getDir(), '', $fullPath) : $fullPath;
     }
 
diff --git a/app/code/Magento/Catalog/Model/Product/Status.php b/app/code/Magento/Catalog/Model/Product/Status.php
index a6ebb63d5bc..eeb654e054c 100644
--- a/app/code/Magento/Catalog/Model/Product/Status.php
+++ b/app/code/Magento/Catalog/Model/Product/Status.php
@@ -57,7 +57,7 @@ class Status extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -80,7 +80,7 @@ class Status extends \Magento\Core\Model\AbstractModel
      *
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Product\Action $catalogProductAction
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -90,7 +90,7 @@ class Status extends \Magento\Core\Model\AbstractModel
     public function __construct(
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Product\Action $catalogProductAction,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php b/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php
index a936b23376d..d97dd402425 100644
--- a/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php
+++ b/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php
@@ -138,7 +138,7 @@ abstract class AbstractType
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -182,7 +182,7 @@ abstract class AbstractType
      * @param \Magento\Catalog\Model\Product\Option $catalogProductOption
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Catalog\Model\Product\Type $catalogProductType
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDb
      * @param \Magento\Filesystem $filesystem
@@ -195,7 +195,7 @@ abstract class AbstractType
         \Magento\Catalog\Model\Product\Option $catalogProductOption,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Catalog\Model\Product\Type $catalogProductType,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDb,
         \Magento\Filesystem $filesystem,
diff --git a/app/code/Magento/Catalog/Model/Product/Type/Configurable.php b/app/code/Magento/Catalog/Model/Product/Type/Configurable.php
index 66fa72bee49..d4f7ad732e9 100644
--- a/app/code/Magento/Catalog/Model/Product/Type/Configurable.php
+++ b/app/code/Magento/Catalog/Model/Product/Type/Configurable.php
@@ -178,7 +178,7 @@ class Configurable extends \Magento\Catalog\Model\Product\Type\AbstractType
      * @param \Magento\Catalog\Model\Resource\Product\Type\Configurable\Attribute\CollectionFactory $attributeCollectionFactory
      * @param \Magento\Catalog\Model\Resource\Product\Type\Configurable $catalogProductTypeConfigurable
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDb
      * @param \Magento\Filesystem $filesystem
@@ -202,7 +202,7 @@ class Configurable extends \Magento\Catalog\Model\Product\Type\AbstractType
         \Magento\Catalog\Model\Resource\Product\Type\Configurable\Attribute\CollectionFactory $attributeCollectionFactory,
         \Magento\Catalog\Model\Resource\Product\Type\Configurable $catalogProductTypeConfigurable,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDb,
         \Magento\Filesystem $filesystem,
diff --git a/app/code/Magento/Catalog/Model/Product/Type/Grouped.php b/app/code/Magento/Catalog/Model/Product/Type/Grouped.php
index e2fc38812ae..4dbbc4bd442 100644
--- a/app/code/Magento/Catalog/Model/Product/Type/Grouped.php
+++ b/app/code/Magento/Catalog/Model/Product/Type/Grouped.php
@@ -103,7 +103,7 @@ class Grouped extends \Magento\Catalog\Model\Product\Type\AbstractType
      * @param \Magento\Catalog\Model\Resource\Product\Link $catalogProductLink
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Product\Status $catalogProductStatus
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDb
      * @param \Magento\Filesystem $filesystem
@@ -119,7 +119,7 @@ class Grouped extends \Magento\Catalog\Model\Product\Type\AbstractType
         \Magento\Catalog\Model\Resource\Product\Link $catalogProductLink,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Product\Status $catalogProductStatus,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDb,
         \Magento\Filesystem $filesystem,
diff --git a/app/code/Magento/Catalog/Model/Product/Type/Price.php b/app/code/Magento/Catalog/Model/Product/Type/Price.php
index 33da634f46f..8d1b57b72d0 100644
--- a/app/code/Magento/Catalog/Model/Product/Type/Price.php
+++ b/app/code/Magento/Catalog/Model/Product/Type/Price.php
@@ -42,7 +42,7 @@ class Price
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -81,14 +81,14 @@ class Price
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      */
     public function __construct(
         \Magento\CatalogRule\Model\Resource\RuleFactory $ruleFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\Event\Manager $eventManager
+        \Magento\Event\ManagerInterface $eventManager
     ) {
         $this->_ruleFactory = $ruleFactory;
         $this->_storeManager = $storeManager;
diff --git a/app/code/Magento/Catalog/Model/Product/Url.php b/app/code/Magento/Catalog/Model/Product/Url.php
index c46a5d07b1a..8a6f5438008 100644
--- a/app/code/Magento/Catalog/Model/Product/Url.php
+++ b/app/code/Magento/Catalog/Model/Product/Url.php
@@ -84,7 +84,7 @@ class Url extends \Magento\Object
      * Construct
      *
      * @param \Magento\Core\Model\Url\RewriteFactory $urlRewriteFactory
-     * @param \Magento\Core\Model\UrlInterface $url
+     * @param \Magento\UrlInterface $url
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Helper\Category $catalogCategory
      * @param \Magento\Catalog\Helper\Product\Url $catalogProductUrl
@@ -93,7 +93,7 @@ class Url extends \Magento\Object
      */
     public function __construct(
         \Magento\Core\Model\Url\RewriteFactory $urlRewriteFactory,
-        \Magento\Core\Model\UrlInterface $url,
+        \Magento\UrlInterface $url,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Helper\Category $catalogCategory,
         \Magento\Catalog\Helper\Product\Url $catalogProductUrl,
diff --git a/app/code/Magento/Catalog/Model/Resource/Category.php b/app/code/Magento/Catalog/Model/Resource/Category.php
index ccdbecc9986..0c861a49f68 100644
--- a/app/code/Magento/Catalog/Model/Resource/Category.php
+++ b/app/code/Magento/Catalog/Model/Resource/Category.php
@@ -67,7 +67,7 @@ class Category extends \Magento\Catalog\Model\Resource\AbstractResource
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -96,7 +96,7 @@ class Category extends \Magento\Catalog\Model\Resource\AbstractResource
      * @param \Magento\Validator\UniversalFactory $universalFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Factory $modelFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Model\Resource\Category\TreeFactory $categoryTreeFactory
      * @param \Magento\Catalog\Model\Resource\Category\CollectionFactory $categoryCollectionFactory
      * @param array $data
@@ -112,7 +112,7 @@ class Category extends \Magento\Catalog\Model\Resource\AbstractResource
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Factory $modelFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Model\Resource\Category\TreeFactory $categoryTreeFactory,
         \Magento\Catalog\Model\Resource\Category\CollectionFactory $categoryCollectionFactory,
         $data = array()
diff --git a/app/code/Magento/Catalog/Model/Resource/Category/Attribute/Collection.php b/app/code/Magento/Catalog/Model/Resource/Category/Attribute/Collection.php
index 9ebda769687..81f129748ed 100644
--- a/app/code/Magento/Catalog/Model/Resource/Category/Attribute/Collection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Category/Attribute/Collection.php
@@ -48,7 +48,7 @@ class Collection
      * Construct
      *
      * @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -56,7 +56,7 @@ class Collection
      */
     public function __construct(
         \Magento\Eav\Model\EntityFactory $eavEntityFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Category/Flat.php b/app/code/Magento/Catalog/Model/Resource/Category/Flat.php
index 5ee993ac230..1d0540dd195 100644
--- a/app/code/Magento/Catalog/Model/Resource/Category/Flat.php
+++ b/app/code/Magento/Catalog/Model/Resource/Category/Flat.php
@@ -108,7 +108,7 @@ class Flat extends \Magento\Index\Model\Resource\AbstractResource
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -163,7 +163,7 @@ class Flat extends \Magento\Index\Model\Resource\AbstractResource
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Config $catalogConfig
      * @param \Magento\Catalog\Model\Category $catalogCategory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Model\Resource\Helper $resourceHelper
      */
     public function __construct(
@@ -173,7 +173,7 @@ class Flat extends \Magento\Index\Model\Resource\AbstractResource
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Config $catalogConfig,
         \Magento\Catalog\Model\Category $catalogCategory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Model\Resource\Helper $resourceHelper
     ) {
         $this->_categoryFactory = $categoryFactory;
diff --git a/app/code/Magento/Catalog/Model/Resource/Category/Flat/Collection.php b/app/code/Magento/Catalog/Model/Resource/Category/Flat/Collection.php
index 8b966529ddb..cbeca8bafa1 100644
--- a/app/code/Magento/Catalog/Model/Resource/Category/Flat/Collection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Category/Flat/Collection.php
@@ -68,7 +68,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * Construct
      *
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -76,7 +76,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      */
     public function __construct(
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Category/Tree.php b/app/code/Magento/Catalog/Model/Resource/Category/Tree.php
index 791c5029b49..dce8772cc17 100644
--- a/app/code/Magento/Catalog/Model/Resource/Category/Tree.php
+++ b/app/code/Magento/Catalog/Model/Resource/Category/Tree.php
@@ -31,7 +31,7 @@ class Tree extends \Magento\Data\Tree\Dbp
     const LEVEL_FIELD = 'level';
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     private $_eventManager;
     
@@ -113,7 +113,7 @@ class Tree extends \Magento\Data\Tree\Dbp
      * @param \Magento\Core\Model\CacheInterface $cache
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Resource $resource
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Model\Attribute\Config $attributeConfig
      * @param \Magento\Catalog\Model\Resource\Category\Collection\Factory $collectionFactory
      */
@@ -122,7 +122,7 @@ class Tree extends \Magento\Data\Tree\Dbp
         \Magento\Core\Model\CacheInterface $cache,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource $resource,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Model\Attribute\Config $attributeConfig,
         \Magento\Catalog\Model\Resource\Category\Collection\Factory $collectionFactory
     ) {
diff --git a/app/code/Magento/Catalog/Model/Resource/Collection/AbstractCollection.php b/app/code/Magento/Catalog/Model/Resource/Collection/AbstractCollection.php
index 2b963e5a3af..c4457cace2d 100644
--- a/app/code/Magento/Catalog/Model/Resource/Collection/AbstractCollection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Collection/AbstractCollection.php
@@ -54,7 +54,7 @@ class AbstractCollection extends \Magento\Eav\Model\Entity\Collection\AbstractCo
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -66,7 +66,7 @@ class AbstractCollection extends \Magento\Eav\Model\Entity\Collection\AbstractCo
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Layer/Filter/Price.php b/app/code/Magento/Catalog/Model/Resource/Layer/Filter/Price.php
index de00891ab74..77e22eabd43 100644
--- a/app/code/Magento/Catalog/Model/Resource/Layer/Filter/Price.php
+++ b/app/code/Magento/Catalog/Model/Resource/Layer/Filter/Price.php
@@ -44,7 +44,7 @@ class Price extends \Magento\Core\Model\Resource\Db\AbstractDb
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -53,11 +53,11 @@ class Price extends \Magento\Core\Model\Resource\Db\AbstractDb
      *
      *
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Resource $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Resource $resource
     ) {
         $this->_eventManager = $eventManager;
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Backend/Image.php b/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Backend/Image.php
index c30db7a0ebf..8add8de7aa6 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Backend/Image.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Backend/Image.php
@@ -40,7 +40,7 @@ class Image
     /**
      * Dir model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -54,12 +54,12 @@ class Image
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Model\File\UploaderFactory $fileUploaderFactory
      */
     public function __construct(
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Logger $logger,
         \Magento\Core\Model\File\UploaderFactory $fileUploaderFactory
     ) {
@@ -94,7 +94,7 @@ class Image
         } catch (\Exception $e){
             return $this;
         }
-        $uploader->save($this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . '/catalog/product');
+        $uploader->save($this->_dir->getDir(\Magento\App\Dir::MEDIA) . '/catalog/product');
 
         $fileName = $uploader->getUploadedFileName();
         if ($fileName) {
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Collection.php b/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Collection.php
index 55d4ee5b172..8c8e3e87379 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Collection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Collection.php
@@ -48,7 +48,7 @@ class Collection
      * Construct
      *
      * @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -56,7 +56,7 @@ class Collection
      */
     public function __construct(
         \Magento\Eav\Model\EntityFactory $eavEntityFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Collection.php b/app/code/Magento/Catalog/Model/Resource/Product/Collection.php
index c597ec85c3a..d9317c9a798 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Collection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Collection.php
@@ -260,7 +260,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Collection\AbstractColl
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -281,7 +281,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Collection\AbstractColl
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Collection/AssociatedProduct.php b/app/code/Magento/Catalog/Model/Resource/Product/Collection/AssociatedProduct.php
index 681ca01a2b2..caee095e4d7 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Collection/AssociatedProduct.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Collection/AssociatedProduct.php
@@ -57,7 +57,7 @@ class AssociatedProduct
     protected $_configurationHelper;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -80,7 +80,7 @@ class AssociatedProduct
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Compare/Item/Collection.php b/app/code/Magento/Catalog/Model/Resource/Product/Compare/Item/Collection.php
index a974a08b8c5..7b05d36586c 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Compare/Item/Collection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Compare/Item/Collection.php
@@ -73,7 +73,7 @@ class Collection
     protected $_catalogProductCompareItem;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -96,7 +96,7 @@ class Collection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Flat/Indexer.php b/app/code/Magento/Catalog/Model/Resource/Product/Flat/Indexer.php
index 4532a74fd3e..70c22b43374 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Flat/Indexer.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Flat/Indexer.php
@@ -120,7 +120,7 @@ class Indexer extends \Magento\Index\Model\Resource\AbstractResource
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -180,7 +180,7 @@ class Indexer extends \Magento\Index\Model\Resource\AbstractResource
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Catalog\Model\Attribute\Config $attributeConfig
@@ -198,7 +198,7 @@ class Indexer extends \Magento\Index\Model\Resource\AbstractResource
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource $resource,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Catalog\Model\Attribute\Config $attributeConfig,
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/AbstractEav.php b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/AbstractEav.php
index 07182bd588d..39da61a6335 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/AbstractEav.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/AbstractEav.php
@@ -40,7 +40,7 @@ abstract class AbstractEav
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -49,12 +49,12 @@ abstract class AbstractEav
      *
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      */
     public function __construct(
         \Magento\Core\Model\Resource $resource,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\Core\Model\Event\Manager $eventManager
+        \Magento\Event\ManagerInterface $eventManager
     ) {
         $this->_eventManager = $eventManager;
         parent::__construct($resource, $eavConfig);
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/Source.php b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/Source.php
index b4057548fba..94b16cbdf10 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/Source.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/Source.php
@@ -49,13 +49,13 @@ class Source
      *
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Model\Resource\Helper $resourceHelper
      */
     public function __construct(
         \Magento\Core\Model\Resource $resource,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Model\Resource\Helper $resourceHelper
     ) {
         $this->_resourceHelper = $resourceHelper;
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php
index 05e7373ce06..85338f590a0 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php
@@ -63,20 +63,20 @@ class DefaultPrice
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      */
     public function __construct(
         \Magento\Core\Model\Resource $resource,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData
     ) {
         $this->_eventManager = $eventManager;
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Option/Collection.php b/app/code/Magento/Catalog/Model/Resource/Product/Option/Collection.php
index db36bbff79b..06125badce5 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Option/Collection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Option/Collection.php
@@ -52,7 +52,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      *
      * @param \Magento\Catalog\Model\Resource\Product\Option\Value\CollectionFactory $optionValueCollectionFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -61,7 +61,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     public function __construct(
         \Magento\Catalog\Model\Resource\Product\Option\Value\CollectionFactory $optionValueCollectionFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php b/app/code/Magento/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php
index 464ff82f985..8bcc774f8da 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php
@@ -81,7 +81,7 @@ class Collection
      *
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Product\Type\Configurable $catalogProductTypeConfigurable
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
@@ -91,7 +91,7 @@ class Collection
     public function __construct(
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Product\Type\Configurable $catalogProductTypeConfigurable,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Type/Grouped/AssociatedProductsCollection.php b/app/code/Magento/Catalog/Model/Resource/Product/Type/Grouped/AssociatedProductsCollection.php
index 6c399e32ebe..af0a033e753 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Type/Grouped/AssociatedProductsCollection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Type/Grouped/AssociatedProductsCollection.php
@@ -53,7 +53,7 @@ class AssociatedProductsCollection
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -76,7 +76,7 @@ class AssociatedProductsCollection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/etc/di.xml b/app/code/Magento/Catalog/etc/di.xml
index 99b245d3e68..6ab78d7fa06 100644
--- a/app/code/Magento/Catalog/etc/di.xml
+++ b/app/code/Magento/Catalog/etc/di.xml
@@ -29,15 +29,7 @@
     <type name="Magento\Log\Model\Resource\Log">
         <plugin name="catalogLog" type="Magento\Catalog\Model\Plugin\Log" />
     </type>
-    <type name="Magento\Catalog\Model\Product\Attribute\Backend\Price">
-        <param name="coreString">
-            <instance type="Magento\Core\Helper\String\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Catalog\Helper\Product\View">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="messageModels">
             <value>
                 <catalog>Magento\Catalog\Model\Session</catalog>
@@ -46,78 +38,21 @@
         </param>
     </type>
     <type name="Magento\Catalog\Helper\Product">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="typeSwitcherLabel">
             <value>Virtual</value>
         </param>
     </type>
-    <type name="Magento\Catalog\Model\Category">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Product\Attribute\Backend\Media">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Product\Attribute\Source\Inputtype">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Product\Status">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Product\Type\AbstractType">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Product\Type\Price">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Catalog\Model\Product">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="catalogProductStatus">
             <instance type="Magento\Catalog\Model\Product\Status\Proxy" />
         </param>
     </type>
     <type name="Magento\Catalog\Model\Resource\Category\Flat">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="catalogCategory">
             <instance type="Magento\Catalog\Model\Category\Proxy" />
         </param>
     </type>
-    <type name="Magento\Catalog\Model\Resource\Category\Tree">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Resource\Category">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Resource\Layer\Filter\Price">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Catalog\Model\Resource\Product\Flat\Indexer">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="maxIndexCount">
             <value type="int">64</value>
         </param>
@@ -127,16 +62,6 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Catalog\Model\Resource\Product\Indexer\Eav\AbstractEav">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Resource\Product\Indexer\Price\DefaultPrice">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Catalog\Model\Resource\Product\Collection">
         <param name="catalogUrl">
             <instance type="Magento\Catalog\Model\Resource\Url\Proxy" />
@@ -156,14 +81,6 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Catalog\Model\Attribute\Config\Data">
-        <param name="cacheId">
-            <value>catalog_attributes</value>
-        </param>
-        <param name="scope">
-            <value type="const">Magento\Core\Model\App\Area::AREA_GLOBAL</value>
-        </param>
-    </type>
     <type name="Magento\Catalog\Helper\Product\Flat">
         <param name="addFilterableAttrs">
             <value type="int">0</value>
@@ -188,12 +105,12 @@
         </param>
     </type>
     <type name="Magento\Catalog\Block\Layer\View">
-        <param name="layer">
+        <param name="catalogLayer">
             <instance type="Magento\Catalog\Model\Layer\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <catalog_setup>Magento\Catalog\Model\Resource\Setup</catalog_setup>
             </value>
diff --git a/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Minsaleqty.php b/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Minsaleqty.php
index d94f9641de8..2a7dd937c47 100644
--- a/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Minsaleqty.php
+++ b/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Minsaleqty.php
@@ -54,7 +54,6 @@ class Minsaleqty
                 array('data' => array('is_render_to_js_template' => true))
             );
             $this->_groupRenderer->setClass('customer_group_select');
-            $this->_groupRenderer->setExtraParams('style="width:120px"');
         }
         return $this->_groupRenderer;
     }
@@ -70,7 +69,6 @@ class Minsaleqty
         ));
         $this->addColumn('min_sale_qty', array(
             'label' => __('Minimum Qty'),
-            'style' => 'width:100px',
         ));
         $this->_addAfter = false;
         $this->_addButtonLabel = __('Add Minimum Qty');
diff --git a/app/code/Magento/CatalogInventory/Model/Resource/Stock/Item/Collection.php b/app/code/Magento/CatalogInventory/Model/Resource/Stock/Item/Collection.php
index 03351c04217..efa15f0d8fe 100644
--- a/app/code/Magento/CatalogInventory/Model/Resource/Stock/Item/Collection.php
+++ b/app/code/Magento/CatalogInventory/Model/Resource/Stock/Item/Collection.php
@@ -37,7 +37,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -45,7 +45,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\Abstract $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/CatalogInventory/etc/di.xml b/app/code/Magento/CatalogInventory/etc/di.xml
index a4040c25196..00ca544b8da 100644
--- a/app/code/Magento/CatalogInventory/etc/di.xml
+++ b/app/code/Magento/CatalogInventory/etc/di.xml
@@ -47,8 +47,8 @@
             <instance type="Magento\CatalogInventory\Helper\Data\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <cataloginventory_setup>Magento\Eav\Model\Entity\Setup</cataloginventory_setup>
             </value>
diff --git a/app/code/Magento/CatalogRule/Model/Resource/Rule.php b/app/code/Magento/CatalogRule/Model/Resource/Rule.php
index fa4d79a4e66..63a3ce57614 100644
--- a/app/code/Magento/CatalogRule/Model/Resource/Rule.php
+++ b/app/code/Magento/CatalogRule/Model/Resource/Rule.php
@@ -69,7 +69,7 @@ class Rule extends \Magento\Rule\Model\Resource\AbstractResource
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -98,7 +98,7 @@ class Rule extends \Magento\Rule\Model\Resource\AbstractResource
      * @param \Magento\Catalog\Model\Product\ConditionFactory $conditionFactory
      * @param \Magento\Core\Model\Date $coreDate
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\CatalogRule\Helper\Data $catalogRuleData
      * @param \Magento\Core\Model\Resource $resource
      */
@@ -107,7 +107,7 @@ class Rule extends \Magento\Rule\Model\Resource\AbstractResource
         \Magento\Catalog\Model\Product\ConditionFactory $conditionFactory,
         \Magento\Core\Model\Date $coreDate,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\CatalogRule\Helper\Data $catalogRuleData,
         \Magento\Core\Model\Resource $resource
     ) {
diff --git a/app/code/Magento/CatalogRule/Model/Rule/Action/Collection.php b/app/code/Magento/CatalogRule/Model/Rule/Action/Collection.php
index a671806ffe3..ad4bbde5a6f 100644
--- a/app/code/Magento/CatalogRule/Model/Rule/Action/Collection.php
+++ b/app/code/Magento/CatalogRule/Model/Rule/Action/Collection.php
@@ -32,13 +32,13 @@ class Collection extends \Magento\Rule\Model\Action\Collection
     /**
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Rule\Model\ActionFactory $actionFactory
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Rule\Model\ActionFactory $actionFactory,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         array $data = array()
     ) {
         parent::__construct($viewUrl, $actionFactory, $layout, $data);
diff --git a/app/code/Magento/CatalogRule/Model/Rule/Job.php b/app/code/Magento/CatalogRule/Model/Rule/Job.php
index 093cf6098da..06867b2b6cf 100644
--- a/app/code/Magento/CatalogRule/Model/Rule/Job.php
+++ b/app/code/Magento/CatalogRule/Model/Rule/Job.php
@@ -47,16 +47,16 @@ class Job extends \Magento\Object
     /**
      * Instance of event manager model
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
     /**
      * Basic object initialization
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      */
-    public function __construct(\Magento\Core\Model\Event\Manager $eventManager)
+    public function __construct(\Magento\Event\ManagerInterface $eventManager)
     {
         $this->_eventManager = $eventManager;
     }
diff --git a/app/code/Magento/CatalogRule/etc/di.xml b/app/code/Magento/CatalogRule/etc/di.xml
index 1aaed99347b..b0fde245ae4 100644
--- a/app/code/Magento/CatalogRule/etc/di.xml
+++ b/app/code/Magento/CatalogRule/etc/di.xml
@@ -24,14 +24,9 @@
  */
 -->
 <config>
-    <type name="Magento\CatalogRule\Model\Rule\Job">
-        <param name="helper">
-            <instance type="Magento\CatalogRule\Helper\Data" />
-        </param>
-    </type>
     <type name="Magento\CatalogRule\Model\Resource\Rule">
         <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
+            <instance type="Magento\Event\Manager\Proxy" />
         </param>
     </type>
     <type name="Magento\CatalogRule\Model\Resource\Rule\Collection" shared="false" />
@@ -46,8 +41,8 @@
             <instance type="Magento\Backend\Model\Session\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <catalogrule_setup>Magento\Core\Model\Resource\Setup\Generic</catalogrule_setup>
             </value>
diff --git a/app/code/Magento/CatalogSearch/Model/Fulltext.php b/app/code/Magento/CatalogSearch/Model/Fulltext.php
index b4e62cc844e..dd544df5bba 100644
--- a/app/code/Magento/CatalogSearch/Model/Fulltext.php
+++ b/app/code/Magento/CatalogSearch/Model/Fulltext.php
@@ -59,7 +59,7 @@ class Fulltext extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -71,7 +71,7 @@ class Fulltext extends \Magento\Core\Model\AbstractModel
     protected $_coreStoreConfig;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\CatalogSearch\Helper\Data $catalogSearchData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -81,7 +81,7 @@ class Fulltext extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\CatalogSearch\Helper\Data $catalogSearchData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/CatalogSearch/Model/Resource/Advanced.php b/app/code/Magento/CatalogSearch/Model/Resource/Advanced.php
index 0b3a8016e0c..5d3ebe37e58 100644
--- a/app/code/Magento/CatalogSearch/Model/Resource/Advanced.php
+++ b/app/code/Magento/CatalogSearch/Model/Resource/Advanced.php
@@ -39,7 +39,7 @@ class Advanced extends \Magento\Core\Model\Resource\Db\AbstractDb
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -55,12 +55,12 @@ class Advanced extends \Magento\Core\Model\Resource\Db\AbstractDb
      *
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      */
     public function __construct(
         \Magento\Core\Model\Resource $resource,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Event\Manager $eventManager
+        \Magento\Event\ManagerInterface $eventManager
     ) {
         $this->_storeManager = $storeManager;
         $this->_eventManager = $eventManager;
diff --git a/app/code/Magento/CatalogSearch/Model/Resource/Advanced/Collection.php b/app/code/Magento/CatalogSearch/Model/Resource/Advanced/Collection.php
index 0ab32ec2cb8..9ae353ae4c3 100644
--- a/app/code/Magento/CatalogSearch/Model/Resource/Advanced/Collection.php
+++ b/app/code/Magento/CatalogSearch/Model/Resource/Advanced/Collection.php
@@ -44,7 +44,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
     protected $_date;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -66,7 +66,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/CatalogSearch/Model/Resource/Fulltext.php b/app/code/Magento/CatalogSearch/Model/Resource/Fulltext.php
index 715a44feda9..04a52573293 100644
--- a/app/code/Magento/CatalogSearch/Model/Resource/Fulltext.php
+++ b/app/code/Magento/CatalogSearch/Model/Resource/Fulltext.php
@@ -114,7 +114,7 @@ class Fulltext extends \Magento\Core\Model\Resource\Db\AbstractDb
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -153,7 +153,7 @@ class Fulltext extends \Magento\Core\Model\Resource\Db\AbstractDb
      * @param \Magento\Catalog\Model\Product\Status $catalogProductStatus
      * @param \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $productAttributeCollFactory
      * @param \Magento\CatalogSearch\Model\Resource\EngineProvider $engineProvider
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\String $coreString
      * @param \Magento\CatalogSearch\Helper\Data $catalogSearchData
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
@@ -167,7 +167,7 @@ class Fulltext extends \Magento\Core\Model\Resource\Db\AbstractDb
         \Magento\Catalog\Model\Product\Status $catalogProductStatus,
         \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $productAttributeCollFactory,
         \Magento\CatalogSearch\Model\Resource\EngineProvider $engineProvider,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\String $coreString,
         \Magento\CatalogSearch\Helper\Data $catalogSearchData,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
diff --git a/app/code/Magento/CatalogSearch/Model/Resource/Fulltext/Collection.php b/app/code/Magento/CatalogSearch/Model/Resource/Fulltext/Collection.php
index cd8e028c22a..5449cc3cc9f 100644
--- a/app/code/Magento/CatalogSearch/Model/Resource/Fulltext/Collection.php
+++ b/app/code/Magento/CatalogSearch/Model/Resource/Fulltext/Collection.php
@@ -51,7 +51,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
     protected $_catalogSearchFulltext;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -74,7 +74,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/CatalogSearch/Model/Resource/Query/Collection.php b/app/code/Magento/CatalogSearch/Model/Resource/Query/Collection.php
index 3d8141a4ac7..487230cd602 100644
--- a/app/code/Magento/CatalogSearch/Model/Resource/Query/Collection.php
+++ b/app/code/Magento/CatalogSearch/Model/Resource/Query/Collection.php
@@ -60,7 +60,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -69,7 +69,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/CatalogSearch/Model/Resource/Search/Collection.php b/app/code/Magento/CatalogSearch/Model/Resource/Search/Collection.php
index 227b3b25a78..316c6498933 100644
--- a/app/code/Magento/CatalogSearch/Model/Resource/Search/Collection.php
+++ b/app/code/Magento/CatalogSearch/Model/Resource/Search/Collection.php
@@ -63,7 +63,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
     protected $_attributeCollectionFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -84,7 +84,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
      * @param \Magento\Core\Model\Resource $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/CatalogSearch/etc/di.xml b/app/code/Magento/CatalogSearch/etc/di.xml
index d945eff955d..cad205dce5f 100644
--- a/app/code/Magento/CatalogSearch/etc/di.xml
+++ b/app/code/Magento/CatalogSearch/etc/di.xml
@@ -24,21 +24,6 @@
  */
 -->
 <config>
-    <type name="Magento\CatalogSearch\Model\Fulltext">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\CatalogSearch\Model\Resource\Advanced">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\CatalogSearch\Model\Resource\Fulltext">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\CatalogSearch\Block\Layer">
         <param name="layer">
             <instance type="Magento\CatalogSearch\Model\Layer\Proxy" />
diff --git a/app/code/Magento/Centinel/Helper/Data.php b/app/code/Magento/Centinel/Helper/Data.php
index 189c68ed3aa..146401eadf0 100644
--- a/app/code/Magento/Centinel/Helper/Data.php
+++ b/app/code/Magento/Centinel/Helper/Data.php
@@ -36,16 +36,18 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Layout factory
      *
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      */
-    public function __construct(\Magento\Core\Helper\Context $context, \Magento\Core\Model\Layout $layout)
-    {
+    public function __construct(
+        \Magento\Core\Helper\Context $context,
+        \Magento\View\LayoutInterface $layout
+    ) {
         $this->_layout = $layout;
         parent::__construct($context);
     }
diff --git a/app/code/Magento/Centinel/Model/Service.php b/app/code/Magento/Centinel/Model/Service.php
index 509360417d9..8f9721f4ed1 100644
--- a/app/code/Magento/Centinel/Model/Service.php
+++ b/app/code/Magento/Centinel/Model/Service.php
@@ -78,14 +78,14 @@ class Service extends \Magento\Object
     /**
      * Backend url
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_backendUrl;
 
     /**
      * Frontend url
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_frontendUrl;
 
@@ -127,8 +127,8 @@ class Service extends \Magento\Object
     /**
      * @param \Magento\Centinel\Model\Config $config
      * @param \Magento\Centinel\Model\Api $api
-     * @param \Magento\Core\Model\UrlInterface $backendUrl
-     * @param \Magento\Core\Model\UrlInterface $frontendUrl
+     * @param \Magento\UrlInterface $backendUrl
+     * @param \Magento\UrlInterface $frontendUrl
      * @param \Magento\Core\Model\Session\AbstractSession $centinelSession
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -138,8 +138,8 @@ class Service extends \Magento\Object
     public function __construct(
         \Magento\Centinel\Model\Config $config,
         \Magento\Centinel\Model\Api $api,
-        \Magento\Core\Model\UrlInterface $backendUrl,
-        \Magento\Core\Model\UrlInterface $frontendUrl,
+        \Magento\UrlInterface $backendUrl,
+        \Magento\UrlInterface $frontendUrl,
         \Magento\Core\Model\Session\AbstractSession $centinelSession,
         \Magento\Core\Model\Session $session,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
diff --git a/app/code/Magento/Centinel/etc/adminhtml/di.xml b/app/code/Magento/Centinel/etc/adminhtml/di.xml
index 767d9b1c11b..a48080f8cdd 100644
--- a/app/code/Magento/Centinel/etc/adminhtml/di.xml
+++ b/app/code/Magento/Centinel/etc/adminhtml/di.xml
@@ -32,15 +32,7 @@
             <value>adminhtml</value>
         </param>
     </virtualType>
-    <type name="Magento\Centinel\Controller\Adminhtml\Centinel\Index">
-        <param name="checkoutCart">
-            <instance type="Magento\Adminhtml\Model\Sales\Order\Create" />
-        </param>
-    </type>
     <type name="Magento\Centinel\Model\Service">
-        <param name="checkoutCart">
-            <instance type="Magento\Adminhtml\Model\Sales\Order\Create" />
-        </param>
         <param name="backendUrl">
             <instance type="Magento\Backend\Model\Url" />
         </param>
diff --git a/app/code/Magento/Checkout/Block/Cart.php b/app/code/Magento/Checkout/Block/Cart.php
index 777b88b2089..f7db27f4821 100644
--- a/app/code/Magento/Checkout/Block/Cart.php
+++ b/app/code/Magento/Checkout/Block/Cart.php
@@ -46,7 +46,7 @@ class Cart extends \Magento\Checkout\Block\Cart\AbstractCart
     protected $_catalogUrlBuilder;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -56,7 +56,7 @@ class Cart extends \Magento\Checkout\Block\Cart\AbstractCart
      * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Resource\Url $catalogUrlBuilder
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param array $data
@@ -69,7 +69,7 @@ class Cart extends \Magento\Checkout\Block\Cart\AbstractCart
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Resource\Url $catalogUrlBuilder,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         array $data = array()
     ) {
         $this->_storeManager = $storeManager;
diff --git a/app/code/Magento/Checkout/Block/Cart/AbstractCart.php b/app/code/Magento/Checkout/Block/Cart/AbstractCart.php
index a3723987d0a..19183c6d6ba 100644
--- a/app/code/Magento/Checkout/Block/Cart/AbstractCart.php
+++ b/app/code/Magento/Checkout/Block/Cart/AbstractCart.php
@@ -109,7 +109,7 @@ class AbstractCart extends \Magento\Core\Block\Template
     public function getItemRenderer($type)
     {
         $renderer = $this->getChildBlock($type) ?: $this->getChildBlock(self::DEFAULT_TYPE);
-        if (!$renderer instanceof \Magento\Core\Block) {
+        if (!$renderer instanceof \Magento\View\Element\BlockInterface) {
             throw new \RuntimeException('Renderer for type "' . $type . '" does not exist.');
         }
         $renderer->setRenderedBlock($this);
diff --git a/app/code/Magento/Checkout/Block/Multishipping/Overview.php b/app/code/Magento/Checkout/Block/Multishipping/Overview.php
index 8cdda3870d5..e9219bdbae1 100644
--- a/app/code/Magento/Checkout/Block/Multishipping/Overview.php
+++ b/app/code/Magento/Checkout/Block/Multishipping/Overview.php
@@ -367,7 +367,7 @@ class Overview extends \Magento\Sales\Block\Items\AbstractItems
     protected function _getRowItemRenderer($type)
     {
         $renderer = $this->getChildBlock($this->_getRowItemType($type));
-        if ($renderer instanceof \Magento\Core\Block) {
+        if ($renderer instanceof \Magento\View\Element\BlockInterface) {
             $renderer->setRenderedBlock($this);
             return $renderer;
         }
diff --git a/app/code/Magento/Checkout/Controller/Cart.php b/app/code/Magento/Checkout/Controller/Cart.php
index bb3af4f700d..ebe8bfcb12c 100644
--- a/app/code/Magento/Checkout/Controller/Cart.php
+++ b/app/code/Magento/Checkout/Controller/Cart.php
@@ -482,7 +482,7 @@ class Cart
                 $this->_objectManager->get('Magento\Core\Model\Logger')->logException($e);
             }
         }
-        $this->_redirectReferer($this->_objectManager->create('Magento\Core\Model\UrlInterface')->getUrl('*/*'));
+        $this->_redirectReferer($this->_objectManager->create('Magento\UrlInterface')->getUrl('*/*'));
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Controller/Multishipping.php b/app/code/Magento/Checkout/Controller/Multishipping.php
index 0507562f7e8..7ac37e99e25 100644
--- a/app/code/Magento/Checkout/Controller/Multishipping.php
+++ b/app/code/Magento/Checkout/Controller/Multishipping.php
@@ -550,7 +550,7 @@ class Multishipping extends \Magento\Checkout\Controller\Action
     public function redirectLogin()
     {
         $this->setFlag('', 'no-dispatch', true);
-        $url = $this->_objectManager->create('Magento\Core\Model\UrlInterface')
+        $url = $this->_objectManager->create('Magento\UrlInterface')
             ->getUrl('*/*', array('_secure' => true));
         $this->_objectManager->get('Magento\Customer\Model\Session')->setBeforeAuthUrl($url);
 
diff --git a/app/code/Magento/Checkout/Controller/Multishipping/Address.php b/app/code/Magento/Checkout/Controller/Multishipping/Address.php
index 9885f2c99b0..cebec534880 100644
--- a/app/code/Magento/Checkout/Controller/Multishipping/Address.php
+++ b/app/code/Magento/Checkout/Controller/Multishipping/Address.php
@@ -36,17 +36,17 @@ namespace Magento\Checkout\Controller\Multishipping;
 class Address extends \Magento\Core\Controller\Front\Action
 {
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      */
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\UrlInterface $urlBuilder
+        \Magento\UrlInterface $urlBuilder
     ) {
         $this->_urlBuilder = $urlBuilder;
         parent::__construct($context);
diff --git a/app/code/Magento/Checkout/Controller/Onepage.php b/app/code/Magento/Checkout/Controller/Onepage.php
index 6f89d5611f1..cc6869c7f66 100644
--- a/app/code/Magento/Checkout/Controller/Onepage.php
+++ b/app/code/Magento/Checkout/Controller/Onepage.php
@@ -214,7 +214,7 @@ class Onepage extends \Magento\Checkout\Controller\Action
             return;
         }
         $this->_objectManager->get('Magento\Checkout\Model\Session')->setCartWasUpdated(false);
-        $currentUrl = $this->_objectManager->create('Magento\Core\Model\UrlInterface')
+        $currentUrl = $this->_objectManager->create('Magento\UrlInterface')
             ->getUrl('*/*/*', array('_secure'=>true));
         $this->_objectManager->get('Magento\Customer\Model\Session')->setBeforeAuthUrl($currentUrl);
         $this->getOnepage()->initCheckout();
diff --git a/app/code/Magento/Checkout/Helper/Data.php b/app/code/Magento/Checkout/Helper/Data.php
index 25f70cec378..ba27c5b1dc1 100644
--- a/app/code/Magento/Checkout/Helper/Data.php
+++ b/app/code/Magento/Checkout/Helper/Data.php
@@ -41,7 +41,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -78,7 +78,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_emailTemplFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -88,7 +88,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Core\Model\Email\TemplateFactory $emailTemplFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
diff --git a/app/code/Magento/Checkout/Model/Cart.php b/app/code/Magento/Checkout/Model/Cart.php
index 74fc00ab18d..667ecd068ae 100644
--- a/app/code/Magento/Checkout/Model/Cart.php
+++ b/app/code/Magento/Checkout/Model/Cart.php
@@ -52,7 +52,7 @@ class Cart extends \Magento\Object implements \Magento\Checkout\Model\Cart\CartI
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -94,7 +94,7 @@ class Cart extends \Magento\Object implements \Magento\Checkout\Model\Cart\CartI
     protected $_message;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -105,7 +105,7 @@ class Cart extends \Magento\Object implements \Magento\Checkout\Model\Cart\CartI
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Catalog\Model\ProductFactory $productFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
diff --git a/app/code/Magento/Checkout/Model/Session.php b/app/code/Magento/Checkout/Model/Session.php
index 37e56e7ac27..4aa73f1edd7 100644
--- a/app/code/Magento/Checkout/Model/Session.php
+++ b/app/code/Magento/Checkout/Model/Session.php
@@ -85,7 +85,7 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
     protected $_quoteFactory;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
diff --git a/app/code/Magento/Checkout/Model/Type/Multishipping.php b/app/code/Magento/Checkout/Model/Type/Multishipping.php
index 9cd7b37e1b9..c7b60d8f68a 100644
--- a/app/code/Magento/Checkout/Model/Type/Multishipping.php
+++ b/app/code/Magento/Checkout/Model/Type/Multishipping.php
@@ -45,7 +45,7 @@ class Multishipping extends \Magento\Checkout\Model\Type\AbstractType
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -80,7 +80,7 @@ class Multishipping extends \Magento\Checkout\Model\Type\AbstractType
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Sales\Model\Quote\AddressFactory $addressFactory
@@ -92,7 +92,7 @@ class Multishipping extends \Magento\Checkout\Model\Type\AbstractType
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Sales\Model\OrderFactory $orderFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Session $session,
         \Magento\Sales\Model\Quote\AddressFactory $addressFactory,
diff --git a/app/code/Magento/Checkout/Model/Type/Onepage.php b/app/code/Magento/Checkout/Model/Type/Onepage.php
index 04b23320894..4258599363d 100644
--- a/app/code/Magento/Checkout/Model/Type/Onepage.php
+++ b/app/code/Magento/Checkout/Model/Type/Onepage.php
@@ -87,7 +87,7 @@ class Onepage
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -97,7 +97,7 @@ class Onepage
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -127,7 +127,7 @@ class Onepage
     protected $_orderFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Checkout\Helper\Data $helper
      * @param \Magento\Customer\Helper\Data $customerData
      * @param \Magento\Core\Helper\Data $coreData
@@ -135,7 +135,7 @@ class Onepage
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Customer\Model\AddressFactory $customrAddrFactory
      * @param \Magento\Customer\Model\FormFactory $customerFormFactory
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
@@ -143,7 +143,7 @@ class Onepage
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Checkout\Helper\Data $helper,
         \Magento\Customer\Helper\Data $customerData,
         \Magento\Core\Helper\Data $coreData,
@@ -151,7 +151,7 @@ class Onepage
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Customer\Model\AddressFactory $customrAddrFactory,
         \Magento\Customer\Model\FormFactory $customerFormFactory,
         \Magento\Customer\Model\CustomerFactory $customerFactory,
diff --git a/app/code/Magento/Checkout/etc/di.xml b/app/code/Magento/Checkout/etc/di.xml
index d190f74355e..cd103944fe6 100644
--- a/app/code/Magento/Checkout/etc/di.xml
+++ b/app/code/Magento/Checkout/etc/di.xml
@@ -24,33 +24,8 @@
  */
 -->
 <config>
-    <type name="Magento\Checkout\Helper\Data">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Checkout\Model\Cart\Api">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Checkout\Model\Cart">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Checkout\Model\Type\Multishipping">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Checkout\Model\Type\Onepage">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <checkout_setup>Magento\Checkout\Model\Resource\Setup</checkout_setup>
             </value>
diff --git a/app/code/Magento/Cms/Controller/Router.php b/app/code/Magento/Cms/Controller/Router.php
index d41cf1c4c16..4dae02e646c 100644
--- a/app/code/Magento/Cms/Controller/Router.php
+++ b/app/code/Magento/Cms/Controller/Router.php
@@ -34,12 +34,12 @@
  */
 namespace Magento\Cms\Controller;
 
-class Router extends \Magento\Core\Controller\Varien\Router\AbstractRouter
+class Router extends \Magento\App\Router\AbstractRouter
 {
     /**
      * Event manager
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -60,43 +60,43 @@ class Router extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Config primary
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
      * Url
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_url;
 
     /**
      * Response
      *
-     * @var \Magento\Core\Controller\Response\Http
+     * @var \Magento\App\ResponseInterface
      */
     protected $_response;
 
     /**
      * Construct
      *
-     * @param \Magento\Core\Controller\Varien\Action\Factory $controllerFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\UrlInterface $url
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\ActionFactory $controllerFactory
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\UrlInterface $url
+     * @param \Magento\App\State $appState
      * @param \Magento\Cms\Model\PageFactory $pageFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\ResponseInterface $response
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Factory $controllerFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
-        \Magento\Core\Model\UrlInterface $url,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\ActionFactory $controllerFactory,
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\UrlInterface $url,
+        \Magento\App\State $appState,
         \Magento\Cms\Model\PageFactory $pageFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Controller\Response\Http $response
+        \Magento\App\ResponseInterface $response
     ) {
         parent::__construct($controllerFactory);
         $this->_eventManager = $eventManager;
@@ -110,12 +110,12 @@ class Router extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Validate and Match Cms Page and modify request
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return bool
      *
      * @SuppressWarnings(PHPMD.ExitExpression)
      */
-    public function match(\Magento\Core\Controller\Request\Http $request)
+    public function match(\Magento\App\RequestInterface $request)
     {
         if (!$this->_appState->isInstalled()) {
             $this->_response->setRedirect($this->_url->getUrl('install'))
@@ -139,7 +139,7 @@ class Router extends \Magento\Core\Controller\Varien\Router\AbstractRouter
             $this->_response->setRedirect($condition->getRedirectUrl())
                 ->sendResponse();
             $request->setDispatched(true);
-            return $this->_controllerFactory->createController('Magento\Core\Controller\Varien\Action\Redirect',
+            return $this->_controllerFactory->createController('Magento\App\Action\Redirect',
                 array('request' => $request)
             );
         }
@@ -164,7 +164,7 @@ class Router extends \Magento\Core\Controller\Varien\Router\AbstractRouter
             $identifier
         );
 
-        return $this->_controllerFactory->createController('Magento\Core\Controller\Varien\Action\Forward',
+        return $this->_controllerFactory->createController('Magento\App\Action\Forward',
             array('request' => $request)
         );
     }
diff --git a/app/code/Magento/Cms/Helper/Page.php b/app/code/Magento/Cms/Helper/Page.php
index 894aca46a11..54ea4f7f1a9 100644
--- a/app/code/Magento/Cms/Helper/Page.php
+++ b/app/code/Magento/Cms/Helper/Page.php
@@ -50,14 +50,14 @@ class Page extends \Magento\Core\Helper\AbstractHelper
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
     /**
      * Design package instance
      *
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -95,20 +95,18 @@ class Page extends \Magento\Core\Helper\AbstractHelper
     /**
      * Url
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_url;
 
     /**
-     * Construct
-     *
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\Session\Pool $sessionFactory
      * @param \Magento\Cms\Model\Page $page
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Page\Helper\Layout $pageLayout
-     * @param \Magento\Core\Model\View\DesignInterface $design
-     * @param \Magento\Core\Model\UrlInterface $url
+     * @param \Magento\View\DesignInterface $design
+     * @param \Magento\UrlInterface $url
      * @param \Magento\Cms\Model\PageFactory $pageFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\LocaleInterface $locale
@@ -117,10 +115,10 @@ class Page extends \Magento\Core\Helper\AbstractHelper
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\Session\Pool $sessionFactory,
         \Magento\Cms\Model\Page $page,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Page\Helper\Layout $pageLayout,
-        \Magento\Core\Model\View\DesignInterface $design,
-        \Magento\Core\Model\UrlInterface $url,
+        \Magento\View\DesignInterface $design,
+        \Magento\UrlInterface $url,
         \Magento\Cms\Model\PageFactory $pageFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\LocaleInterface $locale
diff --git a/app/code/Magento/Cms/Helper/Wysiwyg/Images.php b/app/code/Magento/Cms/Helper/Wysiwyg/Images.php
index 6cb0ac88507..65f82ba9f5c 100644
--- a/app/code/Magento/Cms/Helper/Wysiwyg/Images.php
+++ b/app/code/Magento/Cms/Helper/Wysiwyg/Images.php
@@ -73,7 +73,7 @@ class Images extends \Magento\Core\Helper\AbstractHelper
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -87,7 +87,7 @@ class Images extends \Magento\Core\Helper\AbstractHelper
     /**
      * Dir
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -95,21 +95,21 @@ class Images extends \Magento\Core\Helper\AbstractHelper
      * Construct
      *
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Backend\Helper\Data $backendData
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Backend\Helper\Data $backendData,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Dir $dir
+        \Magento\App\Dir $dir
     ) {
         parent::__construct($context);
         $this->_eventManager = $eventManager;
@@ -143,7 +143,7 @@ class Images extends \Magento\Core\Helper\AbstractHelper
      */
     public function getStorageRoot()
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . DS
+        return $this->_dir->getDir(\Magento\App\Dir::MEDIA) . DS
             . \Magento\Cms\Model\Wysiwyg\Config::IMAGE_DIRECTORY . DS;
     }
 
@@ -305,7 +305,7 @@ class Images extends \Magento\Core\Helper\AbstractHelper
     public function getCurrentUrl()
     {
         if (!$this->_currentUrl) {
-            $path = str_replace($this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA), '', $this->getCurrentPath());
+            $path = str_replace($this->_dir->getDir(\Magento\App\Dir::MEDIA), '', $this->getCurrentPath());
             $path = trim($path, DS);
             $mediaUrl = $this->_storeManager->getStore($this->_storeId)
                 ->getBaseUrl(\Magento\Core\Model\Store::URL_TYPE_MEDIA);
diff --git a/app/code/Magento/Cms/Model/Page.php b/app/code/Magento/Cms/Model/Page.php
index 1c2f7b1ce60..50de0f72df0 100644
--- a/app/code/Magento/Cms/Model/Page.php
+++ b/app/code/Magento/Cms/Model/Page.php
@@ -94,12 +94,12 @@ class Page extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -107,7 +107,7 @@ class Page extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Cms/Model/Resource/Page/Collection.php b/app/code/Magento/Cms/Model/Resource/Page/Collection.php
index 8bbbcd474d6..a07fef4f2ad 100644
--- a/app/code/Magento/Cms/Model/Resource/Page/Collection.php
+++ b/app/code/Magento/Cms/Model/Resource/Page/Collection.php
@@ -54,7 +54,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -62,7 +62,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Cms/Model/Wysiwyg/Config.php b/app/code/Magento/Cms/Model/Wysiwyg/Config.php
index 587fb8483b3..986d88a6707 100644
--- a/app/code/Magento/Cms/Model/Wysiwyg/Config.php
+++ b/app/code/Magento/Cms/Model/Wysiwyg/Config.php
@@ -73,7 +73,7 @@ class Config extends \Magento\Object
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -96,7 +96,7 @@ class Config extends \Magento\Object
 
     /**
      * @param \Magento\Backend\Model\Url $backendUrl
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Cms\Helper\Data $cmsData
      * @param \Magento\AuthorizationInterface $authorization
      * @param \Magento\Core\Model\View\Url $viewUrl
@@ -108,7 +108,7 @@ class Config extends \Magento\Object
      */
     public function __construct(
         \Magento\Backend\Model\Url $backendUrl,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Cms\Helper\Data $cmsData,
         \Magento\AuthorizationInterface $authorization,
         \Magento\Core\Model\View\Url $viewUrl,
diff --git a/app/code/Magento/Cms/Model/Wysiwyg/Images/Storage.php b/app/code/Magento/Cms/Model/Wysiwyg/Images/Storage.php
index 6d5cb9ae127..a4b3a4cd28c 100644
--- a/app/code/Magento/Cms/Model/Wysiwyg/Images/Storage.php
+++ b/app/code/Magento/Cms/Model/Wysiwyg/Images/Storage.php
@@ -136,7 +136,7 @@ class Storage extends \Magento\Object
     /**
      * Dir
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -157,7 +157,7 @@ class Storage extends \Magento\Object
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\Image\AdapterFactory $imageFactory
      * @param \Magento\Core\Model\View\Url $viewUrl
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Cms\Model\Wysiwyg\Images\Storage\CollectionFactory $storageCollectionFactory
      * @param \Magento\Core\Model\File\Storage\FileFactory $storageFileFactory
      * @param \Magento\Core\Model\File\Storage\DatabaseFactory $storageDatabaseFactory
@@ -178,7 +178,7 @@ class Storage extends \Magento\Object
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\Image\AdapterFactory $imageFactory,
         \Magento\Core\Model\View\Url $viewUrl,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Cms\Model\Wysiwyg\Images\Storage\CollectionFactory $storageCollectionFactory,
         \Magento\Core\Model\File\Storage\FileFactory $storageFileFactory,
         \Magento\Core\Model\File\Storage\DatabaseFactory $storageDatabaseFactory,
@@ -582,7 +582,7 @@ class Storage extends \Magento\Object
      */
     public function getThumbsPath($filePath = false)
     {
-        $mediaRootDir = $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA);
+        $mediaRootDir = $this->_dir->getDir(\Magento\App\Dir::MEDIA);
         $thumbnailDir = $this->getThumbnailRoot();
 
         if ($filePath && strpos($filePath, $mediaRootDir) === 0) {
diff --git a/app/code/Magento/Cms/etc/di.xml b/app/code/Magento/Cms/etc/di.xml
index d04a15269e7..f764b802e9e 100644
--- a/app/code/Magento/Cms/etc/di.xml
+++ b/app/code/Magento/Cms/etc/di.xml
@@ -24,7 +24,7 @@
  */
 -->
 <config>
-    <type name="Magento\Core\Model\RouterList">
+    <type name="Magento\App\RouterList">
         <param name="routerList">
             <value>
                 <cms>
@@ -36,9 +36,6 @@
         </param>
     </type>
     <type name="Magento\Cms\Model\Wysiwyg\Config">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="windowSize">
             <value>
                 <height type="int">600</height>
@@ -84,56 +81,13 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Cms\Helper\Page">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Cms\Helper\Wysiwyg\Images">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Cms\Model\Page">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>       
-    </type>
     <type name="Magento\Core\Helper\Data">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="config">
             <instance type="Magento\Core\Model\ConfigProxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Layout">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Locale">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Resource\Db\Collection\AbstractCollection">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Resource\Setup">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Session\AbstractSession">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <cms_setup>Magento\Cms\Model\Resource\Setup</cms_setup>
             </value>
diff --git a/app/code/Magento/Connect/Helper/Data.php b/app/code/Magento/Connect/Helper/Data.php
index c7e9e2909c8..5d323abaa7f 100644
--- a/app/code/Magento/Connect/Helper/Data.php
+++ b/app/code/Magento/Connect/Helper/Data.php
@@ -43,38 +43,38 @@ class Data extends \Magento\Core\Helper\Data
     /**
      * Application dirs
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param bool $dbCompatibleMode
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         $dbCompatibleMode = true
     )
     {
diff --git a/app/code/Magento/Connect/Model/Extension/Collection.php b/app/code/Magento/Connect/Model/Extension/Collection.php
index e086de340f8..86486fe09ac 100644
--- a/app/code/Magento/Connect/Model/Extension/Collection.php
+++ b/app/code/Magento/Connect/Model/Extension/Collection.php
@@ -54,10 +54,10 @@ class Collection extends \Magento\Data\Collection\Filesystem
     /**
      * Set base dir
      *
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      */
-    public function __construct(\Magento\Core\Model\Dir $dirs, \Magento\Core\Model\EntityFactory $entityFactory)
+    public function __construct(\Magento\App\Dir $dirs, \Magento\Core\Model\EntityFactory $entityFactory)
     {
         parent::__construct($entityFactory);
         $this->_baseDir = $dirs->getDir('var') . DS . 'connect';
diff --git a/app/code/Magento/Core/App/FrontController/Plugin/Install.php b/app/code/Magento/Core/App/FrontController/Plugin/Install.php
new file mode 100644
index 00000000000..37012d76f08
--- /dev/null
+++ b/app/code/Magento/Core/App/FrontController/Plugin/Install.php
@@ -0,0 +1,72 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\FrontController\Plugin;
+
+class Install
+{
+    /**
+     * @var \Magento\App\State
+     */
+    protected $_appState;
+
+    /**
+     * @var \Magento\Cache\FrontendInterface
+     */
+    protected $_cache;
+
+    /**
+     * @var \Magento\App\UpdaterInterface
+     */
+    protected $_updater;
+
+    /**
+     * @param \Magento\App\State $appState
+     * @param \Magento\Cache\FrontendInterface $cache
+     * @param \Magento\App\UpdaterInterface $dbUpdater
+     */
+    public function __construct(
+        \Magento\App\State $appState,
+        \Magento\Cache\FrontendInterface $cache,
+        \Magento\App\UpdaterInterface $dbUpdater
+    ) {
+        $this->_appState = $appState;
+        $this->_cache = $cache;
+        $this->_dbUpdater = $dbUpdater;
+    }
+
+    /**
+     * @param array $arguments
+     * @param \Magento\Code\Plugin\InvocationChain $invocationChain
+     * @return mixed
+     */
+    public function aroundDispatch($arguments, \Magento\Code\Plugin\InvocationChain $invocationChain)
+    {
+        if ($this->_appState->isInstalled() && !$this->_cache->load('data_upgrade')) {
+            $this->_dbUpdater->updateScheme();
+            $this->_dbUpdater->updateData();
+            $this->_cache->save('true', 'data_upgrade');
+        }
+        return $invocationChain->proceed($arguments);
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/App/FrontController/Plugin/RequestPreprocessor.php b/app/code/Magento/Core/App/FrontController/Plugin/RequestPreprocessor.php
new file mode 100644
index 00000000000..358c748aece
--- /dev/null
+++ b/app/code/Magento/Core/App/FrontController/Plugin/RequestPreprocessor.php
@@ -0,0 +1,184 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\FrontController\Plugin;
+
+class RequestPreprocessor
+{
+    /**
+     * @var \Magento\Core\App\Request\RewriteService RewriteService
+     */
+    protected $_rewriteService;
+
+    /**
+     * @var \Magento\Core\Model\Store\Config
+     */
+    protected $_storeConfig;
+
+    /**
+     * @var \Magento\App\ResponseFactory
+     */
+    protected $_responseFactory;
+
+    /**
+     * @var \Magento\Core\Model\Url
+     */
+    protected $_url;
+
+    /**
+     * @var \Magento\App\State
+     */
+    protected $_appState;
+
+    /**
+     * @var \Magento\Core\Model\StoreManager
+     */
+    protected $_storeManager;
+
+    /**
+     * @var \Magento\Backend\Helper\Data
+     */
+    protected $_backendData;
+
+    /**
+     * @param \Magento\Core\App\Request\RewriteService $rewriteService
+     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\App\State $appState
+     * @param \Magento\Core\Model\Url $url
+     * @param \Magento\Backend\Helper\Data $backendData
+     * @param \Magento\Core\Model\Store\Config $storeConfig
+     * @param \Magento\App\ResponseFactory $responseFactory
+     */
+    public function __construct(
+        \Magento\Core\App\Request\RewriteService $rewriteService,
+        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\App\State $appState,
+        \Magento\Core\Model\Url $url,
+        \Magento\Backend\Helper\Data $backendData,
+        \Magento\Core\Model\Store\Config $storeConfig,
+        \Magento\App\ResponseFactory $responseFactory
+    ) {
+        $this->_backendData = $backendData;
+        $this->_rewriteService = $rewriteService;
+        $this->_storeManager = $storeManager;
+        $this->_appState = $appState;
+        $this->_url = $url;
+        $this->_storeConfig = $storeConfig;
+        $this->_responseFactory = $responseFactory;
+    }
+
+    /**
+     * Preprocess request
+     *
+     * @param array $arguments
+     * @param \Magento\Code\Plugin\InvocationChain $invocationChain
+     * @return mixed
+     */
+    public function aroundDispatch(array $arguments, \Magento\Code\Plugin\InvocationChain $invocationChain)
+    {
+        $request = $arguments[0];
+        // If pre-configured, check equality of base URL and requested URL
+        $this->_checkBaseUrl($request);
+        $request->setDispatched(false);
+        $this->_rewriteService->applyRewrites($request);
+
+        return $invocationChain->proceed($arguments);
+    }
+
+    /**
+     * Check if requested path starts with one of the admin front names
+     *
+     * @param \Magento\App\RequestInterface $request
+     * @return boolean
+     */
+    protected function _isAdminFrontNameMatched($request)
+    {
+        $pathPrefix = $this->_extractPathPrefixFromUrl($request);
+        return $pathPrefix == $this->_backendData->getAreaFrontName();
+    }
+
+    /**
+     * Extract first path part from url (in most cases this is area code)
+     *
+     * @param \Magento\App\RequestInterface $request
+     * @return string
+     */
+    protected function _extractPathPrefixFromUrl($request)
+    {
+        $pathPrefix = ltrim($request->getPathInfo(), '/');
+        $urlDelimiterPos = strpos($pathPrefix, '/');
+        if ($urlDelimiterPos) {
+            $pathPrefix = substr($pathPrefix, 0, $urlDelimiterPos);
+        }
+
+        return $pathPrefix;
+    }
+
+    /**
+     * Auto-redirect to base url (without SID) if the requested url doesn't match it.
+     * By default this feature is enabled in configuration.
+     *
+     * @param \Magento\App\RequestInterface $request
+     */
+    protected function _checkBaseUrl($request)
+    {
+        if (!$this->_appState->isInstalled() || $request->getPost() || strtolower($request->getMethod()) == 'post') {
+            return;
+        }
+
+        $redirectCode = (int)$this->_storeConfig->getConfig('web/url/redirect_to_base');
+        if (!$redirectCode) {
+            return;
+        } elseif ($redirectCode != 301) {
+            $redirectCode = 302;
+        }
+
+        if ($this->_isAdminFrontNameMatched($request)) {
+            return;
+        }
+
+        $baseUrl = $this->_storeManager->getStore()->getBaseUrl(
+            \Magento\Core\Model\Store::URL_TYPE_WEB,
+            $this->_storeManager->getStore()->isCurrentlySecure()
+        );
+        if (!$baseUrl) {
+            return;
+        }
+
+        $uri = parse_url($baseUrl);
+        $requestUri = $request->getRequestUri() ? $request->getRequestUri() : '/';
+        if (isset($uri['scheme']) && $uri['scheme'] != $request->getScheme()
+            || isset($uri['host']) && $uri['host'] != $request->getHttpHost()
+            || isset($uri['path']) && strpos($requestUri, $uri['path']) === false
+        ) {
+            $redirectUrl = $this->_url->getRedirectUrl(
+                $this->_url->getUrl(ltrim($request->getPathInfo(), '/'), array('_nosid' => true))
+            );
+
+            $response = $this->_responseFactory->create();
+            $response->setRedirect($redirectUrl, $redirectCode);
+            $response->sendResponse();
+            exit;
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/App/Request/PathInfoProcessor.php b/app/code/Magento/Core/App/Request/PathInfoProcessor.php
new file mode 100644
index 00000000000..60997635cde
--- /dev/null
+++ b/app/code/Magento/Core/App/Request/PathInfoProcessor.php
@@ -0,0 +1,67 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\Request;
+
+class PathInfoProcessor implements \Magento\App\Request\PathInfoProcessorInterface
+{
+    /**
+     * @var \Magento\Core\Model\StoreManager
+     */
+    private $_storeManager;
+
+    /**
+     * @param \Magento\Core\Model\StoreManager $storeManager
+     */
+    public function __construct(\Magento\Core\Model\StoreManager $storeManager)
+    {
+        $this->_storeManager = $storeManager;
+    }
+
+    /**
+     * Process path info
+     *
+     * @param \Magento\App\RequestInterface $request
+     * @param string $pathInfo
+     * @return string
+     */
+    public function process(\Magento\App\RequestInterface $request, $pathInfo)
+    {
+        $pathParts = explode('/', ltrim($pathInfo, '/'), 2);
+        $storeCode = $pathParts[0];
+
+        $stores = $this->_storeManager->getStores(true, true);
+        if (isset($stores[$storeCode]) && $stores[$storeCode]->isUseStoreInUrl()) {
+            if (!$request->isDirectAccessFrontendName($storeCode)) {
+                $this->_storeManager->setCurrentStore($storeCode);
+                $pathInfo = '/' . (isset($pathParts[1]) ? $pathParts[1] : '');
+                return $pathInfo;
+            } elseif (!empty($storeCode)) {
+                $request->setActionName('noRoute');
+                return $pathInfo;
+            }
+            return $pathInfo;
+        }
+        return $pathInfo;
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/App/Request/RewriteService.php b/app/code/Magento/Core/App/Request/RewriteService.php
new file mode 100644
index 00000000000..458abc448d0
--- /dev/null
+++ b/app/code/Magento/Core/App/Request/RewriteService.php
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\Request;
+
+class RewriteService
+{
+    /**
+     * @var \Magento\Core\Model\Url\RewriteFactory
+     */
+    protected $_rewriteFactory;
+
+    /**
+     * @var \Magento\Core\Model\Config
+     */
+    protected $_config;
+
+    /**
+     * @var \Magento\App\RouterList
+     */
+    protected $_routerList;
+
+    public function __construct(
+        \Magento\App\RouterList $routerList,
+        \Magento\Core\Model\Url\RewriteFactory $rewriteFactory,
+        \Magento\Core\Model\Config $config
+    ) {
+        $this->_rewriteFactory = $rewriteFactory;
+        $this->_config = $config;
+        $this->_routerList = $routerList;
+    }
+
+    /**
+     * Apply rewrites to current request
+     *
+     * @param \Magento\App\RequestInterface $request
+     */
+    public function applyRewrites(\Magento\App\RequestInterface $request)
+    {
+        // URL rewrite
+        if (!$request->isStraight()) {
+            \Magento\Profiler::start('db_url_rewrite');
+            /** @var $urlRewrite \Magento\Core\Model\Url\Rewrite */
+            $urlRewrite = $this->_rewriteFactory->create();
+            $urlRewrite->rewrite($request);
+            \Magento\Profiler::stop('db_url_rewrite');
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/Model/Router/NoRouteHandler.php b/app/code/Magento/Core/App/Router/NoRouteHandler.php
similarity index 88%
rename from app/code/Magento/Core/Model/Router/NoRouteHandler.php
rename to app/code/Magento/Core/App/Router/NoRouteHandler.php
index 7eca0abdf2c..f5dd26fdbd6 100644
--- a/app/code/Magento/Core/Model/Router/NoRouteHandler.php
+++ b/app/code/Magento/Core/App/Router/NoRouteHandler.php
@@ -24,9 +24,9 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model\Router;
+namespace Magento\Core\App\Router;
 
-class NoRouteHandler implements \Magento\Core\Model\Router\NoRouteHandlerInterface
+class NoRouteHandler implements \Magento\Appl\Router\NoRouteHandlerInterface
 {
     /**
      * @var \Magento\Core\Model\Config
@@ -44,11 +44,11 @@ class NoRouteHandler implements \Magento\Core\Model\Router\NoRouteHandlerInterfa
     /**
      * Check and process no route request
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return bool
      * @SuppressWarnings(PHPMD.NPathComplexity)
      */
-    public function process(\Magento\Core\Controller\Request\Http $request)
+    public function process(\Magento\App\RequestInterface $request)
     {
         $noRoutePath = $this->_config->getValue('web/default/no_route', 'default');
 
diff --git a/app/code/Magento/Core/Block/AbstractBlock.php b/app/code/Magento/Core/Block/AbstractBlock.php
index 64655f78f23..452e3172fc8 100644
--- a/app/code/Magento/Core/Block/AbstractBlock.php
+++ b/app/code/Magento/Core/Block/AbstractBlock.php
@@ -37,17 +37,18 @@
  */
 namespace Magento\Core\Block;
 
+use Magento\View\Element\BlockInterface;
+
 /**
  * @SuppressWarnings(PHPMD.ExcessivePublicCount)
  * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  * @SuppressWarnings(PHPMD.TooManyFields)
  */
-abstract class AbstractBlock extends \Magento\Object
-    implements \Magento\Core\Block
+abstract class AbstractBlock extends \Magento\Object implements BlockInterface
 {
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -75,12 +76,12 @@ abstract class AbstractBlock extends \Magento\Object
     /**
      * Parent layout of the block
      *
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -106,7 +107,7 @@ abstract class AbstractBlock extends \Magento\Object
     /**
      * Url Builder
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -114,14 +115,14 @@ abstract class AbstractBlock extends \Magento\Object
      * System event manager
      *
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
     /**
      * Application front controller
      *
-     * @var \Magento\Core\Controller\Varien\Front
+     * @var \Magento\App\FrontController
      */
     protected $_frontController;
 
@@ -138,7 +139,7 @@ abstract class AbstractBlock extends \Magento\Object
     /**
      * View config model
      *
-     * @var \Magento\Core\Model\View\Config
+     * @var \Magento\View\ConfigInterface
      */
     protected $_viewConfig;
 
@@ -155,7 +156,7 @@ abstract class AbstractBlock extends \Magento\Object
     /**
      * @var \Magento\Core\Model\App
      */
-    protected $_app;
+    protected $_storeManager;
 
     /**
      * @param \Magento\Core\Block\Context $context
@@ -178,13 +179,13 @@ abstract class AbstractBlock extends \Magento\Object
         $this->_viewConfig      = $context->getViewConfig();
         $this->_cacheState      = $context->getCacheState();
         $this->_logger          = $context->getLogger();
-        $this->_app             = $context->getApp();
+        $this->_storeManager    = $context->getApp();
         parent::__construct($data);
         $this->_construct();
     }
 
     /**
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
@@ -225,10 +226,10 @@ abstract class AbstractBlock extends \Magento\Object
     /**
      * Set layout object
      *
-     * @param   \Magento\Core\Model\Layout $layout
+     * @param   \Magento\View\LayoutInterface $layout
      * @return  \Magento\Core\Block\AbstractBlock
      */
-    public function setLayout(\Magento\Core\Model\Layout $layout)
+    public function setLayout(\Magento\View\LayoutInterface $layout)
     {
         $this->_layout = $layout;
         $this->_eventManager->dispatch('core_block_abstract_prepare_layout_before', array('block' => $this));
@@ -252,7 +253,7 @@ abstract class AbstractBlock extends \Magento\Object
     /**
      * Retrieve layout object
      *
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     public function getLayout()
     {
@@ -947,7 +948,7 @@ abstract class AbstractBlock extends \Magento\Object
     protected function _beforeCacheUrl()
     {
         if ($this->_cacheState->isEnabled(self::CACHE_GROUP)) {
-            $this->_app->setUseSessionVar(true);
+            $this->_storeManager->setUseSessionVar(true);
         }
         return $this;
     }
@@ -961,7 +962,7 @@ abstract class AbstractBlock extends \Magento\Object
     protected function _afterCacheUrl($html)
     {
         if ($this->_cacheState->isEnabled(self::CACHE_GROUP)) {
-            $this->_app->setUseSessionVar(false);
+            $this->_storeManager->setUseSessionVar(false);
             \Magento\Profiler::start('CACHE_URL');
             $html = $this->_urlBuilder->sessionUrlVar($html);
             \Magento\Profiler::stop('CACHE_URL');
diff --git a/app/code/Magento/Core/Block/Context.php b/app/code/Magento/Core/Block/Context.php
index c22d2655cb9..693d2c7e56f 100644
--- a/app/code/Magento/Core/Block/Context.php
+++ b/app/code/Magento/Core/Block/Context.php
@@ -29,22 +29,22 @@ namespace Magento\Core\Block;
 class Context implements \Magento\ObjectManager\ContextInterface
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -59,7 +59,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_cache;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -74,7 +74,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_storeConfig;
 
     /**
-     * @var \Magento\Core\Controller\Varien\Front
+     * @var \Magento\App\FrontController
      */
     protected $_frontController;
 
@@ -91,7 +91,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     /**
      * View config model
      *
-     * @var \Magento\Core\Model\View\Config
+     * @var \Magento\View\ConfigInterface
      */
     protected $_viewConfig;
 
@@ -111,38 +111,38 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_app;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\Translate $translator
      * @param \Magento\Core\Model\CacheInterface $cache
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Session\AbstractSession $session
      * @param \Magento\Core\Model\Store\Config $storeConfig
-     * @param \Magento\Core\Controller\Varien\Front $frontController
+     * @param \Magento\App\FrontController $frontController
      * @param \Magento\Core\Model\Factory\Helper $helperFactory
      * @param \Magento\Core\Model\View\Url $viewUrl
-     * @param \Magento\Core\Model\View\Config $viewConfig
+     * @param \Magento\View\ConfigInterface $viewConfig
      * @param \Magento\Core\Model\Cache\StateInterface $cacheState
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Model\App $app
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\Event\Manager $eventManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\App\RequestInterface $request,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\Translate $translator,
         \Magento\Core\Model\CacheInterface $cache,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Session\AbstractSession $session,
         \Magento\Core\Model\Store\Config $storeConfig,
-        \Magento\Core\Controller\Varien\Front $frontController,
+        \Magento\App\FrontController $frontController,
         \Magento\Core\Model\Factory\Helper $helperFactory,
         \Magento\Core\Model\View\Url $viewUrl,
-        \Magento\Core\Model\View\Config $viewConfig,
+        \Magento\View\ConfigInterface $viewConfig,
         \Magento\Core\Model\Cache\StateInterface $cacheState,
         \Magento\Core\Model\Logger $logger,
         \Magento\Core\Model\App $app,
@@ -175,7 +175,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return \Magento\View\DesignInterface
      */
     public function getDesignPackage()
     {
@@ -183,7 +183,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Event\Manager
+     * @return \Magento\Event\ManagerInterface
      */
     public function getEventManager()
     {
@@ -191,7 +191,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Controller\Varien\Front
+     * @return \Magento\App\FrontController
      */
     public function getFrontController()
     {
@@ -207,7 +207,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     public function getLayout()
     {
@@ -215,7 +215,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
@@ -247,7 +247,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function getUrlBuilder()
     {
@@ -263,7 +263,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\View\Config
+     * @return \Magento\View\ConfigInterface
      */
     public function getViewConfig()
     {
diff --git a/app/code/Magento/Core/Block/Template.php b/app/code/Magento/Core/Block/Template.php
index e6083160a78..0de003c13e9 100644
--- a/app/code/Magento/Core/Block/Template.php
+++ b/app/code/Magento/Core/Block/Template.php
@@ -36,8 +36,6 @@ namespace Magento\Core\Block;
 
 class Template extends \Magento\Core\Block\AbstractBlock
 {
-    const XML_PATH_DEBUG_TEMPLATE_HINTS         = 'dev/debug/template_hints';
-    const XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS  = 'dev/debug/template_hints_blocks';
     const XML_PATH_TEMPLATE_ALLOW_SYMLINK       = 'dev/template/allow_symlink';
 
     /**
@@ -58,11 +56,8 @@ class Template extends \Magento\Core\Block\AbstractBlock
      */
     protected $_allowSymlinks = null;
 
-    protected static $_showTemplateHints;
-    protected static $_showTemplateHintsBlocks;
-
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -89,9 +84,9 @@ class Template extends \Magento\Core\Block\AbstractBlock
     protected $_template;
 
     /**
-     * @var \Magento\Core\Model\TemplateEngine\Factory
+     * @var \Magento\Core\Model\TemplateEngine\Pool
      */
-    protected $_tmplEngineFactory;
+    protected $_templateEnginePool;
 
     /**
      * Core data
@@ -103,12 +98,13 @@ class Template extends \Magento\Core\Block\AbstractBlock
     /**
      * @var \Magento\Core\Model\App
      */
-    protected $_app;
+    protected $_storeManager;
 
     /**
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Block\Template\Context $context
      * @param array $data
+     * @todo Remove injection of the core helper from this class and its descendants, because it's no longer used
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
@@ -120,8 +116,8 @@ class Template extends \Magento\Core\Block\AbstractBlock
         $this->_logger = $context->getLogger();
         $this->_filesystem = $context->getFilesystem();
         $this->_viewFileSystem = $context->getViewFileSystem();
-        $this->_tmplEngineFactory = $context->getEngineFactory();
-        $this->_app = $context->getApp();
+        $this->_templateEnginePool = $context->getEnginePool();
+        $this->_storeManager = $context->getApp();
         parent::__construct($context, $data);
     }
 
@@ -213,93 +209,29 @@ class Template extends \Magento\Core\Block\AbstractBlock
         return $this;
     }
 
-    /**
-     * Check if direct output is allowed for block
-     *
-     * @return bool
-     */
-    public function getDirectOutput()
-    {
-        if ($this->getLayout()) {
-            return $this->getLayout()->isDirectOutput();
-        }
-        return false;
-    }
-
-    public function getShowTemplateHints()
-    {
-        if (is_null(self::$_showTemplateHints)) {
-            self::$_showTemplateHints = $this->_storeConfig->getConfig(self::XML_PATH_DEBUG_TEMPLATE_HINTS)
-                && $this->_coreData->isDevAllowed();
-            self::$_showTemplateHintsBlocks = $this->_storeConfig->getConfig(self::XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS)
-                && $this->_coreData->isDevAllowed();
-        }
-        return self::$_showTemplateHints;
-    }
-
     /**
      * Retrieve block view from file (template)
      *
-     * @param  string $fileName
+     * @param string $fileName
      * @return string
-     * @throws \Exception
      */
     public function fetchView($fileName)
     {
-        $viewShortPath = str_replace($this->_dirs->getDir(\Magento\Core\Model\Dir::ROOT), '', $fileName);
+        $viewShortPath = str_replace($this->_dirs->getDir(\Magento\App\Dir::ROOT), '', $fileName);
         \Magento\Profiler::start('TEMPLATE:' . $fileName, array('group' => 'TEMPLATE', 'file_name' => $viewShortPath));
 
-
-        $do = $this->getDirectOutput();
-
-        if (!$do) {
-            ob_start();
-        }
-        if ($this->getShowTemplateHints()) {
-            echo <<<HTML
-<div style="position:relative; border:1px dotted red; margin:6px 2px; padding:18px 2px 2px 2px; zoom:1;">
-<div style="position:absolute; left:0; top:0; padding:2px 5px; background:red; color:white; font:normal 11px Arial;
-text-align:left !important; z-index:998;" onmouseover="this.style.zIndex='999'"
-onmouseout="this.style.zIndex='998'" title="{$fileName}">{$fileName}</div>
-HTML;
-            if (self::$_showTemplateHintsBlocks) {
-                $thisClass = get_class($this);
-                echo <<<HTML
-<div style="position:absolute; right:0; top:0; padding:2px 5px; background:red; color:blue; font:normal 11px Arial;
-text-align:left !important; z-index:998;" onmouseover="this.style.zIndex='999'" onmouseout="this.style.zIndex='998'"
-title="{$thisClass}">{$thisClass}</div>
-HTML;
-            }
-        }
-
-        try {
-            if (($this->_filesystem->isPathInDirectory($fileName, $this->_dirs->getDir(\Magento\Core\Model\Dir::APP))
-                || $this->_filesystem->isPathInDirectory($fileName, $this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES))
+        if (($this->_filesystem->isPathInDirectory($fileName, $this->_dirs->getDir(\Magento\App\Dir::APP))
+                || $this->_filesystem->isPathInDirectory($fileName, $this->_dirs->getDir(\Magento\App\Dir::THEMES))
                 || $this->_getAllowSymlinks()) && $this->_filesystem->isFile($fileName)
-            ) {
-                $extension = pathinfo($fileName, PATHINFO_EXTENSION); 
-                $templateEngine = $this->_tmplEngineFactory->get($extension);
-                echo $templateEngine->render($this, $fileName, $this->_viewVars);
-            } else {
-                $this->_logger->log("Invalid template file: '{$fileName}'", \Zend_Log::CRIT);
-            }
-
-        } catch (\Exception $e) {
-            if (!$do) {
-                ob_get_clean();
-            }
-            throw $e;
-        }
-
-        if ($this->getShowTemplateHints()) {
-            echo '</div>';
-        }
-
-        if (!$do) {
-            $html = ob_get_clean();
+        ) {
+            $extension = pathinfo($fileName, PATHINFO_EXTENSION);
+            $templateEngine = $this->_templateEnginePool->get($extension);
+            $html = $templateEngine->render($this, $fileName, $this->_viewVars);
         } else {
             $html = '';
+            $this->_logger->log("Invalid template file: '{$fileName}'", \Zend_Log::CRIT);
         }
+
         \Magento\Profiler::stop('TEMPLATE:' . $fileName);
         return $html;
     }
@@ -351,7 +283,7 @@ HTML;
     {
         return array(
             'BLOCK_TPL',
-            $this->_app->getStore()->getCode(),
+            $this->_storeManager->getStore()->getCode(),
             $this->getTemplateFile(),
             'template' => $this->getTemplate()
         );
diff --git a/app/code/Magento/Core/Block/Template/Context.php b/app/code/Magento/Core/Block/Template/Context.php
index dd4d521ff65..38a6fa12191 100644
--- a/app/code/Magento/Core/Block/Template/Context.php
+++ b/app/code/Magento/Core/Block/Template/Context.php
@@ -14,7 +14,7 @@ class Context extends \Magento\Core\Block\Context
     /**
      * Dirs instance
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -38,52 +38,52 @@ class Context extends \Magento\Core\Block\Context
     protected $_viewFileSystem;
 
     /**
-     * @var \Magento\Core\Model\TemplateEngine\Factory
+     * @var \Magento\Core\Model\TemplateEngine\Pool
      */
-    protected $_engineFactory;
+    protected $_enginePool;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\Translate $translator
      * @param \Magento\Core\Model\CacheInterface $cache
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Core\Model\Store\Config $storeConfig
-     * @param \Magento\Core\Controller\Varien\Front $frontController
+     * @param \Magento\App\FrontController $frontController
      * @param \Magento\Core\Model\Factory\Helper $helperFactory
      * @param \Magento\Core\Model\View\Url $viewUrl
-     * @param \Magento\Core\Model\View\Config $viewConfig
+     * @param \Magento\View\ConfigInterface $viewConfig
      * @param \Magento\Core\Model\Cache\StateInterface $cacheState
-     * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\View\FileSystem $viewFileSystem
-     * @param \Magento\Core\Model\TemplateEngine\Factory $engineFactory
+     * @param \Magento\Core\Model\TemplateEngine\Pool $enginePool
+     * @param \Magento\Core\Model\App $app
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\Event\Manager $eventManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\App\RequestInterface $request,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\Translate $translator,
         \Magento\Core\Model\CacheInterface $cache,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Session $session,
         \Magento\Core\Model\Store\Config $storeConfig,
-        \Magento\Core\Controller\Varien\Front $frontController,
+        \Magento\App\FrontController $frontController,
         \Magento\Core\Model\Factory\Helper $helperFactory,
         \Magento\Core\Model\View\Url $viewUrl,
-        \Magento\Core\Model\View\Config $viewConfig,
+        \Magento\View\ConfigInterface $viewConfig,
         \Magento\Core\Model\Cache\StateInterface $cacheState,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Logger $logger,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\View\FileSystem $viewFileSystem,
-        \Magento\Core\Model\TemplateEngine\Factory $engineFactory,
+        \Magento\Core\Model\TemplateEngine\Pool $enginePool,
         \Magento\Core\Model\App $app
     ) {
         parent::__construct(
@@ -95,12 +95,12 @@ class Context extends \Magento\Core\Block\Context
         $this->_logger = $logger;
         $this->_filesystem = $filesystem;
         $this->_viewFileSystem = $viewFileSystem;
-        $this->_engineFactory = $engineFactory;
+        $this->_enginePool = $enginePool;
     }
 
     /**
      * Get dirs instance
-     * @return \Magento\Core\Model\Dir
+     * @return \Magento\App\Dir
      */
     public function getDirs()
     {
@@ -138,12 +138,12 @@ class Context extends \Magento\Core\Block\Context
     }
 
     /**
-     * Get the template engine factory instance
+     * Get the template engine pool instance
      *
-     * @return \Magento\Core\Model\TemplateEngine\Factory
+     * @return \Magento\Core\Model\TemplateEngine\Pool
      */
-    public function getEngineFactory()
+    public function getEnginePool()
     {
-        return $this->_engineFactory;
+        return $this->_enginePool;
     }
 }
diff --git a/app/code/Magento/Core/Controller/Front/Router.php b/app/code/Magento/Core/Controller/Front/Router.php
deleted file mode 100644
index 1e06839e484..00000000000
--- a/app/code/Magento/Core/Controller/Front/Router.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    Magento
- * @package     Magento_Core
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-
-
-namespace Magento\Core\Controller\Front;
-
-class Router
-{
-    protected $_config = null;
-
-    /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-    
-    public function __construct($config, \Magento\Core\Model\StoreManager $storeManager)
-    {
-        $this->_config = $config;
-        $this->_storeManager = $storeManager;
-    }
-    
-    public function getConfig()
-    {
-        return $this->_config;
-    }
-    
-    public function addRoutes(\Zend_Controller_Router_Interface $router)
-    {
-        $frontName = $this->_config->getName();
-        $routeMatch = $frontName.'/:controller/:action/*';
-        $moduleName = (string)$this->_config->module;
-        $routeParams = array('module'=>$moduleName, 'controller'=>'index', 'action'=>'index', '_frontName'=>$frontName);
-        $route = new \Zend_Controller_Router_Route($routeMatch, $routeParams);
-        $router->addRoute($moduleName, $route);
-        
-        return $this;
-    }
-    
-    public function getUrl($params=array())
-    {
-        static $reservedKeys = array('module'=>1, 'controller'=>1, 'action'=>1, 'array'=>1);
-        
-        if (is_string($params)) {
-            $paramsArr = explode('/', $params);
-            $params = array('controller'=>$paramsArr[0], 'action'=>$paramsArr[1]);
-        }
-        
-        $url = $this->_storeManager->getStore()->getBaseUrl($params);
-
-        if (!empty($params['frontName'])) {
-            $url .= $params['frontName'].'/';
-        } else {
-            $url .= $this->_config->getName().'/';
-        }
-        
-        if (!empty($params)) {
-            $paramsStr = '';
-            foreach ($params as $key=>$value) {
-                if (!isset($reservedKeys[$key]) && '_'!==$key{0} && !empty($value)) {
-                    $paramsStr .= $key.'/'.$value.'/';
-                }
-            }
-            
-            if (empty($params['controller']) && !empty($paramsStr)) {
-                $params['controller'] = 'index';
-            }
-            $url .= empty($params['controller']) ? '' : $params['controller'].'/';
-            
-            if (empty($params['action']) && !empty($paramsStr)) {
-                $params['action'] = 'index';
-            }
-            $url .= empty($params['action']) ? '' : $params['action'].'/';
-            
-            $url .= $paramsStr;
-            
-            $url .= empty($params['array']) ? '' : '?' . http_build_query($params['array']);
-        }
-
-        return $url;
-    }
-}
diff --git a/app/code/Magento/Core/Controller/Index.php b/app/code/Magento/Core/Controller/Index.php
index 6fafebf486b..8eaa3ccd888 100644
--- a/app/code/Magento/Core/Controller/Index.php
+++ b/app/code/Magento/Core/Controller/Index.php
@@ -24,7 +24,6 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
 namespace Magento\Core\Controller;
 
 class Index extends \Magento\Core\Controller\Front\Action {
diff --git a/app/code/Magento/Core/Controller/Request/HttpProxy.php b/app/code/Magento/Core/Controller/Request/HttpProxy.php
deleted file mode 100644
index 641a47421ad..00000000000
--- a/app/code/Magento/Core/Controller/Request/HttpProxy.php
+++ /dev/null
@@ -1,764 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    Magento
- * @package     Magento_Core
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-
-/**
- * Proxy class for \Magento\Core\Controller\Request\Http
- */
-namespace Magento\Core\Controller\Request;
-
-class HttpProxy extends \Magento\Core\Controller\Request\Http
-{
-    /**
-     * Object Manager instance
-     *
-     * @var \Magento\ObjectManager
-     */
-    protected $_objectManager = null;
-
-    /**
-     * Proxied instance name
-     *
-     * @var string
-     */
-    protected $_instanceName = null;
-
-    /**
-     * Proxied instance
-     *
-     * @var \Magento\Core\Controller\Request\Http
-     */
-    protected $_subject = null;
-
-    /**
-     * Instance shareability flag
-     *
-     * @var bool
-     */
-    protected $_isShared = null;
-
-    /**
-     * Proxy constructor
-     *
-     * @param \Magento\ObjectManager $objectManager
-     * @param string $instanceName
-     * @param bool $shared
-     */
-    public function __construct(
-        \Magento\ObjectManager $objectManager,
-        $instanceName = 'Magento\Core\Controller\Request\Http', $shared = true
-    ) {
-        $this->_objectManager = $objectManager;
-        $this->_instanceName = $instanceName;
-        $this->_isShared = $shared;
-    }
-
-    /**
-     * @return array
-     */
-    public function __sleep()
-    {
-        return array('_subject', '_isShared');
-    }
-
-    /**
-     * Retrieve ObjectManager from global scope
-     */
-    public function __wakeup()
-    {
-        $this->_objectManager = \Magento\Core\Model\ObjectManager::getInstance();
-    }
-
-    /**
-     * Clone proxied instance
-     */
-    public function __clone()
-    {
-        $this->_subject = clone $this->_getSubject();
-    }
-
-    /**
-     * Get proxied instance
-     *
-     * @return \Magento\Core\Controller\Request\Http
-     */
-    protected function _getSubject()
-    {
-        if (!$this->_subject) {
-            $this->_subject = true === $this->_isShared
-                ? $this->_objectManager->get($this->_instanceName)
-                : $this->_objectManager->create($this->_instanceName);
-        }
-        return $this->_subject;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getOriginalPathInfo()
-    {
-        return $this->_getSubject()->getOriginalPathInfo();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setPathInfo($pathInfo = null)
-    {
-        return $this->_getSubject()->setPathInfo($pathInfo);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function rewritePathInfo($pathInfo)
-    {
-        return $this->_getSubject()->rewritePathInfo($pathInfo);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isDirectAccessFrontendName($code)
-    {
-        return $this->_getSubject()->isDirectAccessFrontendName($code);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getDirectFrontNames()
-    {
-        return $this->_getSubject()->getDirectFrontNames();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRequestString()
-    {
-        return $this->_getSubject()->getRequestString();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getBasePath()
-    {
-        return $this->_getSubject()->getBasePath();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getBaseUrl()
-    {
-        return $this->_getSubject()->getBaseUrl();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setRouteName($route)
-    {
-        return $this->_getSubject()->setRouteName($route);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRouteName()
-    {
-        return $this->_getSubject()->getRouteName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getHttpHost($trimPort = true)
-    {
-        return $this->_getSubject()->getHttpHost($trimPort);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setPost($key, $value = null)
-    {
-        return $this->_getSubject()->setPost($key, $value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setControllerModule($module)
-    {
-        return $this->_getSubject()->setControllerModule($module);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getControllerModule()
-    {
-        return $this->_getSubject()->getControllerModule();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getModuleName()
-    {
-        return $this->_getSubject()->getModuleName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getControllerName()
-    {
-        return $this->_getSubject()->getControllerName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getActionName()
-    {
-        return $this->_getSubject()->getActionName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getAlias($name)
-    {
-        return $this->_getSubject()->getAlias($name);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getAliases()
-    {
-        return $this->_getSubject()->getAliases();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRequestedRouteName()
-    {
-        return $this->_getSubject()->getRequestedRouteName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRequestedControllerName()
-    {
-        return $this->_getSubject()->getRequestedControllerName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRequestedActionName()
-    {
-        return $this->_getSubject()->getRequestedActionName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setRoutingInfo($data)
-    {
-        return $this->_getSubject()->setRoutingInfo($data);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function initForward()
-    {
-        return $this->_getSubject()->initForward();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getBeforeForwardInfo($name = null)
-    {
-        return $this->_getSubject()->getBeforeForwardInfo($name);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isStraight($flag = null)
-    {
-        return $this->_getSubject()->isStraight($flag);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isAjax()
-    {
-        return $this->_getSubject()->isAjax();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getFiles($key = null, $default = null)
-    {
-        return $this->_getSubject()->getFiles($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getDistroBaseUrl()
-    {
-        return $this->_getSubject()->getDistroBaseUrl();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __get($key)
-    {
-        return $this->_getSubject()->__get($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function get($key)
-    {
-        return $this->_getSubject()->get($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __set($key, $value)
-    {
-        return $this->_getSubject()->__set($key, $value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function set($key, $value)
-    {
-        return $this->_getSubject()->set($key, $value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __isset($key)
-    {
-        return $this->_getSubject()->__isset($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function has($key)
-    {
-        return $this->_getSubject()->has($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setQuery($spec, $value = null)
-    {
-        return $this->_getSubject()->setQuery($spec, $value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getQuery($key = null, $default = null)
-    {
-        return $this->_getSubject()->getQuery($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPost($key = null, $default = null)
-    {
-        return $this->_getSubject()->getPost($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCookie($key = null, $default = null)
-    {
-        return $this->_getSubject()->getCookie($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getServer($key = null, $default = null)
-    {
-        return $this->_getSubject()->getServer($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getEnv($key = null, $default = null)
-    {
-        return $this->_getSubject()->getEnv($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setRequestUri($requestUri = null)
-    {
-        return $this->_getSubject()->setRequestUri($requestUri);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRequestUri()
-    {
-        return $this->_getSubject()->getRequestUri();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setBaseUrl($baseUrl = null)
-    {
-        return $this->_getSubject()->setBaseUrl($baseUrl);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setBasePath($basePath = null)
-    {
-        return $this->_getSubject()->setBasePath($basePath);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPathInfo()
-    {
-        return $this->_getSubject()->getPathInfo();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setParamSources(array $paramSources = array())
-    {
-        return $this->_getSubject()->setParamSources($paramSources);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getParamSources()
-    {
-        return $this->_getSubject()->getParamSources();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setParam($key, $value)
-    {
-        return $this->_getSubject()->setParam($key, $value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getParam($key, $default = null)
-    {
-        return $this->_getSubject()->getParam($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getParams()
-    {
-        return $this->_getSubject()->getParams();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setParams(array $params)
-    {
-        return $this->_getSubject()->setParams($params);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setAlias($name, $target)
-    {
-        return $this->_getSubject()->setAlias($name, $target);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMethod()
-    {
-        return $this->_getSubject()->getMethod();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isPost()
-    {
-        return $this->_getSubject()->isPost();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isGet()
-    {
-        return $this->_getSubject()->isGet();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isPut()
-    {
-        return $this->_getSubject()->isPut();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isDelete()
-    {
-        return $this->_getSubject()->isDelete();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isHead()
-    {
-        return $this->_getSubject()->isHead();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isOptions()
-    {
-        return $this->_getSubject()->isOptions();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isXmlHttpRequest()
-    {
-        return $this->_getSubject()->isXmlHttpRequest();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isFlashRequest()
-    {
-        return $this->_getSubject()->isFlashRequest();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isSecure()
-    {
-        return $this->_getSubject()->isSecure();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRawBody()
-    {
-        return $this->_getSubject()->getRawBody();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getHeader($header)
-    {
-        return $this->_getSubject()->getHeader($header);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getScheme()
-    {
-        return $this->_getSubject()->getScheme();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getClientIp($checkProxy = true)
-    {
-        return $this->_getSubject()->getClientIp($checkProxy);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setModuleName($value)
-    {
-        return $this->_getSubject()->setModuleName($value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setControllerName($value)
-    {
-        return $this->_getSubject()->setControllerName($value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setActionName($value)
-    {
-        return $this->_getSubject()->setActionName($value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getModuleKey()
-    {
-        return $this->_getSubject()->getModuleKey();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setModuleKey($key)
-    {
-        return $this->_getSubject()->setModuleKey($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getControllerKey()
-    {
-        return $this->_getSubject()->getControllerKey();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setControllerKey($key)
-    {
-        return $this->_getSubject()->setControllerKey($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getActionKey()
-    {
-        return $this->_getSubject()->getActionKey();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setActionKey($key)
-    {
-        return $this->_getSubject()->setActionKey($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getUserParams()
-    {
-        return $this->_getSubject()->getUserParams();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getUserParam($key, $default = null)
-    {
-        return $this->_getSubject()->getUserParam($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function clearParams()
-    {
-        return $this->_getSubject()->clearParams();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setDispatched($flag = true)
-    {
-        return $this->_getSubject()->setDispatched($flag);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isDispatched()
-    {
-        return $this->_getSubject()->isDispatched();
-    }
-}
diff --git a/app/code/Magento/Core/Controller/Response/Http.php b/app/code/Magento/Core/Controller/Response/Http.php
deleted file mode 100644
index 4496ff0e684..00000000000
--- a/app/code/Magento/Core/Controller/Response/Http.php
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    Magento
- * @package     Magento_Core
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-
-
-/**
- * Custom \Zend_Controller_Response_Http class (formally)
- *
- * @author      Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Core\Controller\Response;
-
-class Http extends \Zend_Controller_Response_Http
-{
-    /**
-     * Transport object for observers to perform
-     *
-     * @var \Magento\Object
-     */
-    protected static $_transportObject = null;
-
-    /**
-     * @var \Magento\Core\Model\Event\Manager
-     */
-    protected $_eventManager;
-
-    /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     */
-    public function __construct(\Magento\Core\Model\Event\Manager $eventManager)
-    {
-        $this->_eventManager = $eventManager;
-    }
-
-    /**
-     * Fixes CGI only one Status header allowed bug
-     *
-     * @link  http://bugs.php.net/bug.php?id=36705
-     *
-     * @return \Magento\Core\Controller\Response\Http
-     */
-    public function sendHeaders()
-    {
-        if (!$this->canSendHeaders()) {
-            $this->_objectManager->get('Magento\Core\Model\Logger')
-                ->log('HEADERS ALREADY SENT: '.mageDebugBacktrace(true, true, true));
-            return $this;
-        }
-
-        if (substr(php_sapi_name(), 0, 3) == 'cgi') {
-            $statusSent = false;
-            foreach ($this->_headersRaw as $index => $header) {
-                if (stripos($header, 'status:')===0) {
-                    if ($statusSent) {
-                        unset($this->_headersRaw[$index]);
-                    } else {
-                        $statusSent = true;
-                    }
-                }
-            }
-            foreach ($this->_headers as $index => $header) {
-                if (strcasecmp($header['name'], 'status') === 0) {
-                    if ($statusSent) {
-                        unset($this->_headers[$index]);
-                    } else {
-                        $statusSent = true;
-                    }
-                }
-            }
-        }
-        return parent::sendHeaders();
-    }
-
-    public function sendResponse()
-    {
-        return parent::sendResponse();
-    }
-
-    /**
-     * Additionally check for session messages in several domains case
-     *
-     * @param string $url
-     * @param int $code
-     * @return \Magento\Core\Controller\Response\Http
-     */
-    public function setRedirect($url, $code = 302)
-    {
-        /**
-         * Use single transport object instance
-         */
-        if (self::$_transportObject === null) {
-            self::$_transportObject = new \Magento\Object;
-        }
-        self::$_transportObject->setUrl($url);
-        self::$_transportObject->setCode($code);
-        $this->_eventManager->dispatch('controller_response_redirect',
-            array('response' => $this, 'transport' => self::$_transportObject));
-
-        return parent::setRedirect(self::$_transportObject->getUrl(), self::$_transportObject->getCode());
-    }
-
-    /**
-     * Get header value by name.
-     * Returns first found header by passed name.
-     * If header with specified name was not found returns false.
-     *
-     * @param string $name
-     * @return array|bool
-     */
-    public function getHeader($name)
-    {
-        foreach ($this->_headers as $header) {
-            if ($header['name'] == $name) {
-                return $header;
-            }
-        }
-        return false;
-    }
-}
diff --git a/app/code/Magento/Core/Controller/Varien/Action.php b/app/code/Magento/Core/Controller/Varien/Action.php
index 44a5cee124f..664f1570b50 100644
--- a/app/code/Magento/Core/Controller/Varien/Action.php
+++ b/app/code/Magento/Core/Controller/Varien/Action.php
@@ -36,7 +36,9 @@
  */
 namespace Magento\Core\Controller\Varien;
 
-class Action extends \Magento\Core\Controller\Varien\AbstractAction
+use Magento\App\Action\AbstractAction;
+
+class Action extends \Magento\App\Action\AbstractAction
 {
     const FLAG_NO_CHECK_INSTALLATION    = 'no-install-check';
     const FLAG_NO_DISPATCH              = 'no-dispatch';
@@ -113,17 +115,17 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
     protected $_removeDefaultTitle = false;
 
     /**
-     * @var \Magento\Core\Controller\Varien\Front
+     * @var \Magento\App\FrontController
      */
     protected $_frontController = null;
 
     /**
-     * @var \Magento\Core\Model\Layout\Factory
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -207,7 +209,7 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
     /**
      * Retrieve current layout object
      *
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     public function getLayout()
     {
@@ -389,10 +391,6 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
             return;
         }
 
-        if ($this->_frontController->getNoRender()) {
-            return;
-        }
-
         \Magento\Profiler::start('LAYOUT');
 
         $this->_renderTitles();
@@ -406,8 +404,6 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
         $this->_eventManager->dispatch('controller_action_layout_render_before');
         $this->_eventManager->dispatch('controller_action_layout_render_before_' . $this->getFullActionName());
 
-        $this->getLayout()->setDirectOutput(false);
-
         $output = $this->getLayout()->getOutput();
         $this->_objectManager->get('Magento\Core\Model\Translate')->processResponseBody($output);
         $this->getResponse()->appendBody($output);
@@ -454,7 +450,7 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
             }
 
             \Magento\Profiler::stop($profilerKey);
-        } catch (\Magento\Core\Controller\Varien\Exception $e) {
+        } catch (\Magento\App\Action\Exception $e) {
             // set prepared flags
             foreach ($e->getResultFlags() as $flagData) {
                 list($action, $flag, $value) = $flagData;
@@ -463,11 +459,11 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
             // call forward, redirect or an action
             list($method, $parameters) = $e->getResultCallback();
             switch ($method) {
-                case \Magento\Core\Controller\Varien\Exception::RESULT_REDIRECT:
+                case \Magento\App\Action\Exception::RESULT_REDIRECT:
                     list($path, $arguments) = $parameters;
                     $this->_redirect($path, $arguments);
                     break;
-                case \Magento\Core\Controller\Varien\Exception::RESULT_FORWARD:
+                case \Magento\App\Action\Exception::RESULT_FORWARD:
                     list($action, $controller, $module, $params) = $parameters;
                     $this->_forward($action, $controller, $module, $params);
                     break;
@@ -546,7 +542,7 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
     public function preDispatch()
     {
         if (!$this->getFlag('', self::FLAG_NO_CHECK_INSTALLATION)) {
-            if (!$this->_objectManager->get('Magento\Core\Model\App\State')->isInstalled()) {
+            if (!$this->_objectManager->get('Magento\App\State')->isInstalled()) {
                 $this->setFlag('', self::FLAG_NO_DISPATCH, true);
                 $this->_redirect('install');
                 return;
@@ -555,7 +551,7 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
 
         // Prohibit disabled store actions
         $storeManager = $this->_objectManager->get('Magento\Core\Model\StoreManager');
-        if ($this->_objectManager->get('Magento\Core\Model\App\State') && !$storeManager->getStore()->getIsActive()) {
+        if ($this->_objectManager->get('Magento\App\State') && !$storeManager->getStore()->getIsActive()) {
             $this->_objectManager->get('Magento\Core\Model\StoreManager')->throwStoreException();
         }
 
diff --git a/app/code/Magento/Core/Controller/Varien/Action/Context.php b/app/code/Magento/Core/Controller/Varien/Action/Context.php
index 80f9566c6c5..88139ce82fa 100644
--- a/app/code/Magento/Core/Controller/Varien/Action/Context.php
+++ b/app/code/Magento/Core/Controller/Varien/Action/Context.php
@@ -28,12 +28,12 @@ namespace Magento\Core\Controller\Varien\Action;
 class Context implements \Magento\ObjectManager\ContextInterface
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http
+     * @var \Magento\App\ResponseInterface
      */
     protected $_response;
 
@@ -43,17 +43,17 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Controller\Varien\Front
+     * @var \Magento\App\FrontController
      */
     protected $_frontController = null;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -71,22 +71,22 @@ class Context implements \Magento\ObjectManager\ContextInterface
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\ResponseInterface $response
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Controller\Varien\Front $frontController
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param boolean $isRenderInherited
+     * @param \Magento\App\FrontController $frontController
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param bool $isRenderInherited
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Controller\Response\Http $response,
+        \Magento\App\RequestInterface $request,
+        \Magento\App\ResponseInterface $response,
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Controller\Varien\Front $frontController,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\App\FrontController $frontController,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\Event\ManagerInterface $eventManager,
         $isRenderInherited
     ) {
         $this->_request           = $request;
@@ -110,7 +110,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Controller\Varien\Front
+     * @return \Magento\App\FrontController
      */
     public function getFrontController()
     {
@@ -118,7 +118,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     public function getLayout()
     {
@@ -134,7 +134,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
@@ -142,7 +142,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Controller\Response\Http
+     * @return \Magento\App\ResponseInterface
      */
     public function getResponse()
     {
@@ -150,7 +150,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Event\Manager
+     * @return \Magento\Event\ManagerInterface
      */
     public function getEventManager()
     {
diff --git a/app/code/Magento/Core/Controller/Varien/Front.php b/app/code/Magento/Core/Controller/Varien/Front.php
deleted file mode 100644
index cdc71cd70b4..00000000000
--- a/app/code/Magento/Core/Controller/Varien/Front.php
+++ /dev/null
@@ -1,413 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    Magento
- * @package     Magento_Core
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Controller\Varien;
-
-class Front extends \Magento\Object implements \Magento\Core\Controller\FrontInterface
-{
-    /**
-     * @var \Magento\Core\Model\Url\RewriteFactory
-     */
-    protected $_rewriteFactory;
-
-    /**
-     * @var \Magento\Core\Model\Store\Config
-     */
-    protected $_coreStoreConfig;
-
-    /**
-     * @var array
-     */
-    protected $_defaults = array();
-
-    /**
-     * @var \Magento\Core\Model\RouterList
-     */
-    protected $_routerList;
-
-    /**
-     * @var \Magento\Core\Model\Config
-     */
-    protected $_coreConfig;
-
-    /**
-     * @var \Magento\Backend\Helper\Data
-     */
-    protected $_backendData;
-
-    /**
-     * @var \Magento\Core\Model\Url
-     */
-    protected $_url;
-
-    /**
-     * @var \Magento\Core\Model\App\State
-     */
-    protected $_appState;
-
-    /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-
-    /**
-     * @var \Magento\Core\Controller\Request\Http
-     */
-    protected $_request;
-
-    /**
-     * @var \Magento\Core\Controller\Response\Http
-     */
-    protected $_response;
-
-    /**
-     * @var \Magento\Core\Model\App
-     */
-    protected $_app;
-
-    /**
-     * @param \Magento\Backend\Helper\Data $backendData
-     * @param \Magento\Core\Model\Url\RewriteFactory $rewriteFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\RouterList $routerList
-     * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\Config $coreConfig
-     * @param \Magento\Core\Model\Url $url
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Controller\Response\Http $response
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Backend\Helper\Data $backendData,
-        \Magento\Core\Model\Url\RewriteFactory $rewriteFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
-        \Magento\Core\Model\RouterList $routerList,
-        \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\Config $coreConfig,
-        \Magento\Core\Model\Url $url,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\App $app,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Controller\Response\Http $response,
-        array $data = array()
-    ) {
-        parent::__construct($data);
-
-        $this->_backendData = $backendData;
-        $this->_rewriteFactory = $rewriteFactory;
-        $this->_eventManager = $eventManager;
-        $this->_routerList = $routerList;
-        $this->_coreStoreConfig = $coreStoreConfig;
-        $this->_coreConfig = $coreConfig;
-        $this->_url = $url;
-        $this->_appState = $appState;
-        $this->_app = $app;
-        $this->_storeManager = $storeManager;
-        $this->_request = $request;
-        $this->_response = $response;
-    }
-
-    public function setDefault($key, $value=null)
-    {
-        if (is_array($key)) {
-            $this->_defaults = $key;
-        } else {
-            $this->_defaults[$key] = $value;
-        }
-        return $this;
-    }
-
-    public function getDefault($key=null)
-    {
-        if (is_null($key)) {
-            return $this->_defaults;
-        } elseif (isset($this->_defaults[$key])) {
-            return $this->_defaults[$key];
-        }
-        return false;
-    }
-
-    /**
-     * Retrieve request object
-     *
-     * @return \Magento\Core\Controller\Request\Http
-     */
-    public function getRequest()
-    {
-        return $this->_request;
-    }
-
-    /**
-     * Retrieve response object
-     *
-     * @return \Magento\Core\Controller\Response\Http
-     */
-    public function getResponse()
-    {
-        return $this->_response;
-    }
-
-    /**
-     * Get routerList model
-     *
-     * @return \Magento\Core\Model\RouterList
-     */
-    public function getRouterList()
-    {
-        return $this->_routerList;
-    }
-
-    /**
-     * Retrieve router by name
-     *
-     * @param   string $name
-     * @return  \Magento\Core\Controller\Varien\Router\AbstractRouter
-     */
-    public function getRouter($name)
-    {
-        $routers = $this->_routerList->getRouters();
-        if (isset($routers[$name])) {
-            return $routers[$name];
-        }
-        return false;
-    }
-
-    /**
-     * Retrieve routers collection
-     *
-     * @return array
-     */
-    public function getRouters()
-    {
-        return $this->_routerList->getRouters();
-    }
-
-    /**
-     * Dispatch user request
-     *
-     * @throws \Magento\Core\Exception
-     * @return \Magento\Core\Controller\Varien\Front
-     */
-    public function dispatch()
-    {
-        $request = $this->getRequest();
-
-        // If pre-configured, check equality of base URL and requested URL
-        $this->_checkBaseUrl($request);
-
-        \Magento\Profiler::start('dispatch');
-
-        $request->setPathInfo()->setDispatched(false);
-        $this->applyRewrites($request);
-
-        \Magento\Profiler::stop('dispatch');
-
-        \Magento\Profiler::start('routers_match');
-        $routingCycleCounter = 0;
-        while (!$request->isDispatched() && $routingCycleCounter++ < 100) {
-            /** @var $router \Magento\Core\Controller\Varien\Router\AbstractRouter */
-            foreach ($this->_routerList->getRouters() as $router) {
-                $router->setFront($this);
-
-                /** @var $controllerInstance \Magento\Core\Controller\Varien\Action */
-                $controllerInstance = $router->match($this->getRequest());
-                if ($controllerInstance) {
-                    $controllerInstance->dispatch($request->getActionName());
-                    break;
-                }
-            }
-        }
-        \Magento\Profiler::stop('routers_match');
-        if ($routingCycleCounter > 100) {
-            throw new \Magento\Core\Exception('Front controller reached 100 router match iterations');
-        }
-        // This event gives possibility to launch something before sending output (allow cookie setting)
-        $this->_eventManager->dispatch('controller_front_send_response_before', array('front' => $this));
-        \Magento\Profiler::start('send_response');
-        $this->_eventManager->dispatch('http_response_send_before', array('response' => $this));
-        $this->getResponse()->sendResponse();
-        \Magento\Profiler::stop('send_response');
-        $this->_eventManager->dispatch('controller_front_send_response_after', array('front' => $this));
-        return $this;
-    }
-
-    /**
-     * Apply rewrites to current request
-     *
-     * @param \Magento\Core\Controller\Request\Http $request
-     */
-    public function applyRewrites(\Magento\Core\Controller\Request\Http $request)
-    {
-        // URL rewrite
-        if (!$request->isStraight()) {
-            \Magento\Profiler::start('db_url_rewrite');
-            /** @var $urlRewrite \Magento\Core\Model\Url\Rewrite */
-            $urlRewrite = $this->_rewriteFactory->create();
-            $urlRewrite->rewrite($request);
-            \Magento\Profiler::stop('db_url_rewrite');
-        }
-
-        // config rewrite
-        \Magento\Profiler::start('config_url_rewrite');
-        $this->rewrite($request);
-        \Magento\Profiler::stop('config_url_rewrite');
-    }
-
-    /**
-     * Apply configuration rewrites to current url
-     *
-     * @param \Magento\Core\Controller\Request\Http $request
-     */
-    public function rewrite(\Magento\Core\Controller\Request\Http $request = null)
-    {
-        if (!$request) {
-            $request = $this->getRequest();
-        }
-
-        $config = $this->_coreConfig->getNode('global/rewrite');
-        if (!$config) {
-            return;
-        }
-        foreach ($config->children() as $rewrite) {
-            $from = (string)$rewrite->from;
-            $to = (string)$rewrite->to;
-            if (empty($from) || empty($to)) {
-                continue;
-            }
-            $from = $this->_processRewriteUrl($from);
-            $to   = $this->_processRewriteUrl($to);
-
-            $pathInfo = preg_replace($from, $to, $request->getPathInfo());
-
-            if (isset($rewrite->complete)) {
-                $request->setPathInfo($pathInfo);
-            } else {
-                $request->rewritePathInfo($pathInfo);
-            }
-        }
-    }
-
-    /**
-     * Replace route name placeholders in url to front name
-     *
-     * @param   string $url
-     * @return  string
-     */
-    protected function _processRewriteUrl($url)
-    {
-        $startPos = strpos($url, '{');
-        if ($startPos!==false) {
-            $endPos = strpos($url, '}');
-            $routeId = substr($url, $startPos+1, $endPos-$startPos-1);
-            $router = $this->_routerList->getRouterByRoute($routeId);
-            if ($router) {
-                $frontName = $router->getFrontNameByRoute($routeId);
-                $url = str_replace('{'.$routeId.'}', $frontName, $url);
-            }
-        }
-        return $url;
-    }
-
-    /**
-     * Auto-redirect to base url (without SID) if the requested url doesn't match it.
-     * By default this feature is enabled in configuration.
-     *
-     * @param \Zend_Controller_Request_Http $request
-     */
-    protected function _checkBaseUrl($request)
-    {
-        if (!$this->_appState->isInstalled() || $request->getPost() || strtolower($request->getMethod()) == 'post') {
-            return;
-        }
-
-        $redirectCode = (int)$this->_coreStoreConfig->getConfig('web/url/redirect_to_base');
-        if (!$redirectCode) {
-            return;
-        } elseif ($redirectCode != 301) {
-            $redirectCode = 302;
-        }
-
-        if ($this->_isAdminFrontNameMatched($request)) {
-            return;
-        }
-
-        $baseUrl = $this->_storeManager->getStore()->getBaseUrl(
-            \Magento\Core\Model\Store::URL_TYPE_WEB,
-            $this->_storeManager->getStore()->isCurrentlySecure()
-        );
-        if (!$baseUrl) {
-            return;
-        }
-
-        $uri = parse_url($baseUrl);
-        $requestUri = $request->getRequestUri() ? $request->getRequestUri() : '/';
-        if (isset($uri['scheme']) && $uri['scheme'] != $request->getScheme()
-            || isset($uri['host']) && $uri['host'] != $request->getHttpHost()
-            || isset($uri['path']) && strpos($requestUri, $uri['path']) === false
-        ) {
-            $redirectUrl = $this->_url->getRedirectUrl(
-                $this->_url->getUrl(ltrim($request->getPathInfo(), '/'), array('_nosid' => true))
-            );
-
-            $this->_app->getFrontController()->getResponse()
-                ->setRedirect($redirectUrl, $redirectCode)
-                ->sendResponse();
-            exit;
-        }
-    }
-
-    /**
-     * Check if requested path starts with one of the admin front names
-     *
-     * @param \Zend_Controller_Request_Http $request
-     * @return boolean
-     */
-    protected function _isAdminFrontNameMatched($request)
-    {
-        $pathPrefix = $this->_extractPathPrefixFromUrl($request);
-        return $pathPrefix == $this->_backendData->getAreaFrontName();
-    }
-
-    /**
-     * Extract first path part from url (in most cases this is area code)
-     *
-     * @param \Zend_Controller_Request_Http $request
-     * @return string
-     */
-    protected function _extractPathPrefixFromUrl($request)
-    {
-        $pathPrefix = ltrim($request->getPathInfo(), '/');
-        $urlDelimiterPos = strpos($pathPrefix, '/');
-        if ($urlDelimiterPos) {
-            $pathPrefix = substr($pathPrefix, 0, $urlDelimiterPos);
-        }
-
-        return $pathPrefix;
-    }
-}
diff --git a/app/code/Magento/Core/Controller/Varien/Router/Base.php b/app/code/Magento/Core/Controller/Varien/Router/Base.php
index 46bb1aad88f..711c65027c2 100644
--- a/app/code/Magento/Core/Controller/Varien/Router/Base.php
+++ b/app/code/Magento/Core/Controller/Varien/Router/Base.php
@@ -26,7 +26,9 @@
 
 namespace Magento\Core\Controller\Varien\Router;
 
-class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
+use Magento\App\Router\AbstractRouter;
+
+class Base extends \Magento\App\Router\AbstractRouter
 {
     /**
      * @var array
@@ -75,11 +77,6 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
      */
     protected $_app;
 
-    /**
-     * @var \Magento\Core\Model\Config\Scope
-     */
-    protected $_configScope;
-
     /**
      * @var \Magento\Core\Model\Route\Config
      */
@@ -122,39 +119,37 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Factory $controllerFactory
+     * @param \Magento\App\ActionFactory $controllerFactory
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\Config\Scope $configScope
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Route\Config $routeConfig
      * @param \Magento\Core\Model\Url\SecurityInfoInterface $urlSecurityInfo
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Url $url
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param string $areaCode
      * @param string $baseController
      * @param string $routerId
      * @throws \InvalidArgumentException
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Factory $controllerFactory,
+        \Magento\App\ActionFactory $controllerFactory,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\Config\Scope $configScope,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Route\Config $routeConfig,
         \Magento\Core\Model\Url\SecurityInfoInterface $urlSecurityInfo,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Url $url,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         $areaCode,
         $baseController,
         $routerId
@@ -165,11 +160,9 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
         $this->_filesystem      = $filesystem;
         $this->_areaCode        = $areaCode;
         $this->_baseController  = $baseController;
-        $this->_configScope     = $configScope;
         $this->_routeConfig     = $routeConfig;
         $this->_routerId        = $routerId;
         $this->_urlSecurityInfo = $urlSecurityInfo;
-        $this->_configScope     = $configScope;
         $this->_coreStoreConfig = $coreStoreConfig;
         $this->_config          = $config;
         $this->_url             = $url;
@@ -233,10 +226,10 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Match provided request and if matched - return corresponding controller
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\Core\Controller\Front\Action|null
      */
-    public function match(\Magento\Core\Controller\Request\Http $request)
+    public function match(\Magento\App\RequestInterface $request)
     {
         //checking before even try to find out that current module
         //should use this router
@@ -250,8 +243,6 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
             return null;
         }
 
-        $this->_app->loadAreaPart($this->_areaCode, \Magento\Core\Model\App\Area::PART_CONFIG);
-
         return $this->_matchController($request, $params);
     }
 
@@ -269,10 +260,10 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Parse request URL params
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array
      */
-    protected function _parseRequest(\Magento\Core\Controller\Request\Http $request)
+    protected function _parseRequest(\Magento\App\RequestInterface $request)
     {
         $output = array();
 
@@ -292,11 +283,11 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Match module front name
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param string $param
      * @return string|null
      */
-    protected function _matchModuleFrontName(\Magento\Core\Controller\Request\Http $request, $param)
+    protected function _matchModuleFrontName(\Magento\App\RequestInterface $request, $param)
     {
         // get module name
         if ($request->getModuleName()) {
@@ -318,11 +309,11 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Match controller name
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param string $param
      * @return string
      */
-    protected function _matchControllerName(\Magento\Core\Controller\Request\Http $request,  $param)
+    protected function _matchControllerName(\Magento\App\RequestInterface $request,  $param)
     {
         if ($request->getControllerName()) {
             $controller = $request->getControllerName();
@@ -343,11 +334,11 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Match controller name
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param string $param
      * @return string
      */
-    protected function _matchActionName(\Magento\Core\Controller\Request\Http $request, $param)
+    protected function _matchActionName(\Magento\App\RequestInterface $request, $param)
     {
         if (empty($action)) {
             if ($request->getActionName()) {
@@ -366,10 +357,10 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
      * Get not found controller instance
      *
      * @param $currentModuleName
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\Core\Controller\Varien\Action|null
      */
-    protected function _getNotFoundControllerInstance($currentModuleName, \Magento\Core\Controller\Request\Http $request)
+    protected function _getNotFoundControllerInstance($currentModuleName, \Magento\App\RequestInterface $request)
     {
         $controllerInstance = null;
 
@@ -412,11 +403,11 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Create matched controller instance
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param array $params
      * @return \Magento\Core\Controller\Front\Action|null
      */
-    protected function _matchController(\Magento\Core\Controller\Request\Http $request, array $params)
+    protected function _matchController(\Magento\App\RequestInterface $request, array $params)
     {
         $this->fetchDefault();
 
@@ -469,7 +460,6 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
                 continue;
             }
 
-            $this->_configScope->setCurrentScope($this->_areaCode);
             // instantiate controller class
             $controllerInstance = $this->_controllerFactory->createController($controllerClassName,
                 array('request' => $request)
@@ -648,11 +638,11 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
      * Check that request uses https protocol if it should.
      * Function redirects user to correct URL if needed.
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param string $path
      * @return void
      */
-    protected function _checkShouldBeSecure(\Zend_Controller_Request_Http $request, $path = '')
+    protected function _checkShouldBeSecure(\Magento\App\RequestInterface $request, $path = '')
     {
         if (!$this->_appState->isInstalled() || $request->getPost()) {
             return;
diff --git a/app/code/Magento/Core/Helper/AbstractHelper.php b/app/code/Magento/Core/Helper/AbstractHelper.php
index cb78152194b..65310664153 100644
--- a/app/code/Magento/Core/Helper/AbstractHelper.php
+++ b/app/code/Magento/Core/Helper/AbstractHelper.php
@@ -43,7 +43,7 @@ abstract class AbstractHelper
     /**
      * Request object
      *
-     * @var \Zend_Controller_Request_Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -70,7 +70,7 @@ abstract class AbstractHelper
     protected $_app;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -90,7 +90,7 @@ abstract class AbstractHelper
     /**
      * Retrieve request object
      *
-     * @return \Zend_Controller_Request_Http
+     * @return \Magento\App\RequestInterface
      */
     protected function _getRequest()
     {
diff --git a/app/code/Magento/Core/Helper/Context.php b/app/code/Magento/Core/Helper/Context.php
index 3a51c31ce39..690b01f85e5 100644
--- a/app/code/Magento/Core/Helper/Context.php
+++ b/app/code/Magento/Core/Helper/Context.php
@@ -38,7 +38,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_moduleManager;
 
     /** 
-     * @var  \Magento\Core\Model\Event\Manager 
+     * @var  \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -48,7 +48,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_logger;
 
     /**
-     * @var \Magento\Core\Controller\Request\HttpProxy
+     * @var \Magento\App\RequestInterface
      */
     protected $_httpRequest;
 
@@ -73,7 +73,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_app;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -81,25 +81,25 @@ class Context implements \Magento\ObjectManager\ContextInterface
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Model\Translate $translator
      * @param \Magento\Core\Model\ModuleManager $moduleManager
-     * @param \Magento\Core\Controller\Request\HttpProxy $httpRequest
+     * @param \Magento\App\RequestInterface $httpRequest
      * @param \Magento\Core\Model\Cache\Config $cacheConfig
      * @param \Magento\Core\Model\EncryptionFactory $encryptorFactory
      * @param \Magento\Core\Model\Fieldset\Config $fieldsetConfig
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
         \Magento\Core\Model\Translate $translator,
         \Magento\Core\Model\ModuleManager $moduleManager,
-        \Magento\Core\Controller\Request\HttpProxy $httpRequest,
+        \Magento\App\RequestInterface $httpRequest,
         \Magento\Core\Model\Cache\Config $cacheConfig,
         \Magento\Core\Model\EncryptionFactory $encryptorFactory,
         \Magento\Core\Model\Fieldset\Config $fieldsetConfig,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\UrlInterface $urlBuilder
+        \Magento\UrlInterface $urlBuilder
     ) {
         $this->_translator = $translator;
         $this->_moduleManager = $moduleManager;
@@ -138,7 +138,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function getUrlBuilder()
     {
@@ -146,7 +146,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Controller\Request\HttpProxy
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
@@ -170,7 +170,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Event\Manager
+     * @return \Magento\Event\ManagerInterface
      */
     public function getEventManager()
     {
diff --git a/app/code/Magento/Core/Helper/Css.php b/app/code/Magento/Core/Helper/Css.php
index a35fd1c50b7..a5e2dc2bd34 100644
--- a/app/code/Magento/Core/Helper/Css.php
+++ b/app/code/Magento/Core/Helper/Css.php
@@ -40,17 +40,17 @@ class Css
     protected $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
     /**
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs
+        \Magento\App\Dir $dirs
     ) {
         $this->_filesystem = $filesystem;
         $this->_dirs = $dirs;
@@ -118,7 +118,7 @@ class Css
          * Thus, calculating relative path is not possible in general case. So we just assume,
          * that urls follow the structure of directory paths.
          */
-        $topDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::ROOT);
+        $topDir = $this->_dirs->getDir(\Magento\App\Dir::ROOT);
         $topDir = $this->_filesystem->normalizePath($topDir);
         if (strpos($file, $topDir) !== 0 || strpos($referencedFile, $topDir) !== 0) {
             throw new \Magento\Core\Exception('Offset can be calculated for internal resources only.');
diff --git a/app/code/Magento/Core/Helper/Data.php b/app/code/Magento/Core/Helper/Data.php
index 2a2a7d53db3..1f1a6591cda 100644
--- a/app/code/Magento/Core/Helper/Data.php
+++ b/app/code/Magento/Core/Helper/Data.php
@@ -94,7 +94,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -136,7 +136,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_dateModel;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -147,27 +147,27 @@ class Data extends \Magento\Core\Helper\AbstractHelper
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param bool $dbCompatibleMode
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         $dbCompatibleMode = true
     ) {
diff --git a/app/code/Magento/Core/Helper/File/Storage/Database.php b/app/code/Magento/Core/Helper/File/Storage/Database.php
index 7029067785d..3706dfb1a60 100644
--- a/app/code/Magento/Core/Helper/File/Storage/Database.php
+++ b/app/code/Magento/Core/Helper/File/Storage/Database.php
@@ -77,7 +77,7 @@ class Database extends \Magento\Core\Helper\AbstractHelper
     protected $_fileStorage;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -85,14 +85,14 @@ class Database extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\File\Storage\DatabaseFactory $dbStorageFactory
      * @param \Magento\Core\Model\File\Storage\File $fileStorage
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Filesystem $filesystem
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\File\Storage\DatabaseFactory $dbStorageFactory,
         \Magento\Core\Model\File\Storage\File $fileStorage,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Filesystem $filesystem
     ) {
         parent::__construct($context);
diff --git a/app/code/Magento/Core/Helper/Http.php b/app/code/Magento/Core/Helper/Http.php
index 846c9a0d63e..9171a4c98c1 100644
--- a/app/code/Magento/Core/Helper/Http.php
+++ b/app/code/Magento/Core/Helper/Http.php
@@ -76,10 +76,10 @@ class Http extends \Magento\Core\Helper\AbstractHelper
      *
      * Returns plain array with 2 items: login and password respectively
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array
      */
-    public function getHttpAuthCredentials(\Zend_Controller_Request_Http $request)
+    public function getHttpAuthCredentials(\Magento\App\RequestInterface $request)
     {
         $server = $request->getServer();
         $user = '';
@@ -117,10 +117,10 @@ class Http extends \Magento\Core\Helper\AbstractHelper
     /**
      * Set "auth failed" headers to the specified response object
      *
-     * @param \Zend_Controller_Response_Http $response
+     * @param \Magento\App\ResponseInterface $response
      * @param string $realm
      */
-    public function failHttpAuthentication(\Zend_Controller_Response_Http $response, $realm)
+    public function failHttpAuthentication(\Magento\App\ResponseInterface $response, $realm)
     {
         $response->setHeader('HTTP/1.1', '401 Unauthorized')
             ->setHeader('WWW-Authenticate', 'Basic realm="' . $realm . '"')
diff --git a/app/code/Magento/Core/Helper/Theme.php b/app/code/Magento/Core/Helper/Theme.php
index ad37f8cf229..8f21ca882da 100644
--- a/app/code/Magento/Core/Helper/Theme.php
+++ b/app/code/Magento/Core/Helper/Theme.php
@@ -34,16 +34,16 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
     /**
      * Directories
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
     /**
      * Layout merge factory
      *
-     * @var \Magento\Core\Model\Layout\MergeFactory
+     * @var \Magento\View\Layout\ProcessorFactory
      */
-    protected $_layoutMergeFactory;
+    protected $_layoutProcessorFactory;
 
     /**
      * Theme collection model
@@ -58,21 +58,21 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
     protected $_viewFileSystem;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Dir $dirs
-     * @param \Magento\Core\Model\Layout\MergeFactory $layoutMergeFactory
+     * @param Context $context
+     * @param \Magento\App\Dir $dirs
+     * @param \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory
      * @param \Magento\Core\Model\Resource\Theme\Collection $themeCollection
      * @param \Magento\Core\Model\View\FileSystem $viewFileSystem
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Dir $dirs,
-        \Magento\Core\Model\Layout\MergeFactory $layoutMergeFactory,
+        \Magento\App\Dir $dirs,
+        \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory,
         \Magento\Core\Model\Resource\Theme\Collection $themeCollection,
         \Magento\Core\Model\View\FileSystem $viewFileSystem
     ) {
         $this->_dirs = $dirs;
-        $this->_layoutMergeFactory = $layoutMergeFactory;
+        $this->_layoutProcessorFactory = $layoutProcessorFactory;
         $this->_themeCollection = $themeCollection;
         $this->_viewFileSystem = $viewFileSystem;
         parent::__construct($context);
@@ -86,14 +86,14 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
      *   'Magento_Catalog::widgets.css' => 'http://mage2.com/pub/static/frontend/_theme15/en_US/Magento_Cms/widgets.css'
      * )
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return array
      */
     public function getCssFiles($theme)
     {
-        /** @var $layoutMerge \Magento\Core\Model\Layout\Merge */
-        $layoutMerge = $this->_layoutMergeFactory->create(array('theme' => $theme));
-        $layoutElement = $layoutMerge->getFileLayoutUpdatesXml();
+        /** @var $layoutProcessor \Magento\View\Layout\ProcessorInterface */
+        $layoutProcessor = $this->_layoutProcessorFactory->create(array('theme' => $theme));
+        $layoutElement = $layoutProcessor->getFileLayoutUpdatesXml();
 
         /**
          * XPath selector to get CSS files from layout added for HEAD block directly
@@ -118,7 +118,7 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
             'skipProxy'  => true
         );
 
-        $basePath = $this->_dirs->getDir(\Magento\Core\Model\Dir::ROOT);
+        $basePath = $this->_dirs->getDir(\Magento\App\Dir::ROOT);
         $files = array();
         foreach ($elements as $fileId) {
             $fileId = (string)$fileId;
@@ -139,15 +139,15 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
     /**
      * Get CSS files by group
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return array
      * @throws \LogicException
      */
     public function getGroupedCssFiles($theme)
     {
-        $jsDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\Core\Model\Dir::PUB_LIB));
-        $codeDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\Core\Model\Dir::MODULES));
-        $designDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES));
+        $jsDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\App\Dir::PUB_LIB));
+        $codeDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\App\Dir::MODULES));
+        $designDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\App\Dir::THEMES));
 
         $groups = array();
         $themes = array();
@@ -177,7 +177,7 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
         }
 
         $order = array_merge(array($codeDir, $jsDir), array_map(function ($fileTheme) {
-            /** @var $fileTheme \Magento\Core\Model\Theme */
+            /** @var $fileTheme \Magento\View\Design\ThemeInterface */
             return $fileTheme->getThemeId();
         }, $themes));
         $groups = $this->_sortArrayByArray($groups, $order);
@@ -319,7 +319,7 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
             $codeDir => (string)__('Framework files')
         );
         foreach ($themes as $theme) {
-            /** @var $theme \Magento\Core\Model\Theme */
+            /** @var $theme \Magento\View\Design\ThemeInterface */
             $labels[$theme->getThemeId()] = (string)__('"%1" Theme files', $theme->getThemeTitle());
         }
         return $labels;
@@ -356,8 +356,8 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
     /**
      * Sort themes by hierarchy callback
      *
-     * @param \Magento\Core\Model\Theme $firstTheme
-     * @param \Magento\Core\Model\Theme $secondTheme
+     * @param \Magento\View\Design\ThemeInterface $firstTheme
+     * @param \Magento\View\Design\ThemeInterface $secondTheme
      * @return int
      */
     protected function _sortThemesByHierarchyCallback($firstTheme, $secondTheme)
diff --git a/app/code/Magento/Core/Helper/Translate.php b/app/code/Magento/Core/Helper/Translate.php
index 70251d92dce..1d92e730493 100644
--- a/app/code/Magento/Core/Helper/Translate.php
+++ b/app/code/Magento/Core/Helper/Translate.php
@@ -34,24 +34,24 @@ class Translate extends \Magento\Core\Helper\AbstractHelper
     /**
      * Design package instance
      *
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
     
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\View\DesignInterface $design
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param Context $context
+     * @param \Magento\View\DesignInterface $design
+     * @param \Magento\Event\ManagerInterface $eventManager
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\View\DesignInterface $design,
-        \Magento\Core\Model\Event\Manager $eventManager
+        \Magento\View\DesignInterface $design,
+        \Magento\Event\ManagerInterface $eventManager
     ) {
         $this->_eventManager = $eventManager;
         parent::__construct($context);
diff --git a/app/code/Magento/Core/Helper/Url.php b/app/code/Magento/Core/Helper/Url.php
index e76b2b0875b..3e69656fcec 100644
--- a/app/code/Magento/Core/Helper/Url.php
+++ b/app/code/Magento/Core/Helper/Url.php
@@ -64,8 +64,8 @@ class Url extends \Magento\Core\Helper\AbstractHelper
         $port = $this->_getRequest()->getServer('SERVER_PORT');
         if ($port) {
             $defaultPorts = array(
-                \Magento\Core\Controller\Request\Http::DEFAULT_HTTP_PORT,
-                \Magento\Core\Controller\Request\Http::DEFAULT_HTTPS_PORT
+                \Magento\App\Request\Http::DEFAULT_HTTP_PORT,
+                \Magento\App\Request\Http::DEFAULT_HTTPS_PORT
             );
             $port = (in_array($port, $defaultPorts)) ? '' : ':' . $port;
         }
diff --git a/app/code/Magento/Core/Model/AbstractEntryPoint.php b/app/code/Magento/Core/Model/AbstractEntryPoint.php
index c62144ccf5b..f2579ef46db 100644
--- a/app/code/Magento/Core/Model/AbstractEntryPoint.php
+++ b/app/code/Magento/Core/Model/AbstractEntryPoint.php
@@ -70,8 +70,8 @@ abstract class AbstractEntryPoint
     public function processException(\Exception $exception)
     {
         $this->_init();
-        $appMode = $this->_objectManager->get('Magento\Core\Model\App\State')->getMode();
-        if ($appMode == \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        $appMode = $this->_objectManager->get('Magento\App\State')->getMode();
+        if ($appMode == \Magento\App\State::MODE_DEVELOPER) {
             print '<pre>';
             print $exception->getMessage() . "\n\n";
             print $exception->getTraceAsString();
@@ -92,12 +92,12 @@ abstract class AbstractEntryPoint
             // attempt to specify store as a skin
             try {
                 $storeManager = $this->_objectManager->get('Magento\Core\Model\StoreManager');
-                $reportData['skin'] = $storeManager->getStore()->getCode;
+                $reportData['skin'] = $storeManager->getStore()->getCode();
             } catch (\Exception $exception) {
             }
 
-            $modelDir = $this->_objectManager->get('Magento\Core\Model\Dir');
-            require_once($modelDir->getDir(\Magento\Core\Model\Dir::PUB) . DS . 'errors' . DS . 'report.php');
+            $modelDir = $this->_objectManager->get('Magento\App\Dir');
+            require_once($modelDir->getDir(\Magento\App\Dir::PUB) . DS . 'errors' . DS . 'report.php');
         }
     }
 
diff --git a/app/code/Magento/Core/Model/AbstractModel.php b/app/code/Magento/Core/Model/AbstractModel.php
index 6674a3be097..b43e28bbb44 100644
--- a/app/code/Magento/Core/Model/AbstractModel.php
+++ b/app/code/Magento/Core/Model/AbstractModel.php
@@ -112,7 +112,7 @@ abstract class AbstractModel extends \Magento\Object
     /**
      * Application Event Dispatcher
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventDispatcher;
 
@@ -197,7 +197,7 @@ abstract class AbstractModel extends \Magento\Object
     public function __wakeup()
     {
         $objectManager = \Magento\Core\Model\ObjectManager::getInstance();
-        $this->_eventDispatcher = $objectManager->get('Magento\Core\Model\Event\Manager');
+        $this->_eventDispatcher = $objectManager->get('Magento\Event\ManagerInterface');
         $this->_cacheManager = $objectManager->get('Magento\Core\Model\CacheInterface');
         $this->_coreRegistry = $objectManager->get('Magento\Core\Model\Registry');
     }
diff --git a/app/code/Magento/Core/Model/AbstractShell.php b/app/code/Magento/Core/Model/AbstractShell.php
index 6c54eedd8e9..85e60e2b30c 100644
--- a/app/code/Magento/Core/Model/AbstractShell.php
+++ b/app/code/Magento/Core/Model/AbstractShell.php
@@ -62,7 +62,7 @@ abstract class AbstractShell
     protected $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -71,10 +71,10 @@ abstract class AbstractShell
      *
      * @param \Magento\Filesystem $filesystem
      * @param string $entryPoint
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @throws \Exception
      */
-    public function __construct(\Magento\Filesystem $filesystem, $entryPoint, \Magento\Core\Model\Dir $dir)
+    public function __construct(\Magento\Filesystem $filesystem, $entryPoint, \Magento\App\Dir $dir)
     {
         if (isset($_SERVER['REQUEST_METHOD'])) {
             throw new \Exception('This script cannot be run from Browser. This is the shell script.');
@@ -109,7 +109,7 @@ abstract class AbstractShell
      */
     protected function _getRootPath()
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::ROOT);
+        return $this->_dir->getDir(\Magento\App\Dir::ROOT);
     }
 
     /**
diff --git a/app/code/Magento/Core/Model/App.php b/app/code/Magento/Core/Model/App.php
index cab518ce5c3..5ae9baef6c9 100644
--- a/app/code/Magento/Core/Model/App.php
+++ b/app/code/Magento/Core/Model/App.php
@@ -51,7 +51,7 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Magento version
      */
-    const VERSION = '2.0.0.0-dev48';
+    const VERSION = '2.0.0.0-dev49';
 
     /**
      * Custom application dirs
@@ -127,7 +127,7 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Application front controller
      *
-     * @var \Magento\Core\Controller\FrontInterface
+     * @var \Magento\App\FrontControllerInterface
      */
     protected $_frontController;
 
@@ -148,14 +148,14 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Request object
      *
-     * @var \Zend_Controller_Request_Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
      * Response object
      *
-     * @var \Zend_Controller_Response_Http
+     * @var \Magento\App\ResponseInterface
      */
     protected $_response;
 
@@ -184,7 +184,7 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Data base updater object
      *
-     * @var \Magento\Core\Model\Db\UpdaterInterface
+     * @var \Magento\App\UpdaterInterface
      */
     protected $_dbUpdater;
 
@@ -196,72 +196,48 @@ class App implements \Magento\Core\Model\AppInterface
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
     /**
-     * @var \Magento\Core\Model\Config\Scope
+     * @var \Magento\Config\Scope
      */
     protected $_configScope;
 
     /**
-     * @param \Magento\Core\Model\Config $config
-     * @param \Magento\Core\Model\CacheInterface $cache
+     * @param Config $config
+     * @param CacheInterface $cache
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\Db\UpdaterInterface $dbUpdater
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\Config\Scope $configScope
+     * @param StoreManagerInterface $storeManager
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\App\State $appState
+     * @param \Magento\Config\Scope $configScope
+     * @param \Magento\App\FrontControllerInterface $frontController
      */
     public function __construct(
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\CacheInterface $cache,
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Model\Db\UpdaterInterface $dbUpdater,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\Config\Scope $configScope
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\App\State $appState,
+        \Magento\Config\Scope $configScope,
+        \Magento\App\FrontControllerInterface $frontController
     ) {
         $this->_config = $config;
         $this->_cache = $cache;
         $this->_objectManager = $objectManager;
         $this->_storeManager = $storeManager;
-        $this->_dbUpdater = $dbUpdater;
         $this->_appState = $appState;
         $this->_eventManager = $eventManager;
         $this->_configScope = $configScope;
-    }
-
-    /**
-     * Run application. Run process responsible for request processing and sending response.
-     *
-     * @return \Magento\Core\Model\App
-     */
-    public function run()
-    {
-        \Magento\Profiler::start('init');
-
-        if ($this->_appState->isInstalled() && !$this->_cache->load('data_upgrade')) {
-            $this->_dbUpdater->updateScheme();
-            $this->_dbUpdater->updateData();
-            $this->_cache->save(1, 'data_upgrade');
-        }
-        $this->_initRequest();
-
-        $controllerFront = $this->getFrontController();
-        \Magento\Profiler::stop('init');
-
-        $controllerFront->dispatch();
-
-        return $this;
+        $this->_frontController = $frontController;
     }
 
     /**
@@ -276,17 +252,6 @@ class App implements \Magento\Core\Model\AppInterface
         }
     }
 
-    /**
-     * Init request object
-     *
-     * @return \Magento\Core\Model\App
-     */
-    protected function _initRequest()
-    {
-        $this->getRequest()->setPathInfo();
-        return $this;
-    }
-
     /**
      * Retrieve cookie object
      *
@@ -297,52 +262,6 @@ class App implements \Magento\Core\Model\AppInterface
         return $this->_objectManager->get('Magento\Core\Model\Cookie');
     }
 
-    /**
-     * Initialize application front controller
-     *
-     * @return \Magento\Core\Model\App
-     */
-    protected function _initFrontController()
-    {
-        $this->_frontController = $this->_getFrontControllerByCurrentArea();
-        return $this;
-    }
-
-    /**
-     * Instantiate proper front controller instance depending on current area
-     *
-     * @return \Magento\Core\Controller\FrontInterface
-     */
-    protected function _getFrontControllerByCurrentArea()
-    {
-        /**
-         * TODO: Temporary implementation for API. Must be reconsidered during implementation
-         * TODO: of ability to set different front controllers in different area.
-         * TODO: See also related changes in \Magento\Core\Model\Config.
-         */
-        // TODO: Assure that everything work fine work in areas without routers (e.g. URL generation)
-        /** Default front controller class */
-        $frontControllerClass = 'Magento\Core\Controller\Varien\Front';
-        $pathParts = explode('/', trim($this->getRequest()->getPathInfo(), '/'));
-        if ($pathParts) {
-            /** If area front name is used it is expected to be set on the first place in path info */
-            $frontName = reset($pathParts);
-            foreach ($this->getConfig()->getAreas() as $areaCode => $areaInfo) {
-                if (isset($areaInfo['front_controller'])
-                    && isset($areaInfo['frontName']) && ($frontName == $areaInfo['frontName'])
-                ) {
-                    $this->_configScope->setCurrentScope($areaCode);
-                    $frontControllerClass = $areaInfo['front_controller'];
-                    /** Remove area from path info */
-                    array_shift($pathParts);
-                    $this->getRequest()->setPathInfo('/' . implode('/', $pathParts));
-                    break;
-                }
-            }
-        }
-        return $this->_objectManager->get($frontControllerClass);
-    }
-
     /**
      * Re-declare custom error handler
      *
@@ -424,11 +343,11 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Retrieve layout object
      *
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     public function getLayout()
     {
-        return $this->_objectManager->get('Magento\Core\Model\Layout');
+        return $this->_objectManager->get('Magento\View\LayoutInterface');
     }
 
     /**
@@ -454,14 +373,10 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Retrieve front controller object
      *
-     * @return \Magento\Core\Controller\Varien\Front
+     * @return \Magento\App\FrontController
      */
     public function getFrontController()
     {
-        if (!$this->_isFrontControllerInitialized) {
-            $this->_initFrontController();
-            $this->_isFrontControllerInitialized = true;
-        }
         return $this->_frontController;
     }
 
@@ -553,12 +468,12 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Retrieve request object
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
         if (!$this->_request) {
-            $this->_request = $this->_objectManager->get('Magento\Core\Controller\Request\Http');
+            $this->_request = $this->_objectManager->get('Magento\App\RequestInterface');
         }
         return $this->_request;
     }
@@ -566,10 +481,10 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Request setter
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\Core\Model\App
      */
-    public function setRequest(\Magento\Core\Controller\Request\Http $request)
+    public function setRequest(\Magento\App\RequestInterface $request)
     {
         $this->_request = $request;
         return $this;
@@ -578,12 +493,12 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Retrieve response object
      *
-     * @return \Zend_Controller_Response_Http
+     * @return \Magento\App\ResponseInterface
      */
     public function getResponse()
     {
         if (!$this->_response) {
-            $this->_response = $this->_objectManager->get('Magento\Core\Controller\Response\Http');
+            $this->_response = $this->_objectManager->get('Magento\App\ResponseInterface');
             $this->_response->setHeader('Content-Type', 'text/html; charset=UTF-8');
         }
         return $this->_response;
@@ -592,10 +507,10 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Response setter
      *
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\ResponseInterface $response
      * @return \Magento\Core\Model\App
      */
-    public function setResponse(\Magento\Core\Controller\Response\Http $response)
+    public function setResponse(\Magento\App\ResponseInterface $response)
     {
         $this->_response = $response;
         return $this;
@@ -652,7 +567,7 @@ class App implements \Magento\Core\Model\AppInterface
      */
     public function isDeveloperMode()
     {
-        return $this->_appState->getMode() == \Magento\Core\Model\App\State::MODE_DEVELOPER;
+        return $this->_appState->getMode() == \Magento\App\State::MODE_DEVELOPER;
     }
 
     /**
@@ -921,7 +836,7 @@ class App implements \Magento\Core\Model\AppInterface
             'revision'  => '0',
             'patch'     => '0',
             'stability' => 'dev',
-            'number'    => '48',
+            'number'    => '49',
         );
     }
 }
diff --git a/app/code/Magento/Core/Model/App/Area.php b/app/code/Magento/Core/Model/App/Area.php
index a54f9d84603..b22a806dbdd 100644
--- a/app/code/Magento/Core/Model/App/Area.php
+++ b/app/code/Magento/Core/Model/App/Area.php
@@ -64,7 +64,7 @@ class Area
     /**
      * Event Manager
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -121,7 +121,7 @@ class Area
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Translate $translator
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\ObjectManager $objectManager
@@ -133,7 +133,7 @@ class Area
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Translate $translator,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\ObjectManager $objectManager,
@@ -176,7 +176,7 @@ class Area
     /**
      * Detect and apply design for the area
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      */
     public function detectDesign($request = null)
     {
@@ -193,7 +193,7 @@ class Area
     /**
      * Analyze user-agent information to override custom design settings
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return bool
      */
     protected function _applyUserAgentDesignException($request)
@@ -221,11 +221,11 @@ class Area
     }
 
     /**
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return \Magento\View\DesignInterface
      */
     protected function _getDesign()
     {
-        return $this->_objectManager->get('Magento\Core\Model\View\DesignInterface');
+        return $this->_objectManager->get('Magento\View\DesignInterface');
     }
 
     /**
@@ -276,7 +276,7 @@ class Area
             'inline_type' => null,
             'params' => array('area' => $this->_code)
         ));
-        $eventManager = $this->_objectManager->get('Magento\Core\Model\Event\Manager');
+        $eventManager = $this->_objectManager->get('Magento\Event\ManagerInterface');
         $eventManager->dispatch('translate_initialization_before', array(
             'translate_object' => $this->_translator,
             'result' => $dispatchResult
diff --git a/app/code/Magento/Core/Model/App/Emulation.php b/app/code/Magento/Core/Model/App/Emulation.php
index e43e82d5958..bb586f4c813 100644
--- a/app/code/Magento/Core/Model/App/Emulation.php
+++ b/app/code/Magento/Core/Model/App/Emulation.php
@@ -75,7 +75,7 @@ class Emulation extends \Magento\Object
     /**
      * @param \Magento\Core\Model\App $app
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\View\DesignInterface $viewDesign
+     * @param \Magento\View\DesignInterface $viewDesign
      * @param \Magento\Core\Model\Design $design
      * @param \Magento\Core\Model\Translate $translate
      * @param \Magento\Core\Helper\Translate $helperTranslate
@@ -86,7 +86,7 @@ class Emulation extends \Magento\Object
     public function __construct(
         \Magento\Core\Model\App $app,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\View\DesignInterface $viewDesign,
+        \Magento\View\DesignInterface $viewDesign,
         \Magento\Core\Model\Design $design,
         \Magento\Core\Model\Translate $translate,
         \Magento\Core\Helper\Translate $helperTranslate,
diff --git a/app/code/Magento/Core/Model/App/Proxy.php b/app/code/Magento/Core/Model/App/Proxy.php
deleted file mode 100644
index 8cfef3e1d18..00000000000
--- a/app/code/Magento/Core/Model/App/Proxy.php
+++ /dev/null
@@ -1,561 +0,0 @@
-<?php
-/**
- * Application proxy model
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\App;
-
-class Proxy implements \Magento\Core\Model\AppInterface
-{
-    /**
-     * @var \Magento\ObjectManager
-     */
-    protected $_objectManager;
-
-    /**
-     * @var \Magento\Core\Model\App
-     */
-    protected $_app = null;
-
-    /**
-     * @param \Magento\ObjectManager $objectManager
-     */
-    public function __construct(\Magento\ObjectManager $objectManager)
-    {
-        $this->_objectManager = $objectManager;
-    }
-
-    /**
-     * Get application model
-     *
-     * @return \Magento\Core\Model\App
-     */
-    protected function _getApp()
-    {
-        if (null === $this->_app) {
-            $this->_app = $this->_objectManager->get('Magento\Core\Model\App');
-        }
-
-        return $this->_app;
-    }
-
-    /**
-     * Run application. Run process responsible for request processing and sending response.
-     *
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function run()
-    {
-        return $this->_getApp()->run();
-    }
-
-    /**
-     * Throw an exception, if the application has not been installed yet
-     *
-     * @throws \Magento\Exception
-     */
-    public function requireInstalledInstance()
-    {
-        $this->_getApp()->requireInstalledInstance();
-    }
-
-    /**
-     * Retrieve cookie object
-     *
-     * @return \Magento\Core\Model\Cookie
-     */
-    public function getCookie()
-    {
-        return $this->_getApp()->getCookie();
-    }
-
-    /**
-     * Reinitialize stores
-     *
-     * @return void
-     */
-    public function reinitStores()
-    {
-        $this->_getApp()->reinitStores();
-    }
-
-    /**
-     * Check if system is run in the single store mode
-     *
-     * @return bool
-     */
-    public function isSingleStoreMode()
-    {
-        return $this->_getApp()->isSingleStoreMode();
-    }
-
-    /**
-     * Check if store has only one store view
-     *
-     * @return bool
-     */
-    public function hasSingleStore()
-    {
-        return $this->_getApp()->hasSingleStore();
-    }
-
-    /**
-     * Set current default store
-     *
-     * @param string $store
-     */
-    public function setCurrentStore($store)
-    {
-        $this->_getApp()->setCurrentStore($store);
-    }
-
-    /**
-     * Get current store code
-     *
-     * @return string
-     */
-    public function getCurrentStore()
-    {
-        return $this->_getApp()->getCurrentStore();
-    }
-
-    /**
-     * Re-declare custom error handler
-     *
-     * @param   string $handler
-     * @return  \Magento\Core\Model\AppInterface
-     */
-    public function setErrorHandler($handler)
-    {
-        return $this->_getApp()->setErrorHandler($handler);
-    }
-
-    /**
-     * Loading application area
-     *
-     * @param   string $code
-     * @return  \Magento\Core\Model\AppInterface
-     */
-    public function loadArea($code)
-    {
-        return $this->_getApp()->loadArea($code);
-    }
-
-    /**
-     * Loading part of area data
-     *
-     * @param   string $area
-     * @param   string $part
-     * @return  \Magento\Core\Model\AppInterface
-     */
-    public function loadAreaPart($area, $part)
-    {
-        return $this->_getApp()->loadAreaPart($area, $part);
-    }
-
-    /**
-     * Retrieve application area
-     *
-     * @param   string $code
-     * @return  \Magento\Core\Model\App\Area
-     */
-    public function getArea($code)
-    {
-        return $this->_getApp()->getArea($code);
-    }
-
-    /**
-     * Retrieve application store object
-     *
-     * @param null|string|bool|int|\Magento\Core\Model\Store $storeId
-     * @return \Magento\Core\Model\Store
-     * @throws \Magento\Core\Model\Store\Exception
-     */
-    public function getStore($storeId = null)
-    {
-        return $this->_getApp()->getStore($storeId);
-    }
-
-    /**
-     * Retrieve application store object without Store_Exception
-     *
-     * @param string|int|\Magento\Core\Model\Store $storeId
-     * @return \Magento\Core\Model\Store
-     */
-    public function getSafeStore($storeId = null)
-    {
-        return $this->_getApp()->getSafeStore($storeId);
-    }
-
-    /**
-     * Retrieve stores array
-     *
-     * @param bool $withDefault
-     * @param bool $codeKey
-     * @return array
-     */
-    public function getStores($withDefault = false, $codeKey = false)
-    {
-        return $this->_getApp()->getStores($withDefault, $codeKey);
-    }
-
-    /**
-     * Retrieve default store for default group and website
-     *
-     * @return \Magento\Core\Model\Store
-     */
-    public function getDefaultStoreView()
-    {
-        return $this->_getApp()->getDefaultStoreView();
-    }
-
-    /**
-     * Get distributive locale code
-     *
-     * @return string
-     */
-    public function getDistroLocaleCode()
-    {
-        return $this->_getApp()->getDistroLocaleCode();
-    }
-
-    /**
-     * Retrieve application website object
-     *
-     * @param null|bool|int|string|\Magento\Core\Model\Website $websiteId
-     * @return \Magento\Core\Model\Website
-     * @throws \Magento\Core\Exception
-     */
-    public function getWebsite($websiteId = null)
-    {
-        return $this->_getApp()->getWebsite($websiteId);
-    }
-
-    /**
-     * Get websites
-     *
-     * @param bool $withDefault
-     * @param bool $codeKey
-     * @return array
-     */
-    public function getWebsites($withDefault = false, $codeKey = false)
-    {
-        return $this->_getApp()->getWebsites($withDefault, $codeKey);
-    }
-
-    /**
-     * Retrieve application store group object
-     *
-     * @param null|\Magento\Core\Model\Store\Group|string $groupId
-     * @return \Magento\Core\Model\Store\Group
-     * @throws \Magento\Core\Exception
-     */
-    public function getGroup($groupId = null)
-    {
-        return $this->_getApp()->getGroup($groupId);
-    }
-
-    /**
-     * Retrieve application locale object
-     *
-     * @return \Magento\Core\Model\LocaleInterface
-     */
-    public function getLocale()
-    {
-        return $this->_getApp()->getLocale();
-    }
-
-    /**
-     * Retrieve layout object
-     *
-     * @return \Magento\Core\Model\Layout
-     */
-    public function getLayout()
-    {
-        return $this->_getApp()->getLayout();
-    }
-
-    /**
-     * Retrieve helper object
-     *
-     * @param string $name
-     * @return \Magento\Core\Helper\AbstractHelper
-     */
-    public function getHelper($name)
-    {
-        return $this->_getApp()->getHelper($name);
-    }
-
-    /**
-     * Retrieve application base currency code
-     *
-     * @return string
-     */
-    public function getBaseCurrencyCode()
-    {
-        return $this->_getApp()->getBaseCurrencyCode();
-    }
-
-    /**
-     * Retrieve configuration object
-     *
-     * @return \Magento\Core\Model\Config
-     */
-    public function getConfig()
-    {
-        return $this->_getApp()->getConfig();
-    }
-
-    /**
-     * Retrieve front controller object
-     *
-     * @return \Magento\Core\Controller\Varien\Front
-     */
-    public function getFrontController()
-    {
-        return $this->_getApp()->getFrontController();
-    }
-
-    /**
-     * Get core cache model
-     *
-     * @return \Magento\Core\Model\CacheInterface
-     */
-    public function getCacheInstance()
-    {
-        return $this->_getApp()->getCacheInstance();
-    }
-
-    /**
-     * Retrieve cache object
-     *
-     * @return \Zend_Cache_Core
-     */
-    public function getCache()
-    {
-        return $this->_getApp()->getCache();
-    }
-
-    /**
-     * Loading cache data
-     *
-     * @param   string $cacheId
-     * @return  mixed
-     */
-    public function loadCache($cacheId)
-    {
-        return $this->_getApp()->loadCache($cacheId);
-    }
-
-    /**
-     * Saving cache data
-     *
-     * @param mixed $data
-     * @param string $cacheId
-     * @param array $tags
-     * @param bool $lifeTime
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function saveCache($data, $cacheId, $tags = array(), $lifeTime = false)
-    {
-        return $this->_getApp()->saveCache($data, $cacheId, $tags, $lifeTime);
-    }
-
-    /**
-     * Remove cache
-     *
-     * @param   string $cacheId
-     * @return  \Magento\Core\Model\AppInterface
-     */
-    public function removeCache($cacheId)
-    {
-        return $this->_getApp()->removeCache($cacheId);
-    }
-
-    /**
-     * Cleaning cache
-     *
-     * @param   array $tags
-     * @return  \Magento\Core\Model\AppInterface
-     */
-    public function cleanCache($tags = array())
-    {
-        return $this->_getApp()->cleanCache($tags);
-    }
-
-    /**
-     * Deletes all session files
-     *
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function cleanAllSessions()
-    {
-        return $this->_getApp()->cleanAllSessions();
-    }
-
-    /**
-     * Retrieve request object
-     *
-     * @return \Magento\Core\Controller\Request\Http
-     */
-    public function getRequest()
-    {
-        return $this->_getApp()->getRequest();
-    }
-
-    /**
-     * Request setter
-     *
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function setRequest(\Magento\Core\Controller\Request\Http $request)
-    {
-        return $this->_getApp()->setRequest($request);
-    }
-
-    /**
-     * Retrieve response object
-     *
-     * @return \Zend_Controller_Response_Http
-     */
-    public function getResponse()
-    {
-        return $this->_getApp()->getResponse();
-    }
-
-    /**
-     * Response setter
-     *
-     * @param \Magento\Core\Controller\Response\Http $response
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function setResponse(\Magento\Core\Controller\Response\Http $response)
-    {
-        return $this->_getApp()->setResponse($response);
-    }
-
-   /**
-     * @throws \Magento\Core\Model\Store\Exception
-     */
-    public function throwStoreException()
-    {
-        $this->_getApp()->throwStoreException();
-    }
-
-    /**
-     * Set use session var instead of SID for URL
-     *
-     * @param bool $var
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function setUseSessionVar($var)
-    {
-        return $this->_getApp()->setUseSessionVar($var);
-    }
-
-    /**
-     * Retrieve use flag session var instead of SID for URL
-     *
-     * @return bool
-     */
-    public function getUseSessionVar()
-    {
-        return $this->_getApp()->getUseSessionVar();
-    }
-
-    /**
-     * Get either default or any store view
-     *
-     * @return \Magento\Core\Model\Store
-     */
-    public function getAnyStoreView()
-    {
-        return $this->_getApp()->getAnyStoreView();
-    }
-
-    /**
-     * Set Use session in URL flag
-     *
-     * @param bool $flag
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function setUseSessionInUrl($flag = true)
-    {
-        return $this->_getApp()->setUseSessionInUrl($flag);
-    }
-
-    /**
-     * Retrieve use session in URL flag
-     *
-     * @return bool
-     */
-    public function getUseSessionInUrl()
-    {
-        return $this->_getApp()->getUseSessionInUrl();
-    }
-
-    /**
-     * Allow or disallow single store mode
-     *
-     * @param bool $value
-     */
-    public function setIsSingleStoreModeAllowed($value)
-    {
-        $this->_getApp()->setIsSingleStoreModeAllowed($value);
-    }
-
-    /**
-     * Prepare array of store groups
-     * can be filtered to contain default store group or not by $withDefault flag
-     * depending on flag $codeKey array keys can be group id or group code
-     *
-     * @param bool $withDefault
-     * @param bool $codeKey
-     * @return array
-     */
-    public function getGroups($withDefault = false, $codeKey = false)
-    {
-        return $this->_getApp()->getGroups($withDefault, $codeKey);
-    }
-
-    /**
-     *  Unset website by id from app cache
-     *
-     * @param null|bool|int|string|\Magento\Core\Model\Website $websiteId
-     */
-    public function clearWebsiteCache($websiteId = null)
-    {
-        $this->_getApp()->clearWebsiteCache($websiteId);
-    }
-
-    /**
-     * Check if developer mode is enabled.
-     *
-     * @return bool
-     */
-    public function isDeveloperMode()
-    {
-        return $this->_getApp()->isDeveloperMode();
-    }
-}
diff --git a/app/code/Magento/Core/Model/AppInterface.php b/app/code/Magento/Core/Model/AppInterface.php
index f1d0cfa30a6..f0a690829be 100644
--- a/app/code/Magento/Core/Model/AppInterface.php
+++ b/app/code/Magento/Core/Model/AppInterface.php
@@ -55,13 +55,6 @@ interface AppInterface extends \Magento\Core\Model\StoreManagerInterface
      */
     const CONFIGURATION_DI_NODE = 'di';
 
-    /**
-     * Run application. Run process responsible for request processing and sending response.
-     *
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function run();
-
     /**
      * Throw an exception, if the application has not been installed yet
      *
@@ -126,7 +119,7 @@ interface AppInterface extends \Magento\Core\Model\StoreManagerInterface
     /**
      * Retrieve layout object
      *
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     public function getLayout();
 
@@ -147,7 +140,7 @@ interface AppInterface extends \Magento\Core\Model\StoreManagerInterface
     /**
      * Retrieve front controller object
      *
-     * @return \Magento\Core\Controller\Varien\Front
+     * @return \Magento\App\FrontController
      */
     public function getFrontController();
 
@@ -211,32 +204,32 @@ interface AppInterface extends \Magento\Core\Model\StoreManagerInterface
     /**
      * Retrieve request object
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest();
 
     /**
      * Request setter
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\Core\Model\AppInterface
      */
-    public function setRequest(\Magento\Core\Controller\Request\Http $request);
+    public function setRequest(\Magento\App\RequestInterface $request);
 
     /**
      * Retrieve response object
      *
-     * @return \Zend_Controller_Response_Http
+     * @return \Magento\App\ResponseInterface
      */
     public function getResponse();
 
     /**
      * Response setter
      *
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\ResponseInterface $response
      * @return \Magento\Core\Model\AppInterface
      */
-    public function setResponse(\Magento\Core\Controller\Response\Http $response);
+    public function setResponse(\Magento\App\ResponseInterface $response);
 
     /**
      * Set use session var instead of SID for URL
diff --git a/app/code/Magento/Core/Model/Cache/Frontend/Factory.php b/app/code/Magento/Core/Model/Cache/Frontend/Factory.php
index 9e3e4c648fd..0a1c04524fb 100644
--- a/app/code/Magento/Core/Model/Cache/Frontend/Factory.php
+++ b/app/code/Magento/Core/Model/Cache/Frontend/Factory.php
@@ -47,7 +47,7 @@ class Factory
     private $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
@@ -97,7 +97,7 @@ class Factory
     /**
      * @param \Magento\ObjectManager $objectManager
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\Resource $resource
      * @param array $enforcedOptions
      * @param array $decorators
@@ -105,7 +105,7 @@ class Factory
     public function __construct(
         \Magento\ObjectManager $objectManager,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Resource $resource,
         array $enforcedOptions = array(),
         array $decorators = array()
@@ -130,21 +130,21 @@ class Factory
 
         foreach (array('backend_options', 'slow_backend_options') as $section) {
             if (!empty($options[$section]['cache_dir'])) {
-                $dir = $this->_dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . $options[$section]['cache_dir'];
+                $dir = $this->_dirs->getDir(\Magento\App\Dir::VAR_DIR) . DS . $options[$section]['cache_dir'];
                 $this->_filesystem->setIsAllowCreateDirectories(true);
                 $this->_filesystem->ensureDirectoryExists($dir, 0777);
                 $options[$section]['cache_dir'] = $dir;
             }
         }
 
-        $this->_backendOptions['cache_dir'] = $this->_dirs->getDir(\Magento\Core\Model\Dir::CACHE);
+        $this->_backendOptions['cache_dir'] = $this->_dirs->getDir(\Magento\App\Dir::CACHE);
 
         $idPrefix = isset($options['id_prefix']) ? $options['id_prefix'] : '';
         if (!$idPrefix && isset($options['prefix'])) {
             $idPrefix = $options['prefix'];
         }
         if (empty($idPrefix)) {
-            $idPrefix = substr(md5($this->_dirs->getDir(\Magento\Core\Model\Dir::CONFIG)), 0, 3) . '_';
+            $idPrefix = substr(md5($this->_dirs->getDir(\Magento\App\Dir::CONFIG)), 0, 3) . '_';
         }
         $options['frontend_options']['cache_id_prefix'] = $idPrefix;
 
diff --git a/app/code/Magento/Core/Model/Cache/State.php b/app/code/Magento/Core/Model/Cache/State.php
index 2ef1d409549..6827d417cea 100644
--- a/app/code/Magento/Core/Model/Cache/State.php
+++ b/app/code/Magento/Core/Model/Cache/State.php
@@ -56,13 +56,13 @@ class State implements \Magento\Core\Model\Cache\StateInterface
     /**
      * @param \Magento\Core\Model\Resource\Cache $resource
      * @param \Magento\Core\Model\Cache\Frontend\Pool $cacheFrontendPool
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param bool $banAll Whether all cache types are forced to be disabled
      */
     public function __construct(
         \Magento\Core\Model\Resource\Cache $resource,
         \Magento\Core\Model\Cache\Frontend\Pool $cacheFrontendPool,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         $banAll = false
     ) {
         $this->_resource = $resource;
diff --git a/app/code/Magento/Core/Model/Config.php b/app/code/Magento/Core/Model/Config.php
index 9b3041ed688..f5301f8c036 100644
--- a/app/code/Magento/Core/Model/Config.php
+++ b/app/code/Magento/Core/Model/Config.php
@@ -61,20 +61,6 @@ class Config implements \Magento\Core\Model\ConfigInterface
      */
     protected $_secureUrlCache = array();
 
-    /**
-     * Active modules array per namespace
-     *
-     * @var array
-     */
-    private $_moduleNamespaces = null;
-
-    /**
-     * Areas allowed to use
-     *
-     * @var array
-     */
-    protected $_allowedAreas = null;
-
     /**
      * Object manager
      *
@@ -109,7 +95,7 @@ class Config implements \Magento\Core\Model\ConfigInterface
     protected $_configScope;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleList;
 
@@ -127,19 +113,17 @@ class Config implements \Magento\Core\Model\ConfigInterface
      * @param \Magento\Core\Model\ObjectManager           $objectManager
      * @param \Magento\Core\Model\Config\StorageInterface $storage
      * @param \Magento\Core\Model\Config\Modules\Reader   $moduleReader
-     * @param \Magento\Core\Model\ModuleListInterface     $moduleList
+     * @param \Magento\App\ModuleListInterface     $moduleList
      * @param \Magento\Config\ScopeInterface              $configScope
      * @param \Magento\Core\Model\Config\SectionPool      $sectionPool
-     * @param array                                      $areas
      */
     public function __construct(
         \Magento\Core\Model\ObjectManager $objectManager,
         \Magento\Core\Model\Config\StorageInterface $storage,
         \Magento\Core\Model\Config\Modules\Reader $moduleReader,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Config\ScopeInterface $configScope,
-        \Magento\Core\Model\Config\SectionPool $sectionPool,
-        array $areas = array()
+        \Magento\Core\Model\Config\SectionPool $sectionPool
     ) {
         \Magento\Profiler::start('config_load');
         $this->_objectManager = $objectManager;
@@ -149,7 +133,6 @@ class Config implements \Magento\Core\Model\ConfigInterface
         $this->_moduleList = $moduleList;
         $this->_configScope = $configScope;
         $this->_sectionPool = $sectionPool;
-        $this->_allowedAreas = $areas;
         \Magento\Profiler::stop('config_load');
     }
 
@@ -213,23 +196,6 @@ class Config implements \Magento\Core\Model\ConfigInterface
         return $this->_allowedAreas;
     }
 
-    /**
-     * Retrieve area config by area code
-     *
-     * @param string|null $areaCode
-     * @throws \InvalidArgumentException
-     * @return array
-     */
-    public function getAreaConfig($areaCode = null)
-    {
-        $areaCode = empty($areaCode) ? $this->_configScope->getCurrentScope() : $areaCode;
-        $areas = $this->getAreas();
-        if (!isset($areas[$areaCode])) {
-            throw new \InvalidArgumentException('Requested area (' . $areaCode . ') does not exist');
-        }
-        return $areas[$areaCode];
-    }
-
     /**
      * Identify front name of the requested area. Return current area front name if area code is not specified.
      *
@@ -262,20 +228,6 @@ class Config implements \Magento\Core\Model\ConfigInterface
         return $this->_moduleReader->getModuleDir($type, $moduleName);
     }
 
-    /**
-     * Set path to the corresponding module directory
-     *
-     * @param string $moduleName
-     * @param string $type directory type (etc, controllers, locale etc)
-     * @param string $path
-     * @return \Magento\Core\Model\Config
-     */
-    public function setModuleDir($moduleName, $type, $path)
-    {
-        $this->_moduleReader->setModuleDir($moduleName, $type, $path);
-        return $this;
-    }
-
     /**
      * Retrieve store Ids for $path with checking
      *
diff --git a/app/code/Magento/Core/Model/Config/FileResolver.php b/app/code/Magento/Core/Model/Config/FileResolver.php
index f1c50b237c9..21b798400f5 100644
--- a/app/code/Magento/Core/Model/Config/FileResolver.php
+++ b/app/code/Magento/Core/Model/Config/FileResolver.php
@@ -35,17 +35,17 @@ class FileResolver implements \Magento\Config\FileResolverInterface
     protected $_moduleReader;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_applicationDirs;
 
     /**
      * @param \Magento\Core\Model\Config\Modules\Reader $moduleReader
-     * @param \Magento\Core\Model\Dir $applicationDirs
+     * @param \Magento\App\Dir $applicationDirs
      */
     public function __construct(
         \Magento\Core\Model\Config\Modules\Reader $moduleReader,
-        \Magento\Core\Model\Dir $applicationDirs
+        \Magento\App\Dir $applicationDirs
     ) {
         $this->_moduleReader = $moduleReader;
         $this->_applicationDirs = $applicationDirs;
@@ -58,7 +58,7 @@ class FileResolver implements \Magento\Config\FileResolverInterface
     {
         switch ($scope) {
             case 'primary':
-                $appConfigDir = $this->_applicationDirs->getDir(\Magento\Core\Model\Dir::CONFIG);
+                $appConfigDir = $this->_applicationDirs->getDir(\Magento\App\Dir::CONFIG);
                 // Create pattern similar to app/etc/{*config.xml,*/*config.xml}
                 $filePattern = $appConfigDir . DIRECTORY_SEPARATOR
                     . '{*' . $filename . ',*' . DIRECTORY_SEPARATOR . '*' . $filename . '}';
diff --git a/app/code/Magento/Core/Model/Config/FileResolver/Primary.php b/app/code/Magento/Core/Model/Config/FileResolver/Primary.php
index 0e95f804cc1..b84b42fb2ed 100644
--- a/app/code/Magento/Core/Model/Config/FileResolver/Primary.php
+++ b/app/code/Magento/Core/Model/Config/FileResolver/Primary.php
@@ -31,14 +31,14 @@ namespace Magento\Core\Model\Config\FileResolver;
 class Primary implements \Magento\Config\FileResolverInterface
 {
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_applicationDirs;
 
     /**
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      */
-    public function __construct(\Magento\Core\Model\Dir $dirs)
+    public function __construct(\Magento\App\Dir $dirs)
     {
         $this->_applicationDirs = $dirs;
     }
@@ -53,7 +53,7 @@ class Primary implements \Magento\Config\FileResolverInterface
      */
     public function get($filename, $scope)
     {
-        $configDir = $this->_applicationDirs->getDir(\Magento\Core\Model\Dir::CONFIG);
+        $configDir = $this->_applicationDirs->getDir(\Magento\App\Dir::CONFIG);
         $fileList = glob($configDir . DIRECTORY_SEPARATOR . '*' . DIRECTORY_SEPARATOR . $filename);
 
         if (file_exists($configDir . DIRECTORY_SEPARATOR . $filename)) {
diff --git a/app/code/Magento/Core/Model/Config/Modules/Reader.php b/app/code/Magento/Core/Model/Config/Modules/Reader.php
index f532af219e7..494bc763bbf 100644
--- a/app/code/Magento/Core/Model/Config/Modules/Reader.php
+++ b/app/code/Magento/Core/Model/Config/Modules/Reader.php
@@ -37,14 +37,14 @@ class Reader
     /**
      * Directory registry
      *
-     * @var \Magento\Core\Model\Module\Dir
+     * @var \Magento\App\Module\Dir
      */
     protected $_moduleDirs;
 
     /**
      * Modules configuration provider
      *
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_modulesList;
 
@@ -56,14 +56,14 @@ class Reader
     protected $_prototypeFactory;
 
     /**
-     * @param \Magento\Core\Model\Module\Dir $moduleDirs
+     * @param \Magento\App\Module\Dir $moduleDirs
      * @param \Magento\Core\Model\Config\BaseFactory $prototypeFactory
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      */
     public function __construct(
-        \Magento\Core\Model\Module\Dir $moduleDirs,
+        \Magento\App\Module\Dir $moduleDirs,
         \Magento\Core\Model\Config\BaseFactory $prototypeFactory,
-        \Magento\Core\Model\ModuleListInterface $moduleList
+        \Magento\App\ModuleListInterface $moduleList
     ) {
         $this->_moduleDirs = $moduleDirs;
         $this->_prototypeFactory = $prototypeFactory;
diff --git a/app/code/Magento/Core/Model/Config/Primary.php b/app/code/Magento/Core/Model/Config/Primary.php
index 76b871e99cd..731419ba681 100644
--- a/app/code/Magento/Core/Model/Config/Primary.php
+++ b/app/code/Magento/Core/Model/Config/Primary.php
@@ -42,35 +42,35 @@ class Primary extends \Magento\Core\Model\Config\Base
     /**
      * Directory list
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
     /**
      * @param string $baseDir
      * @param array $params
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Config\LoaderInterface $loader
      */
     public function __construct(
         $baseDir,
         array $params,
-        \Magento\Core\Model\Dir $dir = null,
+        \Magento\App\Dir $dir = null,
         \Magento\Core\Model\Config\LoaderInterface $loader = null
     ) {
         parent::__construct('<config/>');
         $this->_params = $params;
-        $this->_dir = $dir ?: new \Magento\Core\Model\Dir(
+        $this->_dir = $dir ?: new \Magento\App\Dir(
             $baseDir,
             $this->getParam(\Magento\Core\Model\App::PARAM_APP_URIS, array()),
             $this->getParam(\Magento\Core\Model\App::PARAM_APP_DIRS, array())
         );
         \Magento\Autoload\IncludePath::addIncludePath(array(
-            $this->_dir->getDir(\Magento\Core\Model\Dir::GENERATION)
+            $this->_dir->getDir(\Magento\App\Dir::GENERATION)
         ));
 
         $this->_loader = $loader ?: new \Magento\Core\Model\Config\Loader\Primary(
-            $this->_dir->getDir(\Magento\Core\Model\Dir::CONFIG)
+            $this->_dir->getDir(\Magento\App\Dir::CONFIG)
         );
         $this->_loader->load($this);
     }
@@ -100,7 +100,7 @@ class Primary extends \Magento\Core\Model\Config\Base
     /**
      * Retrieve directories
      *
-     * @return \Magento\Core\Model\Dir
+     * @return \Magento\App\Dir
      */
     public function getDirectories()
     {
@@ -127,9 +127,9 @@ class Primary extends \Magento\Core\Model\Config\Base
         if (isset($pathInfo['path'])) {
             return $pathInfo['path'];
         } else if (isset($pathInfo['relativePath'])) {
-            return $this->_dir->getDir(\Magento\Core\Model\Dir::ROOT) . DIRECTORY_SEPARATOR . $pathInfo['relativePath'];
+            return $this->_dir->getDir(\Magento\App\Dir::ROOT) . DIRECTORY_SEPARATOR . $pathInfo['relativePath'];
         } else {
-            return $this->_dir->getDir(\Magento\Core\Model\Dir::DI);
+            return $this->_dir->getDir(\Magento\App\Dir::DI);
         }
     }
 
@@ -155,7 +155,7 @@ class Primary extends \Magento\Core\Model\Config\Base
         $objectManager->configure(array(
             'Magento\Core\Model\Config\Loader\Local' => array(
                 'parameters' => array(
-                    'configDirectory' => $this->_dir->getDir(\Magento\Core\Model\Dir::CONFIG),
+                    'configDirectory' => $this->_dir->getDir(\Magento\App\Dir::CONFIG),
                 )
             ),
             'Magento\Core\Model\Cache\Frontend\Factory' => array(
diff --git a/app/code/Magento/Core/Model/Config/Resource.php b/app/code/Magento/Core/Model/Config/Resource.php
index 3cc04e5fe67..e6fbae397cd 100644
--- a/app/code/Magento/Core/Model/Config/Resource.php
+++ b/app/code/Magento/Core/Model/Config/Resource.php
@@ -30,6 +30,13 @@ class Resource extends \Magento\Config\Data\Scoped
 {
     const DEFAULT_SETUP_CONNECTION = 'default';
 
+    /**
+     * List of connection names per resource
+     *
+     * @var array
+     */
+    protected $_connectionNames = array();
+
     /**
      * @param \Magento\Core\Model\Resource\Config\Reader $reader
      * @param \Magento\Config\ScopeInterface $configScope
diff --git a/app/code/Magento/Core/Model/Config/Section/Processor/Placeholder.php b/app/code/Magento/Core/Model/Config/Section/Processor/Placeholder.php
index 8060d4ce366..b03e148880f 100644
--- a/app/code/Magento/Core/Model/Config/Section/Processor/Placeholder.php
+++ b/app/code/Magento/Core/Model/Config/Section/Processor/Placeholder.php
@@ -28,14 +28,14 @@ namespace Magento\Core\Model\Config\Section\Processor;
 class Placeholder
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      */
-    public function __construct(\Magento\Core\Controller\Request\Http $request)
+    public function __construct(\Magento\App\RequestInterface $request)
     {
         $this->_request = $request;
     }
diff --git a/app/code/Magento/Core/Model/Config/Section/Reader/DefaultReader.php b/app/code/Magento/Core/Model/Config/Section/Reader/DefaultReader.php
index dffce7edd8f..4a8961cac0f 100644
--- a/app/code/Magento/Core/Model/Config/Section/Reader/DefaultReader.php
+++ b/app/code/Magento/Core/Model/Config/Section/Reader/DefaultReader.php
@@ -43,7 +43,7 @@ class DefaultReader
     protected $_collectionFactory;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -51,13 +51,13 @@ class DefaultReader
      * @param \Magento\Core\Model\Config\Initial $initialConfig
      * @param \Magento\Core\Model\Config\Section\Converter $converter
      * @param \Magento\Core\Model\Resource\Config\Value\Collection\ScopedFactory $collectionFactory
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      */
     public function __construct(
         \Magento\Core\Model\Config\Initial $initialConfig,
         \Magento\Core\Model\Config\Section\Converter $converter,
         \Magento\Core\Model\Resource\Config\Value\Collection\ScopedFactory $collectionFactory,
-        \Magento\Core\Model\App\State $appState
+        \Magento\App\State $appState
     ) {
         $this->_initialConfig = $initialConfig;
         $this->_converter = $converter;
diff --git a/app/code/Magento/Core/Model/Config/Section/Reader/Store.php b/app/code/Magento/Core/Model/Config/Section/Reader/Store.php
index c8cb7551283..23091df8940 100644
--- a/app/code/Magento/Core/Model/Config/Section/Reader/Store.php
+++ b/app/code/Magento/Core/Model/Config/Section/Reader/Store.php
@@ -51,7 +51,7 @@ class Store
     protected $_storeFactory;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -61,7 +61,7 @@ class Store
      * @param \Magento\Core\Model\Config\Section\Store\Converter $converter
      * @param \Magento\Core\Model\Resource\Config\Value\Collection\ScopedFactory $collectionFactory
      * @param \Magento\Core\Model\StoreFactory $storeFactory
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      */
     public function __construct(
         \Magento\Core\Model\Config\Initial $initialConfig,
@@ -69,7 +69,7 @@ class Store
         \Magento\Core\Model\Config\Section\Store\Converter $converter,
         \Magento\Core\Model\Resource\Config\Value\Collection\ScopedFactory $collectionFactory,
         \Magento\Core\Model\StoreFactory $storeFactory,
-        \Magento\Core\Model\App\State $appState
+        \Magento\App\State $appState
     ) {
         $this->_initialConfig = $initialConfig;
         $this->_sectionPool = $sectionPool;
diff --git a/app/code/Magento/Core/Model/Config/Section/Reader/Website.php b/app/code/Magento/Core/Model/Config/Section/Reader/Website.php
index 3680d3387d0..e7553c068dc 100644
--- a/app/code/Magento/Core/Model/Config/Section/Reader/Website.php
+++ b/app/code/Magento/Core/Model/Config/Section/Reader/Website.php
@@ -51,7 +51,7 @@ class Website
     protected $_websiteFactory;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -61,7 +61,7 @@ class Website
      * @param \Magento\Core\Model\Config\Section\Converter $converter
      * @param \Magento\Core\Model\Resource\Config\Value\Collection\ScopedFactory $collectionFactory
      * @param \Magento\Core\Model\WebsiteFactory $websiteFactory
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      */
     public function __construct(
         \Magento\Core\Model\Config\Initial $initialConfig,
@@ -69,7 +69,7 @@ class Website
         \Magento\Core\Model\Config\Section\Converter $converter,
         \Magento\Core\Model\Resource\Config\Value\Collection\ScopedFactory $collectionFactory,
         \Magento\Core\Model\WebsiteFactory $websiteFactory,
-        \Magento\Core\Model\App\State $appState
+        \Magento\App\State $appState
     ) {
         $this->_initialConfig = $initialConfig;
         $this->_sectionPool = $sectionPool;
diff --git a/app/code/Magento/Core/Model/Config/ValidationState.php b/app/code/Magento/Core/Model/Config/ValidationState.php
index 520082edca0..ecd1e612ef0 100644
--- a/app/code/Magento/Core/Model/Config/ValidationState.php
+++ b/app/code/Magento/Core/Model/Config/ValidationState.php
@@ -47,6 +47,6 @@ class ValidationState implements \Magento\Config\ValidationStateInterface
      */
     public function isValidated()
     {
-        return $this->_appMode == \Magento\Core\Model\App\State::MODE_DEVELOPER;
+        return $this->_appMode == \Magento\App\State::MODE_DEVELOPER;
     }
 }
diff --git a/app/code/Magento/Core/Model/Context.php b/app/code/Magento/Core/Model/Context.php
index 0e63672655d..7fd80fdfd48 100644
--- a/app/code/Magento/Core/Model/Context.php
+++ b/app/code/Magento/Core/Model/Context.php
@@ -28,7 +28,7 @@ namespace Magento\Core\Model;
 class Context implements \Magento\ObjectManager\ContextInterface
 {
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventDispatcher;
 
@@ -44,21 +44,21 @@ class Context implements \Magento\ObjectManager\ContextInterface
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventDispatcher
+     * @param \Magento\Event\ManagerInterface $eventDispatcher
      * @param \Magento\Core\Model\CacheInterface $cacheManager
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventDispatcher,
+        \Magento\Event\ManagerInterface $eventDispatcher,
         \Magento\Core\Model\CacheInterface $cacheManager,
-        \Magento\Core\Model\App\State $appState
+        \Magento\App\State $appState
     ) {
         $this->_eventDispatcher = $eventDispatcher;
         $this->_cacheManager = $cacheManager;
@@ -75,7 +75,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Event\Manager
+     * @return \Magento\Event\ManagerInterface
      */
     public function getEventDispatcher()
     {
@@ -91,7 +91,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\App\State
+     * @return \Magento\App\State
      */
     public function getAppState()
     {
diff --git a/app/code/Magento/Core/Model/Cookie.php b/app/code/Magento/Core/Model/Cookie.php
index 7ea96ff9662..b7a2ec5e4ea 100644
--- a/app/code/Magento/Core/Model/Cookie.php
+++ b/app/code/Magento/Core/Model/Cookie.php
@@ -56,12 +56,12 @@ class Cookie
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_httpRequest;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http
+     * @var \Magento\App\ResponseInterface
      */
     protected $_httpResponse;
 
@@ -73,19 +73,19 @@ class Cookie
     protected $_coreStoreConfig;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $httpRequest
-     * @param \Magento\Core\Controller\Response\Http $httpResponse
-     * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\ResponseInterface $response
+     * @param Store\Config $coreStoreConfig
+     * @param StoreManager $storeManager
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $httpRequest,
-        \Magento\Core\Controller\Response\Http $httpResponse,
+        \Magento\App\RequestInterface $request,
+        \Magento\App\ResponseInterface $response,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager
     ) {
-        $this->_httpRequest = $httpRequest;
-        $this->_httpResponse = $httpResponse;
+        $this->_httpRequest = $request;
+        $this->_httpResponse = $response;
         $this->_coreStoreConfig = $coreStoreConfig;
         $this->_storeManager = $storeManager;
     }
@@ -118,7 +118,7 @@ class Cookie
     /**
      * Retrieve Request object
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     protected function _getRequest()
     {
@@ -128,7 +128,7 @@ class Cookie
     /**
      * Retrieve Response object
      *
-     * @return \Magento\Core\Controller\Response\Http
+     * @return \Magento\App\ResponseInterface
      */
     protected function _getResponse()
     {
diff --git a/app/code/Magento/Core/Model/DataService/Path/Request.php b/app/code/Magento/Core/Model/DataService/Path/Request.php
index d24c2d6d135..80440e34fb4 100644
--- a/app/code/Magento/Core/Model/DataService/Path/Request.php
+++ b/app/code/Magento/Core/Model/DataService/Path/Request.php
@@ -1,9 +1,9 @@
 <?php
 /**
- * Wrapper around \Magento\Core\Controller\Request\Http for the Navigator class.
+ * Wrapper around \Magento\App\Request\Http for the Navigator class.
  *
- * HTTP Requests need to be exposed as data services for the front end (twig) to be able to access the
- * request data. This class acts as a wrapper around the \Magento\Core\Controller\Request\Http object so
+ * HTTP Requests need to be exposed as data services for the front end to be able to access the
+ * request data. This class acts as a wrapper around the \Magento\App\Request\Http object so
  * that the data can be searched for and extracted via the Navigator class.
  *
  * Magento
@@ -32,14 +32,14 @@ namespace Magento\Core\Model\DataService\Path;
 class Request implements \Magento\Core\Model\DataService\Path\NodeInterface
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      */
-    public function __construct(\Magento\Core\Controller\Request\Http $request)
+    public function __construct(\Magento\App\RequestInterface $request)
     {
         $this->_request = $request;
     }
diff --git a/app/code/Magento/Core/Model/Design.php b/app/code/Magento/Core/Model/Design.php
index 932a8b07617..3f6695993aa 100644
--- a/app/code/Magento/Core/Model/Design.php
+++ b/app/code/Magento/Core/Model/Design.php
@@ -136,10 +136,10 @@ class Design extends \Magento\Core\Model\AbstractModel
     /**
      * Apply design change from self data into specified design package instance
      *
-     * @param \Magento\Core\Model\View\DesignInterface $packageInto
+     * @param \Magento\View\DesignInterface $packageInto
      * @return \Magento\Core\Model\Design
      */
-    public function changeDesign(\Magento\Core\Model\View\DesignInterface $packageInto)
+    public function changeDesign(\Magento\View\DesignInterface $packageInto)
     {
         $design = $this->getDesign();
         if ($design) {
diff --git a/app/code/Magento/Core/Model/Design/Backend/Exceptions.php b/app/code/Magento/Core/Model/Design/Backend/Exceptions.php
index e8627feb257..b6b02d75145 100644
--- a/app/code/Magento/Core/Model/Design/Backend/Exceptions.php
+++ b/app/code/Magento/Core/Model/Design/Backend/Exceptions.php
@@ -31,12 +31,12 @@ class Exceptions extends \Magento\Backend\Model\Config\Backend\Serialized\ArrayS
     /**
      * Design package instance
      *
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design = null;
 
     /**
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\StoreManager $storeManager
@@ -46,7 +46,7 @@ class Exceptions extends \Magento\Backend\Model\Config\Backend\Serialized\ArrayS
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\StoreManager $storeManager,
diff --git a/app/code/Magento/Core/Model/Design/Backend/Theme.php b/app/code/Magento/Core/Model/Design/Backend/Theme.php
index f9ee0af063e..679e4a723c0 100644
--- a/app/code/Magento/Core/Model/Design/Backend/Theme.php
+++ b/app/code/Magento/Core/Model/Design/Backend/Theme.php
@@ -31,12 +31,12 @@ class Theme extends \Magento\Core\Model\Config\Value
     /**
      * Design package instance
      *
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design = null;
 
     /**
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\StoreManager $storeManager
@@ -46,7 +46,7 @@ class Theme extends \Magento\Core\Model\Config\Value
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\StoreManager $storeManager,
diff --git a/app/code/Magento/Core/Model/Design/Fallback/Factory.php b/app/code/Magento/Core/Model/Design/Fallback/Factory.php
index 900d9e37c19..684b41d6ddf 100644
--- a/app/code/Magento/Core/Model/Design/Fallback/Factory.php
+++ b/app/code/Magento/Core/Model/Design/Fallback/Factory.php
@@ -30,16 +30,16 @@ namespace Magento\Core\Model\Design\Fallback;
 class Factory
 {
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
     /**
      * Constructor
      *
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      */
-    public function __construct(\Magento\Core\Model\Dir $dirs)
+    public function __construct(\Magento\App\Dir $dirs)
     {
         $this->_dirs = $dirs;
     }
@@ -51,7 +51,7 @@ class Factory
      */
     public function createLocaleFileRule()
     {
-        $themesDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES);
+        $themesDir = $this->_dirs->getDir(\Magento\App\Dir::THEMES);
         return new \Magento\Core\Model\Design\Fallback\Rule\Theme(
             new \Magento\Core\Model\Design\Fallback\Rule\Simple("$themesDir/<area>/<theme_path>/i18n/<locale>")
         );
@@ -64,8 +64,8 @@ class Factory
      */
     public function createFileRule()
     {
-        $themesDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES);
-        $modulesDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::MODULES);
+        $themesDir = $this->_dirs->getDir(\Magento\App\Dir::THEMES);
+        $modulesDir = $this->_dirs->getDir(\Magento\App\Dir::MODULES);
         return new \Magento\Core\Model\Design\Fallback\Rule\ModularSwitch(
             new \Magento\Core\Model\Design\Fallback\Rule\Theme(
                 new \Magento\Core\Model\Design\Fallback\Rule\Simple(
@@ -92,9 +92,9 @@ class Factory
      */
     public function createViewFileRule()
     {
-        $themesDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES);
-        $modulesDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::MODULES);
-        $pubLibDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::PUB_LIB);
+        $themesDir = $this->_dirs->getDir(\Magento\App\Dir::THEMES);
+        $modulesDir = $this->_dirs->getDir(\Magento\App\Dir::MODULES);
+        $pubLibDir = $this->_dirs->getDir(\Magento\App\Dir::PUB_LIB);
         return new \Magento\Core\Model\Design\Fallback\Rule\ModularSwitch(
             new \Magento\Core\Model\Design\Fallback\Rule\Composite(array(
                 new \Magento\Core\Model\Design\Fallback\Rule\Theme(
diff --git a/app/code/Magento/Core/Model/Design/Fallback/Rule/Theme.php b/app/code/Magento/Core/Model/Design/Fallback/Rule/Theme.php
index a64797d435b..f6ee233caee 100644
--- a/app/code/Magento/Core/Model/Design/Fallback/Rule/Theme.php
+++ b/app/code/Magento/Core/Model/Design/Fallback/Rule/Theme.php
@@ -52,13 +52,13 @@ class Theme implements \Magento\Core\Model\Design\Fallback\Rule\RuleInterface
      */
     public function getPatternDirs(array $params)
     {
-        if (!array_key_exists('theme', $params) || !($params['theme'] instanceof \Magento\Core\Model\ThemeInterface)) {
+        if (!array_key_exists('theme', $params) || !($params['theme'] instanceof \Magento\View\Design\ThemeInterface)) {
             throw new \InvalidArgumentException(
                 'Parameter "theme" should be specified and should implement the theme interface.'
             );
         }
         $result = array();
-        /** @var $theme \Magento\Core\Model\ThemeInterface */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = $params['theme'];
         unset($params['theme']);
         while ($theme) {
diff --git a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback.php b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback.php
index 0d6342fed0e..e9eff08dfb5 100644
--- a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback.php
+++ b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback.php
@@ -72,12 +72,12 @@ class Fallback
      * Get existing file name, using fallback mechanism
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $file
      * @param string|null $module
      * @return string
      */
-    public function getFile($area, \Magento\Core\Model\Theme $themeModel, $file, $module = null)
+    public function getFile($area, \Magento\View\Design\ThemeInterface $themeModel, $file, $module = null)
     {
         $params = array('area' => $area, 'theme' => $themeModel, 'namespace' => null, 'module' => null);
         if ($module) {
@@ -90,12 +90,12 @@ class Fallback
      * Get locale file name, using fallback mechanism
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string $file
      * @return string
      */
-    public function getLocaleFile($area, \Magento\Core\Model\Theme $themeModel, $locale, $file)
+    public function getLocaleFile($area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $file)
     {
         $params = array('area' => $area, 'theme' => $themeModel, 'locale' => $locale);
         return $this->_resolveFile($this->_getLocaleFileRule(), $file, $params);
@@ -105,13 +105,13 @@ class Fallback
      * Get theme file name, using fallback mechanism
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string $file
      * @param string|null $module
      * @return string
      */
-    public function getViewFile($area, \Magento\Core\Model\Theme $themeModel, $locale, $file, $module = null)
+    public function getViewFile($area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $file, $module = null)
     {
         $params = array(
             'area' => $area, 'theme' => $themeModel, 'locale' => $locale, 'namespace' => null, 'module' => null
diff --git a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback/CachingProxy.php b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback/CachingProxy.php
index dc14008ca66..f46081438d6 100644
--- a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback/CachingProxy.php
+++ b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback/CachingProxy.php
@@ -125,12 +125,12 @@ class CachingProxy implements
      * Proxy to \Magento\Core\Model\Design\FileResolution\Strategy\Fallback::getFile()
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $file
      * @param string|null $module
      * @return string
      */
-    public function getFile($area, \Magento\Core\Model\Theme $themeModel, $file, $module = null)
+    public function getFile($area, \Magento\View\Design\ThemeInterface $themeModel, $file, $module = null)
     {
         $result = $this->_getFromMap('file', $area, $themeModel, null, $module, $file);
         if (!$result) {
@@ -144,12 +144,12 @@ class CachingProxy implements
      * Proxy to \Magento\Core\Model\Design\FileResolution\Strategy\Fallback::getLocaleFile()
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string $file
      * @return string
      */
-    public function getLocaleFile($area, \Magento\Core\Model\Theme $themeModel, $locale, $file)
+    public function getLocaleFile($area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $file)
     {
         $result = $this->_getFromMap('locale', $area, $themeModel, $locale, null, $file);
         if (!$result) {
@@ -163,13 +163,13 @@ class CachingProxy implements
      * Proxy to \Magento\Core\Model\Design\FileResolution\Strategy\Fallback::getViewFile()
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string $file
      * @param string|null $module
      * @return string
      */
-    public function getViewFile($area, \Magento\Core\Model\Theme $themeModel, $locale, $file, $module = null)
+    public function getViewFile($area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $file, $module = null)
     {
         $result = $this->_getFromMap('view', $area, $themeModel, $locale, $module, $file);
         if (!$result) {
@@ -184,14 +184,15 @@ class CachingProxy implements
      *
      * @param string $fileType
      * @param string $area
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param string|null $locale
      * @param string|null $module
      * @param string $file
      * @return null|string
      */
-    protected function _getFromMap($fileType, $area, \Magento\Core\Model\Theme $theme, $locale, $module, $file)
-    {
+    protected function _getFromMap(
+        $fileType, $area, \Magento\View\Design\ThemeInterface $theme, $locale, $module, $file
+    ) {
         $sectionKey = $this->_loadSection($area, $theme, $locale);
         $fileKey = "$fileType|$file|$module";
         if (isset($this->_sections[$sectionKey]['data'][$fileKey])) {
@@ -209,15 +210,16 @@ class CachingProxy implements
      *
      * @param string $fileType
      * @param string $area
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param string|null $locale
      * @param string|null $module
      * @param string $file
      * @param string $filePath
      * @throws \Magento\Exception
      */
-    protected function _setToMap($fileType, $area, \Magento\Core\Model\Theme $theme, $locale, $module, $file, $filePath)
-    {
+    protected function _setToMap(
+        $fileType, $area, \Magento\View\Design\ThemeInterface $theme, $locale, $module, $file, $filePath
+    ) {
         $pattern = $this->_baseDir . DIRECTORY_SEPARATOR;
         if (0 !== strpos($filePath, $pattern)) {
             throw new \Magento\Exception(
@@ -236,11 +238,11 @@ class CachingProxy implements
      * Compose section file name
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string|null $locale
      * @return string
      */
-    protected function _getSectionFile($area, \Magento\Core\Model\Theme $themeModel, $locale)
+    protected function _getSectionFile($area, \Magento\View\Design\ThemeInterface $themeModel, $locale)
     {
         $theme = $themeModel->getId() ?: md5($themeModel->getThemePath());
         return "{$area}_{$theme}_{$locale}.ser";
@@ -250,11 +252,11 @@ class CachingProxy implements
      * Load section and return its key
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string|null $locale
      * @return string
      */
-    protected function _loadSection($area, \Magento\Core\Model\Theme $themeModel, $locale)
+    protected function _loadSection($area, \Magento\View\Design\ThemeInterface $themeModel, $locale)
     {
         $sectionFile = $this->_getSectionFile($area, $themeModel, $locale);
         if (!isset($this->_sections[$sectionFile])) {
@@ -274,15 +276,15 @@ class CachingProxy implements
      * Set file path to map.
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string|null $module
      * @param string $file
      * @param string $newFilePath
      * @return \Magento\Core\Model\Design\FileResolution\Strategy\Fallback\CachingProxy
      */
-    public function setViewFilePathToMap($area, \Magento\Core\Model\Theme $themeModel, $locale, $module, $file,
-        $newFilePath
+    public function setViewFilePathToMap(
+        $area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $module, $file, $newFilePath
     ) {
         $this->_setToMap('view', $area, $themeModel, $locale, $module, $file, $newFilePath);
         return $this;
diff --git a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/FileInterface.php b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/FileInterface.php
index 51df254a1bc..d78cc517678 100644
--- a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/FileInterface.php
+++ b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/FileInterface.php
@@ -35,10 +35,10 @@ interface FileInterface
      * Get a usual file path (e.g. template)
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $file
      * @param string|null $module
      * @return string
      */
-    public function getFile($area, \Magento\Core\Model\Theme $themeModel, $file, $module = null);
+    public function getFile($area, \Magento\View\Design\ThemeInterface $themeModel, $file, $module = null);
 }
diff --git a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/LocaleInterface.php b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/LocaleInterface.php
index ec05f67229c..37e5e437682 100644
--- a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/LocaleInterface.php
+++ b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/LocaleInterface.php
@@ -35,10 +35,10 @@ interface LocaleInterface
      * Get locale file name (e.g. file with translations)
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string $file
      * @return string
      */
-    public function getLocaleFile($area, \Magento\Core\Model\Theme $themeModel, $locale, $file);
+    public function getLocaleFile($area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $file);
 }
diff --git a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/View/NotifiableInterface.php b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/View/NotifiableInterface.php
index 041ae1fbbe3..b0905dacd28 100644
--- a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/View/NotifiableInterface.php
+++ b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/View/NotifiableInterface.php
@@ -36,14 +36,14 @@ interface NotifiableInterface
      * new location.
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string|null $module
      * @param string $file
      * @param string $newFilePath
      * @return \Magento\Core\Model\Design\FileResolution\Strategy\Fallback\CachingProxy
      */
-    public function setViewFilePathToMap($area, \Magento\Core\Model\Theme $themeModel, $locale, $module, $file,
-        $newFilePath
+    public function setViewFilePathToMap(
+        $area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $module, $file, $newFilePath
     );
 }
diff --git a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/ViewInterface.php b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/ViewInterface.php
index 7b51fe58fb5..5717bd25e6a 100644
--- a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/ViewInterface.php
+++ b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/ViewInterface.php
@@ -35,11 +35,11 @@ interface ViewInterface
      * Get theme file name (e.g. a javascript file)
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string $file
      * @param string|null $module
      * @return string
      */
-    public function getViewFile($area, \Magento\Core\Model\Theme $themeModel, $locale, $file, $module = null);
+    public function getViewFile($area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $file, $module = null);
 }
diff --git a/app/code/Magento/Core/Model/Design/FileResolution/StrategyPool.php b/app/code/Magento/Core/Model/Design/FileResolution/StrategyPool.php
index cd9fae0be21..0f18e0351ef 100644
--- a/app/code/Magento/Core/Model/Design/FileResolution/StrategyPool.php
+++ b/app/code/Magento/Core/Model/Design/FileResolution/StrategyPool.php
@@ -52,7 +52,7 @@ class StrategyPool
     protected $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -88,14 +88,14 @@ class StrategyPool
 
     /**
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\State $appState
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Filesystem $filesystem
      */
     public function __construct(
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\State $appState,
+        \Magento\App\Dir $dirs,
         \Magento\Filesystem $filesystem
     ) {
         $this->_objectManager = $objectManager;
@@ -164,11 +164,11 @@ class StrategyPool
     protected function _getStrategyClass($fileType, $skipProxy = false)
     {
         $mode = $this->_appState->getMode();
-        if ($mode == \Magento\Core\Model\App\State::MODE_PRODUCTION) {
+        if ($mode == \Magento\App\State::MODE_PRODUCTION) {
             $strategyClasses = $this->_strategies['production_mode'];
-        } else if (($mode == \Magento\Core\Model\App\State::MODE_DEVELOPER) || $skipProxy) {
+        } else if (($mode == \Magento\App\State::MODE_DEVELOPER) || $skipProxy) {
             $strategyClasses = $this->_strategies['full_check'];
-        } else if ($mode == \Magento\Core\Model\App\State::MODE_DEFAULT) {
+        } else if ($mode == \Magento\App\State::MODE_DEFAULT) {
             $strategyClasses = $this->_strategies['caching_map'];
         } else {
             throw new \Magento\Core\Exception("Unknown mode to choose strategy: {$mode}");
@@ -186,11 +186,11 @@ class StrategyPool
     {
         switch ($className) {
             case 'Magento\Core\Model\Design\FileResolution\Strategy\Fallback\CachingProxy':
-                $mapDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DIRECTORY_SEPARATOR
+                $mapDir = $this->_dirs->getDir(\Magento\App\Dir::VAR_DIR) . DIRECTORY_SEPARATOR
                     . self::FALLBACK_MAP_DIR;
                 $arguments = array(
                     'mapDir' => str_replace('/', DIRECTORY_SEPARATOR, $mapDir),
-                    'baseDir' => $this->_dirs->getDir(\Magento\Core\Model\Dir::ROOT),
+                    'baseDir' => $this->_dirs->getDir(\Magento\App\Dir::ROOT),
                 );
                 break;
             default:
diff --git a/app/code/Magento/Core/Model/Email.php b/app/code/Magento/Core/Model/Email.php
index 90e49948183..bbad0794757 100644
--- a/app/code/Magento/Core/Model/Email.php
+++ b/app/code/Magento/Core/Model/Email.php
@@ -53,18 +53,18 @@ class Email extends \Magento\Object
     /**
      * Layout factory
      *
-     * @var \Magento\Core\Model\LayoutFactory
+     * @var \Magento\View\LayoutFactory
      */
     protected $_layoutFactory;
 
     /**
-     * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\LayoutFactory $layoutFactory
+     * @param Store\Config $coreStoreConfig
+     * @param \Magento\View\LayoutFactory $layoutFactory
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\LayoutFactory $layoutFactory,
+        \Magento\View\LayoutFactory $layoutFactory,
         array $data = array()
     ) {
         $this->_layoutFactory = $layoutFactory;
diff --git a/app/code/Magento/Core/Model/Email/Template.php b/app/code/Magento/Core/Model/Email/Template.php
index 787471494f1..183450178ab 100644
--- a/app/code/Magento/Core/Model/Email/Template.php
+++ b/app/code/Magento/Core/Model/Email/Template.php
@@ -132,7 +132,7 @@ class Template extends \Magento\Core\Model\Template
     protected $_emailFilterFactory;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -143,12 +143,12 @@ class Template extends \Magento\Core\Model\Template
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Core\Model\View\FileSystem $viewFileSystem
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\ConfigInterface $coreConfig
      * @param \Magento\Core\Model\Email\Template\FilterFactory $emailFilterFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Email\Template\Config $emailConfig
      * @param array $data
      *
@@ -161,12 +161,12 @@ class Template extends \Magento\Core\Model\Template
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Core\Model\View\FileSystem $viewFileSystem,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\ConfigInterface $coreConfig,
         \Magento\Core\Model\Email\Template\FilterFactory $emailFilterFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Email\Template\Config $emailConfig,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Core/Model/Email/Template/Config/Reader.php b/app/code/Magento/Core/Model/Email/Template/Config/Reader.php
index 6bd96655e1c..0fd11cdb394 100644
--- a/app/code/Magento/Core/Model/Email/Template/Config/Reader.php
+++ b/app/code/Magento/Core/Model/Email/Template/Config/Reader.php
@@ -28,7 +28,7 @@ namespace Magento\Core\Model\Email\Template\Config;
 class Reader extends \Magento\Config\Reader\Filesystem
 {
     /**
-     * @var \Magento\Core\Model\Module\Dir\ReverseResolver
+     * @var \Magento\App\Module\Dir\ReverseResolver
      */
     private $_moduleDirResolver;
 
@@ -37,14 +37,14 @@ class Reader extends \Magento\Config\Reader\Filesystem
      * @param \Magento\Core\Model\Email\Template\Config\Converter $converter
      * @param \Magento\Core\Model\Email\Template\Config\SchemaLocator $schemaLocator
      * @param \Magento\Config\ValidationStateInterface $validationState
-     * @param \Magento\Core\Model\Module\Dir\ReverseResolver $moduleDirResolver
+     * @param \Magento\App\Module\Dir\ReverseResolver $moduleDirResolver
      */
     public function __construct(
         \Magento\Config\FileResolverInterface $fileResolver,
         \Magento\Core\Model\Email\Template\Config\Converter $converter,
         \Magento\Core\Model\Email\Template\Config\SchemaLocator $schemaLocator,
         \Magento\Config\ValidationStateInterface $validationState,
-        \Magento\Core\Model\Module\Dir\ReverseResolver $moduleDirResolver
+        \Magento\App\Module\Dir\ReverseResolver $moduleDirResolver
     ) {
         $fileName = 'email_templates.xml';
         $idAttributes = array(
diff --git a/app/code/Magento/Core/Model/Email/Template/Filter.php b/app/code/Magento/Core/Model/Email/Template/Filter.php
index 048e80c3563..51baf6ce468 100644
--- a/app/code/Magento/Core/Model/Email/Template/Filter.php
+++ b/app/code/Magento/Core/Model/Email/Template/Filter.php
@@ -92,12 +92,12 @@ class Filter extends \Magento\Filter\Template
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @var \Magento\Core\Model\LayoutFactory
+     * @var \Magento\View\LayoutFactory
      */
     protected $_layoutFactory;
 
@@ -115,8 +115,8 @@ class Filter extends \Magento\Filter\Template
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\VariableFactory $coreVariableFactory
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\LayoutFactory $layoutFactory
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\View\LayoutFactory $layoutFactory
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
@@ -125,8 +125,8 @@ class Filter extends \Magento\Filter\Template
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\VariableFactory $coreVariableFactory,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\LayoutFactory $layoutFactory
+        \Magento\View\LayoutInterface $layout,
+        \Magento\View\LayoutFactory $layoutFactory
     ) {
         $this->_coreData = $coreData;
         $this->_viewUrl = $viewUrl;
@@ -269,7 +269,7 @@ class Filter extends \Magento\Filter\Template
         if (isset($params['area'])) {
             $layoutParams['area'] = $params['area'];
         }
-        /** @var $layout \Magento\Core\Model\Layout */
+        /** @var $layout \Magento\View\LayoutInterface */
         $layout = $this->_layoutFactory->create($layoutParams);
         $layout->getUpdate()->addHandle($params['handle'])
             ->load();
@@ -298,7 +298,6 @@ class Filter extends \Magento\Filter\Template
             $layout->addOutputElement($rootBlock->getNameInLayout());
         }
 
-        $layout->setDirectOutput(false);
         $result = $layout->getOutput();
         $layout->__destruct(); // To overcome bug with SimpleXML memory leak (https://bugs.php.net/bug.php?id=62468)
         return $result;
diff --git a/app/code/Magento/Core/Model/EntryPoint/Cron.php b/app/code/Magento/Core/Model/EntryPoint/Cron.php
index f8289d8e8dd..99faf24e5b2 100644
--- a/app/code/Magento/Core/Model/EntryPoint/Cron.php
+++ b/app/code/Magento/Core/Model/EntryPoint/Cron.php
@@ -35,10 +35,10 @@ class Cron extends \Magento\Core\Model\AbstractEntryPoint
         $app->setUseSessionInUrl(false);
         $app->requireInstalledInstance();
 
-        /** @var $eventManager \Magento\Core\Model\Event\Manager */
-        $eventManager = $this->_objectManager->get('Magento\Core\Model\Event\Manager');
-        /** @var \Magento\Core\Model\Config\Scope $configScope */
-        $configScope = $this->_objectManager->get('Magento\Core\Model\Config\Scope');
+        /** @var $eventManager \Magento\Event\ManagerInterface */
+        $eventManager = $this->_objectManager->get('Magento\Event\ManagerInterface');
+        /** @var \Magento\Config\Scope $configScope */
+        $configScope = $this->_objectManager->get('Magento\Config\ScopeInterface');
         $configScope->setCurrentScope('crontab');
         $eventManager->dispatch('default');
     }
diff --git a/app/code/Magento/Core/Model/EntryPoint/Http.php b/app/code/Magento/Core/Model/EntryPoint/Http.php
index f7f626e22db..054c14c2dba 100644
--- a/app/code/Magento/Core/Model/EntryPoint/Http.php
+++ b/app/code/Magento/Core/Model/EntryPoint/Http.php
@@ -39,8 +39,8 @@ class Http extends \Magento\Core\Model\AbstractEntryPoint
                 'Location: ' . $this->_objectManager->get('Magento\Core\Model\StoreManager')->getStore()->getBaseUrl()
             );
         } catch (\Magento\Core\Model\Store\Exception $e) {
-            require $this->_objectManager->get('Magento\Core\Model\Dir')
-                    ->getDir(\Magento\Core\Model\Dir::PUB) . DS . 'errors' . DS . '404.php';
+            require $this->_objectManager->get('Magento\App\Dir')
+                    ->getDir(\Magento\App\Dir::PUB) . DS . 'errors' . DS . '404.php';
         } catch (\Magento\BootstrapException $e) {
             header('Content-Type: text/plain', true, 503);
             echo $e->getMessage();
@@ -54,9 +54,14 @@ class Http extends \Magento\Core\Model\AbstractEntryPoint
      */
     protected function _processRequest()
     {
-        $request = $this->_objectManager->get('Magento\Core\Controller\Request\Http');
-        $response = $this->_objectManager->get('Magento\Core\Controller\Response\Http');
-        $handler = $this->_objectManager->get('Magento\HTTP\Handler\Composite');
-        $handler->handle($request, $response);
+        $request = $this->_objectManager->get('Magento\App\RequestInterface');
+        $areas = $this->_objectManager->get('Magento\App\AreaList');
+        $areaCode = $areas->getCodeByFrontName($request->getFrontName());
+        $this->_objectManager->get('Magento\Config\Scope')->setCurrentScope($areaCode);
+        $this->_objectManager->configure(
+            $this->_objectManager->get('Magento\Core\Model\ObjectManager\ConfigLoader')->load($areaCode)
+        );
+        $frontController = $this->_objectManager->get('Magento\App\FrontControllerInterface');
+        $frontController->dispatch($request);
     }
 }
diff --git a/app/code/Magento/Core/Model/EntryPoint/Media.php b/app/code/Magento/Core/Model/EntryPoint/Media.php
index c74eb84749c..740b4cce7e2 100644
--- a/app/code/Magento/Core/Model/EntryPoint/Media.php
+++ b/app/code/Magento/Core/Model/EntryPoint/Media.php
@@ -110,7 +110,7 @@ class Media extends \Magento\Core\Model\AbstractEntryPoint
     protected function _processRequest()
     {
         try {
-            $appState = $this->_objectManager->get('Magento\Core\Model\App\State');
+            $appState = $this->_objectManager->get('Magento\App\State');
             if (!$appState->isInstalled()) {
                 $this->_response->sendNotFound();
                 return;
diff --git a/app/code/Magento/Core/Model/Event/Config/SchemaLocator.php b/app/code/Magento/Core/Model/Event/Config/SchemaLocator.php
deleted file mode 100644
index 957e11ad964..00000000000
--- a/app/code/Magento/Core/Model/Event/Config/SchemaLocator.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-/**
- * Event observers configuration schema locator
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\Event\Config;
-
-class SchemaLocator implements \Magento\Config\SchemaLocatorInterface
-{
-    /**
-     * Path to corresponding XSD file with validation rules for merged config
-     *
-     * @var string
-     */
-    protected $_schema = null;
-
-    /**
-     * Path to corresponding XSD file with validation rules for separate config files
-     *
-     * @var string
-     */
-    protected $_perFileSchema = null;
-
-    /**
-     * @param \Magento\Core\Model\Config\Modules\Reader $moduleReader
-     */
-    public function __construct(\Magento\Core\Model\Config\Modules\Reader $moduleReader)
-    {
-        $this->_schema = $moduleReader->getModuleDir('etc', 'Magento_Core') . DIRECTORY_SEPARATOR . 'events.xsd';
-    }
-
-    /**
-     * Get path to merged config schema
-     *
-     * @return string|null
-     */
-    public function getSchema()
-    {
-        return $this->_schema;
-    }
-
-    /**
-     * Get path to pre file validation schema
-     *
-     * @return string|null
-     */
-    public function getPerFileSchema()
-    {
-        return $this->_perFileSchema;
-    }
-}
diff --git a/app/code/Magento/Core/Model/File/Storage.php b/app/code/Magento/Core/Model/File/Storage.php
index e8d8fb4dd55..f9e3c77f5f9 100644
--- a/app/code/Magento/Core/Model/File/Storage.php
+++ b/app/code/Magento/Core/Model/File/Storage.php
@@ -97,7 +97,7 @@ class Storage extends \Magento\Core\Model\AbstractModel
     protected $_databaseFactory;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -110,7 +110,7 @@ class Storage extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Core\Model\File\Storage\Flag $fileFlag
      * @param \Magento\Core\Model\File\Storage\FileFactory $fileFactory
      * @param \Magento\Core\Model\File\Storage\DatabaseFactory $databaseFactory
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -124,7 +124,7 @@ class Storage extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\File\Storage\Flag $fileFlag,
         \Magento\Core\Model\File\Storage\FileFactory $fileFactory,
         \Magento\Core\Model\File\Storage\DatabaseFactory $databaseFactory,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
diff --git a/app/code/Magento/Core/Model/Layout.php b/app/code/Magento/Core/Model/Layout.php
index 392352d6a01..559ae3853da 100644
--- a/app/code/Magento/Core/Model/Layout.php
+++ b/app/code/Magento/Core/Model/Layout.php
@@ -41,7 +41,7 @@ namespace Magento\Core\Model;
  * @SuppressWarnings(PHPMD.TooManyMethods)
  * @SuppressWarnings(PHPMD.ExcessiveParameterList)
  */
-class Layout extends \Magento\Simplexml\Config
+class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutInterface
 {
     /**#@+
      * Supported layout directives
@@ -97,14 +97,14 @@ class Layout extends \Magento\Simplexml\Config
     const SCHEDULED_STRUCTURE_INDEX_LAYOUT_ELEMENT = 5;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
     /**
      * Layout Update module
      *
-     * @var \Magento\Core\Model\Layout\Merge
+     * @var \Magento\View\Layout\ProcessorInterface
      */
     protected $_update;
 
@@ -141,13 +141,6 @@ class Layout extends \Magento\Simplexml\Config
      */
     protected $_helpers = array();
 
-    /**
-     * Flag to have blocks' output go directly to browser as oppose to return result
-     *
-     * @var boolean
-     */
-    protected $_directOutput = false;
-
     /**
      * A variable for transporting output into observer during rendering
      *
@@ -217,7 +210,7 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -234,9 +227,9 @@ class Layout extends \Magento\Simplexml\Config
     protected $_logger;
 
     /**
-     * @var \Magento\Core\Model\Layout\MergeFactory
+     * @var \Magento\View\Layout\ProcessorFactory
      */
-    protected $_mergeFactory;
+    protected $_processorFactory;
 
     /**
      * @var \Magento\Core\Model\Resource\Theme\CollectionFactory
@@ -244,36 +237,36 @@ class Layout extends \Magento\Simplexml\Config
     protected $_themeFactory;
 
     /**
-     * @param \Magento\Core\Model\Layout\MergeFactory $mergeFactory
-     * @param \Magento\Core\Model\Resource\Theme\CollectionFactory $themeFactory
-     * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\Factory\Helper $factoryHelper
+     * @param \Magento\View\Layout\ProcessorFactory $processorFactory
+     * @param Resource\Theme\CollectionFactory $themeFactory
+     * @param Logger $logger
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param Factory\Helper $factoryHelper
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Model\View\DesignInterface $design
-     * @param \Magento\Core\Model\BlockFactory $blockFactory
+     * @param \Magento\View\DesignInterface $design
+     * @param BlockFactory $blockFactory
      * @param \Magento\Data\Structure $structure
-     * @param \Magento\Core\Model\Layout\Argument\Processor $argumentProcessor
-     * @param \Magento\Core\Model\Layout\ScheduledStructure $scheduledStructure
-     * @param \Magento\Core\Model\DataService\Graph $dataServiceGraph
-     * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param $area
+     * @param Layout\Argument\Processor $argumentProcessor
+     * @param Layout\ScheduledStructure $scheduledStructure
+     * @param DataService\Graph $dataServiceGraph
+     * @param Store\Config $coreStoreConfig
+     * @param string $area
      */
     public function __construct(
-        \Magento\Core\Model\Layout\MergeFactory $mergeFactory,
+        \Magento\View\Layout\ProcessorFactory $processorFactory,
         \Magento\Core\Model\Resource\Theme\CollectionFactory $themeFactory,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Factory\Helper $factoryHelper,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\BlockFactory $blockFactory,
         \Magento\Data\Structure $structure,
         \Magento\Core\Model\Layout\Argument\Processor $argumentProcessor,
         \Magento\Core\Model\Layout\ScheduledStructure $scheduledStructure,
         \Magento\Core\Model\DataService\Graph $dataServiceGraph,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        $area = \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA
+        $area = \Magento\View\DesignInterface::DEFAULT_AREA
     ) {
         $this->_eventManager = $eventManager;
         $this->_factoryHelper = $factoryHelper;
@@ -284,12 +277,12 @@ class Layout extends \Magento\Simplexml\Config
         $this->_area = $area;
         $this->_structure = $structure;
         $this->_argumentProcessor = $argumentProcessor;
-        $this->_elementClass = 'Magento\Core\Model\Layout\Element';
+        $this->_elementClass = 'Magento\View\Layout\Element';
         $this->setXml(simplexml_load_string('<layout/>', $this->_elementClass));
         $this->_renderingOutput = new \Magento\Object;
         $this->_scheduledStructure = $scheduledStructure;
         $this->_dataServiceGraph = $dataServiceGraph;
-        $this->_mergeFactory = $mergeFactory;
+        $this->_processorFactory = $processorFactory;
         $this->_themeFactory = $themeFactory;
         $this->_logger = $logger;
     }
@@ -313,13 +306,13 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Retrieve the layout update instance
      *
-     * @return \Magento\Core\Model\Layout\Merge
+     * @return \Magento\View\Layout\ProcessorInterface
      */
     public function getUpdate()
     {
         if (!$this->_update) {
             $theme = $this->_getThemeInstance($this->getArea());
-            $this->_update = $this->_mergeFactory->create(array('theme' => $theme));
+            $this->_update = $this->_processorFactory->create(array('theme' => $theme));
         }
         return $this->_update;
     }
@@ -367,28 +360,6 @@ class Layout extends \Magento\Simplexml\Config
         $this->_area = $areaCode;
     }
 
-    /**
-     * Declaring layout direct output flag
-     *
-     * @param   bool $flag
-     * @return  \Magento\Core\Model\Layout
-     */
-    public function setDirectOutput($flag)
-    {
-        $this->_directOutput = $flag;
-        return $this;
-    }
-
-    /**
-     * Retrieve direct output flag
-     *
-     * @return bool
-     */
-    public function isDirectOutput()
-    {
-        return $this->_directOutput;
-    }
-
     /**
      * Layout xml generation
      *
@@ -496,13 +467,13 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Traverse through all elements of specified XML-node and schedule structural elements of it
      *
-     * @param \Magento\Core\Model\Layout\Element $parent
+     * @param \Magento\View\Layout\Element $parent
      * @SuppressWarnings(PHPMD.CyclomaticComplexity)
      */
     protected function _readStructure($parent)
     {
         foreach ($parent as $node) {
-            /** @var $node \Magento\Core\Model\Layout\Element */
+            /** @var $node \Magento\View\Layout\Element */
             switch ($node->getName()) {
                 case self::TYPE_CONTAINER:
                     $this->_scheduleStructure($node, $parent);
@@ -558,7 +529,7 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Grab information about data service from the node
      *
-     * @param \Magento\Core\Model\Layout\Element $node
+     * @param \Magento\View\Layout\Element $node
      * @return \Magento\Core\Model\Layout
      */
     protected function _initServiceCalls($node)
@@ -584,9 +555,9 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Merge Container attributes
      *
-     * @param \Magento\Core\Model\Layout\Element $node
+     * @param \Magento\View\Layout\Element $node
      */
-    protected function _mergeContainerAttributes(\Magento\Core\Model\Layout\Element $node)
+    protected function _mergeContainerAttributes(\Magento\View\Layout\Element $node)
     {
         $containerName = $node->getAttribute('name');
         $element = $this->_scheduledStructure->getStructureElement($containerName, array());
@@ -628,14 +599,14 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Parse argument nodes and create prepared array of items
      *
-     * @param \Magento\Core\Model\Layout\Element $node
+     * @param \Magento\View\Layout\Element $node
      * @return array
      */
-    protected function _parseArguments(\Magento\Core\Model\Layout\Element $node)
+    protected function _parseArguments(\Magento\View\Layout\Element $node)
     {
         $arguments = array();
         foreach ($node->xpath('argument') as $argument) {
-            /** @var $argument \Magento\Core\Model\Layout\Element */
+            /** @var $argument \Magento\View\Layout\Element */
             $argumentName = (string)$argument['name'];
             $arguments[$argumentName] = $this->_argumentProcessor->parse($argument);
         }
@@ -660,7 +631,7 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Schedule structural changes for move directive
      *
-     * @param \Magento\Core\Model\Layout\Element $node
+     * @param \Magento\View\Layout\Element $node
      * @throws \Magento\Exception
      * @return \Magento\Core\Model\Layout
      */
@@ -684,8 +655,8 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Populate queue for generating structural elements
      *
-     * @param \Magento\Core\Model\Layout\Element $node
-     * @param \Magento\Core\Model\Layout\Element $parent
+     * @param \Magento\View\Layout\Element $node
+     * @param \Magento\View\Layout\Element $parent
      * @see _scheduleElement() where the _scheduledStructure is used
      */
     protected function _scheduleStructure($node, $parent)
@@ -740,7 +711,7 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Analyze "before" and "after" information in the node and return sibling name and whether "after" or "before"
      *
-     * @param \Magento\Core\Model\Layout\Element $node
+     * @param \Magento\View\Layout\Element $node
      * @return array
      */
     protected function _beforeAfterToSibling($node)
@@ -971,8 +942,8 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Run action defined in layout update
      *
-     * @param \Magento\Core\Model\Layout\Element $node
-     * @param \Magento\Core\Model\Layout\Element $parent
+     * @param \Magento\View\Layout\Element $node
+     * @param \Magento\View\Layout\Element $parent
      */
     protected function _generateAction($node, $parent)
     {
diff --git a/app/code/Magento/Core/Model/Layout/Argument/AbstractHandler.php b/app/code/Magento/Core/Model/Layout/Argument/AbstractHandler.php
index 1bd628e3de5..4c404907103 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/AbstractHandler.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/AbstractHandler.php
@@ -44,10 +44,10 @@ abstract class AbstractHandler
     /**
      * Retrieve value from argument
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return mixed|null
      */
-    protected function _getArgumentValue(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentValue(\Magento\View\Layout\Element $argument)
     {
         if ($this->_isUpdater($argument)) {
             return null;
@@ -63,10 +63,10 @@ abstract class AbstractHandler
     /**
      * Check whether updater used and value not overwriten
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return string
      */
-    protected function _isUpdater(\Magento\Core\Model\Layout\Element $argument)
+    protected function _isUpdater(\Magento\View\Layout\Element $argument)
     {
         $updaters = $argument->xpath('./updater');
         if (!empty($updaters) && !isset($argument->value)) {
@@ -78,26 +78,26 @@ abstract class AbstractHandler
     /**
      * Retrieve xsi:type attribute value from argument
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return string
      */
-    protected function _getArgumentType(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentType(\Magento\View\Layout\Element $argument)
     {
         return (string)$argument->attributes('xsi', true)->type;
     }
 
     /**
      * Parse argument node
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return array
      */
-    public function parse(\Magento\Core\Model\Layout\Element $argument)
+    public function parse(\Magento\View\Layout\Element $argument)
     {
         $result = array();
         $updaters = array();
         $result['type'] = $this->_getArgumentType($argument);
         foreach ($argument->xpath('./updater') as $updaterNode) {
-            /** @var $updaterNode \Magento\Core\Model\Layout\Element */
+            /** @var $updaterNode \Magento\View\Layout\Element */
             $updaters[uniqid() . '_' . mt_rand()] = trim((string)$updaterNode);
         }
 
diff --git a/app/code/Magento/Core/Model/Layout/Argument/Handler/ArrayHandler.php b/app/code/Magento/Core/Model/Layout/Argument/Handler/ArrayHandler.php
index b46e23c9c12..89d68ef43cd 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/Handler/ArrayHandler.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/Handler/ArrayHandler.php
@@ -93,17 +93,17 @@ class ArrayHandler extends \Magento\Core\Model\Layout\Argument\AbstractHandler
     /**
      * Retrive value from Array argument
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return array|null
      */
-    protected function _getArgumentValue(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentValue(\Magento\View\Layout\Element $argument)
     {
         $items = $argument->xpath('item');
         if ($this->_isUpdater($argument) && empty($items)) {
             return null;
         }
         $result = array();
-        /** @var $item \Magento\Core\Model\Layout\Element */
+        /** @var $item \Magento\View\Layout\Element */
         foreach ($items as $item) {
             $itemName = (string)$item['name'];
             $itemType = $this->_getArgumentType($item);
diff --git a/app/code/Magento/Core/Model/Layout/Argument/Handler/Helper.php b/app/code/Magento/Core/Model/Layout/Argument/Handler/Helper.php
index 69c0aa775d3..6d89b855167 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/Handler/Helper.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/Handler/Helper.php
@@ -89,10 +89,10 @@ class Helper extends \Magento\Core\Model\Layout\Argument\AbstractHandler
     /**
      * Retrieve value from argument
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return array
      */
-    protected function _getArgumentValue(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentValue(\Magento\View\Layout\Element $argument)
     {
         $value = array(
             'helperClass' => '',
diff --git a/app/code/Magento/Core/Model/Layout/Argument/Handler/Object.php b/app/code/Magento/Core/Model/Layout/Argument/Handler/Object.php
index 63e4a3ab306..449bef65b43 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/Handler/Object.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/Handler/Object.php
@@ -89,10 +89,10 @@ class Object extends \Magento\Core\Model\Layout\Argument\AbstractHandler
     /**
      * Retrieve value from argument
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return array|null
      */
-    protected function _getArgumentValue(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentValue(\Magento\View\Layout\Element $argument)
     {
         $value = parent::_getArgumentValue($argument);
         if (!isset($value)) {
diff --git a/app/code/Magento/Core/Model/Layout/Argument/Handler/Options.php b/app/code/Magento/Core/Model/Layout/Argument/Handler/Options.php
index 46b9876c332..4005a11952b 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/Handler/Options.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/Handler/Options.php
@@ -76,10 +76,10 @@ class Options extends \Magento\Core\Model\Layout\Argument\AbstractHandler
     }
 
     /**
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return array
      */
-    protected function _getArgumentValue(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentValue(\Magento\View\Layout\Element $argument)
     {
         return array('model' => (string)$argument['model']);
     }
diff --git a/app/code/Magento/Core/Model/Layout/Argument/Handler/String.php b/app/code/Magento/Core/Model/Layout/Argument/Handler/String.php
index 830d5f66519..a9573ee3871 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/Handler/String.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/Handler/String.php
@@ -78,10 +78,10 @@ class String extends \Magento\Core\Model\Layout\Argument\AbstractHandler
     /**
      * Retrieve value from argument
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return array|null
      */
-    protected function _getArgumentValue(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentValue(\Magento\View\Layout\Element $argument)
     {
         $value = parent::_getArgumentValue($argument);
         if (!isset($value)) {
diff --git a/app/code/Magento/Core/Model/Layout/Argument/Handler/Url.php b/app/code/Magento/Core/Model/Layout/Argument/Handler/Url.php
index 9bb03d1ada2..30267e09eab 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/Handler/Url.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/Handler/Url.php
@@ -36,15 +36,15 @@ namespace Magento\Core\Model\Layout\Argument\Handler;
 class Url extends \Magento\Core\Model\Layout\Argument\AbstractHandler
 {
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlModel;
 
     /**
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\UrlInterface $urlModel
+     * @param \Magento\UrlInterface $urlModel
      */
-    public function __construct(\Magento\Core\Model\UrlInterface  $urlModel)
+    public function __construct(\Magento\UrlInterface  $urlModel)
     {
         $this->_urlModel = $urlModel;
     }
@@ -84,7 +84,7 @@ class Url extends \Magento\Core\Model\Layout\Argument\AbstractHandler
      * @param $argument
      * @return array
      */
-    protected function _getArgumentValue(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentValue(\Magento\View\Layout\Element $argument)
     {
         $result = array(
             'path' => (string)$argument['path'],
diff --git a/app/code/Magento/Core/Model/Layout/Argument/HandlerInterface.php b/app/code/Magento/Core/Model/Layout/Argument/HandlerInterface.php
index eff9601c7c1..3cdf8e7b607 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/HandlerInterface.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/HandlerInterface.php
@@ -38,10 +38,10 @@ interface HandlerInterface
     /**
      * Parse specified argument node
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return array
      */
-    public function parse(\Magento\Core\Model\Layout\Element $argument);
+    public function parse(\Magento\View\Layout\Element $argument);
 
     /**
      * Process argument value
diff --git a/app/code/Magento/Core/Model/Layout/Argument/Processor.php b/app/code/Magento/Core/Model/Layout/Argument/Processor.php
index c35a5865214..b4389dd83d6 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/Processor.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/Processor.php
@@ -67,11 +67,11 @@ class Processor
     /**
      * Parse given argument
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @throws \InvalidArgumentException
      * @return array
      */
-    public function parse(\Magento\Core\Model\Layout\Element $argument)
+    public function parse(\Magento\View\Layout\Element $argument)
     {
         $type = $this->_getArgumentType($argument);
         $handler = $this->_handlerFactory->getArgumentHandlerByType($type);
@@ -98,10 +98,10 @@ class Processor
     /**
      * Get Argument's XSI type
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return string
      */
-    protected function _getArgumentType(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentType(\Magento\View\Layout\Element $argument)
     {
         return (string)$argument->attributes('xsi', true)->type;
     }
diff --git a/app/code/Magento/Core/Model/Layout/File.php b/app/code/Magento/Core/Model/Layout/File.php
index 39c81607e1c..2f61b36365a 100644
--- a/app/code/Magento/Core/Model/Layout/File.php
+++ b/app/code/Magento/Core/Model/Layout/File.php
@@ -40,16 +40,16 @@ class File
     private $_module;
 
     /**
-     * @var \Magento\Core\Model\ThemeInterface
+     * @var \Magento\View\Design\ThemeInterface
      */
     private $_theme;
 
     /**
      * @param string $filename
      * @param string $module
-     * @param \Magento\Core\Model\ThemeInterface $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      */
-    public function __construct($filename, $module, \Magento\Core\Model\ThemeInterface $theme = null)
+    public function __construct($filename, $module, \Magento\View\Design\ThemeInterface $theme = null)
     {
         $this->_filename = $filename;
         $this->_module = $module;
@@ -89,7 +89,7 @@ class File
     /**
      * Retrieve instance of a theme a file belongs to
      *
-     * @return \Magento\Core\Model\ThemeInterface|null
+     * @return \Magento\View\Design\ThemeInterface|null
      */
     public function getTheme()
     {
diff --git a/app/code/Magento/Core/Model/Layout/File/Factory.php b/app/code/Magento/Core/Model/Layout/File/Factory.php
index 3e87e14b403..9bc257d7422 100644
--- a/app/code/Magento/Core/Model/Layout/File/Factory.php
+++ b/app/code/Magento/Core/Model/Layout/File/Factory.php
@@ -47,10 +47,10 @@ class Factory
      *
      * @param string $filename
      * @param string $module
-     * @param \Magento\Core\Model\ThemeInterface $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return \Magento\Core\Model\Layout\File
      */
-    public function create($filename, $module, \Magento\Core\Model\ThemeInterface $theme = null)
+    public function create($filename, $module, \Magento\View\Design\ThemeInterface $theme = null)
     {
         return $this->_objectManager->create(
             'Magento\Core\Model\Layout\File',
diff --git a/app/code/Magento/Core/Model/Layout/File/Source/Aggregated.php b/app/code/Magento/Core/Model/Layout/File/Source/Aggregated.php
index 897522f23c5..89c4ad29fe2 100644
--- a/app/code/Magento/Core/Model/Layout/File/Source/Aggregated.php
+++ b/app/code/Magento/Core/Model/Layout/File/Source/Aggregated.php
@@ -80,7 +80,7 @@ class Aggregated implements \Magento\Core\Model\Layout\File\SourceInterface
      *
      * {@inheritdoc}
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme)
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme)
     {
         $list = $this->_fileListFactory->create();
         $list->add($this->_baseFiles->getFiles($theme));
@@ -95,10 +95,10 @@ class Aggregated implements \Magento\Core\Model\Layout\File\SourceInterface
     /**
      * Return the full theme inheritance sequence, from the root theme till a specified one
      *
-     * @param \Magento\Core\Model\ThemeInterface $theme
-     * @return \Magento\Core\Model\ThemeInterface[] Format: array([<root_theme>, ..., <parent_theme>,] <current_theme>)
+     * @param \Magento\View\Design\ThemeInterface $theme
+     * @return \Magento\View\Design\ThemeInterface[] Format: array([<root_theme>, ..., <parent_theme>,] <current_theme>)
      */
-    protected function _getInheritedThemes(\Magento\Core\Model\ThemeInterface $theme)
+    protected function _getInheritedThemes(\Magento\View\Design\ThemeInterface $theme)
     {
         $result = array();
         while ($theme) {
diff --git a/app/code/Magento/Core/Model/Layout/File/Source/Base.php b/app/code/Magento/Core/Model/Layout/File/Source/Base.php
index 8c94b82e04c..2276624f22f 100644
--- a/app/code/Magento/Core/Model/Layout/File/Source/Base.php
+++ b/app/code/Magento/Core/Model/Layout/File/Source/Base.php
@@ -35,7 +35,7 @@ class Base implements \Magento\Core\Model\Layout\File\SourceInterface
     private $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
@@ -46,12 +46,12 @@ class Base implements \Magento\Core\Model\Layout\File\SourceInterface
 
     /**
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\Layout\File\Factory $fileFactory
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Layout\File\Factory $fileFactory
     ) {
         $this->_filesystem = $filesystem;
@@ -62,12 +62,12 @@ class Base implements \Magento\Core\Model\Layout\File\SourceInterface
     /**
      * {@inheritdoc}
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme)
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme)
     {
         $namespace = $module = '*';
         $area = $theme->getArea();
         $files = $this->_filesystem->searchKeys(
-            $this->_dirs->getDir(\Magento\Core\Model\Dir::MODULES),
+            $this->_dirs->getDir(\Magento\App\Dir::MODULES),
             "{$namespace}/{$module}/view/{$area}/layout/*.xml"
         );
         $result = array();
diff --git a/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependency.php b/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependency.php
index bac1bb546fa..1fa4cb09466 100644
--- a/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependency.php
+++ b/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependency.php
@@ -36,7 +36,7 @@ class ModuleDependency
     private $_subject;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     private $_moduleList;
 
@@ -49,11 +49,11 @@ class ModuleDependency
 
     /**
      * @param \Magento\Core\Model\Layout\File\SourceInterface $subject
-     * @param \Magento\Core\Model\ModuleListInterface $listInterface
+     * @param \Magento\App\ModuleListInterface $listInterface
      */
     public function __construct(
         \Magento\Core\Model\Layout\File\SourceInterface $subject,
-        \Magento\Core\Model\ModuleListInterface $listInterface
+        \Magento\App\ModuleListInterface $listInterface
     ) {
         $this->_subject = $subject;
         $this->_moduleList = $listInterface;
@@ -64,7 +64,7 @@ class ModuleDependency
      *
      * {@inheritdoc}
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme)
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme)
     {
         $result = $this->_subject->getFiles($theme);
         usort($result, array($this, 'compareFiles'));
diff --git a/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutput.php b/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutput.php
index c0b8cc59ba2..f95a340b83c 100644
--- a/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutput.php
+++ b/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutput.php
@@ -56,7 +56,7 @@ class ModuleOutput implements \Magento\Core\Model\Layout\File\SourceInterface
      *
      * {@inheritdoc}
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme)
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme)
     {
         $result = array();
         foreach ($this->_subject->getFiles($theme) as $file) {
diff --git a/app/code/Magento/Core/Model/Layout/File/Source/Override/Base.php b/app/code/Magento/Core/Model/Layout/File/Source/Override/Base.php
index 02889c46ce1..121c33d0ca5 100644
--- a/app/code/Magento/Core/Model/Layout/File/Source/Override/Base.php
+++ b/app/code/Magento/Core/Model/Layout/File/Source/Override/Base.php
@@ -35,7 +35,7 @@ class Base implements \Magento\Core\Model\Layout\File\SourceInterface
     private $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
@@ -46,12 +46,12 @@ class Base implements \Magento\Core\Model\Layout\File\SourceInterface
 
     /**
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\Layout\File\Factory $fileFactory
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Layout\File\Factory $fileFactory
     ) {
         $this->_filesystem = $filesystem;
@@ -62,12 +62,12 @@ class Base implements \Magento\Core\Model\Layout\File\SourceInterface
     /**
      * {@inheritdoc}
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme)
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme)
     {
         $namespace = $module = '*';
         $themePath = $theme->getFullPath();
         $files = $this->_filesystem->searchKeys(
-            $this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES),
+            $this->_dirs->getDir(\Magento\App\Dir::THEMES),
             "{$themePath}/{$namespace}_{$module}/layout/override/*.xml"
         );
         $result = array();
diff --git a/app/code/Magento/Core/Model/Layout/File/Source/Override/Theme.php b/app/code/Magento/Core/Model/Layout/File/Source/Override/Theme.php
index d490fa46373..ad8e7065fba 100644
--- a/app/code/Magento/Core/Model/Layout/File/Source/Override/Theme.php
+++ b/app/code/Magento/Core/Model/Layout/File/Source/Override/Theme.php
@@ -35,7 +35,7 @@ class Theme implements \Magento\Core\Model\Layout\File\SourceInterface
     private $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
@@ -46,12 +46,12 @@ class Theme implements \Magento\Core\Model\Layout\File\SourceInterface
 
     /**
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\Layout\File\Factory $fileFactory
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Layout\File\Factory $fileFactory
     ) {
         $this->_filesystem = $filesystem;
@@ -62,12 +62,12 @@ class Theme implements \Magento\Core\Model\Layout\File\SourceInterface
     /**
      * {@inheritdoc}
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme)
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme)
     {
         $namespace = $module = '*';
         $themePath = $theme->getFullPath();
         $files = $this->_filesystem->searchKeys(
-            $this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES),
+            $this->_dirs->getDir(\Magento\App\Dir::THEMES),
             "{$themePath}/{$namespace}_{$module}/layout/override/*/*.xml"
         );
 
diff --git a/app/code/Magento/Core/Model/Layout/File/Source/Theme.php b/app/code/Magento/Core/Model/Layout/File/Source/Theme.php
index a3ececa9408..2cdd4d4eec6 100644
--- a/app/code/Magento/Core/Model/Layout/File/Source/Theme.php
+++ b/app/code/Magento/Core/Model/Layout/File/Source/Theme.php
@@ -35,7 +35,7 @@ class Theme implements \Magento\Core\Model\Layout\File\SourceInterface
     private $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
@@ -46,12 +46,12 @@ class Theme implements \Magento\Core\Model\Layout\File\SourceInterface
 
     /**
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\Layout\File\Factory $fileFactory
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Layout\File\Factory $fileFactory
     ) {
         $this->_filesystem = $filesystem;
@@ -62,12 +62,12 @@ class Theme implements \Magento\Core\Model\Layout\File\SourceInterface
     /**
      * {@inheritdoc}
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme)
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme)
     {
         $namespace = $module = '*';
         $themePath = $theme->getFullPath();
         $files = $this->_filesystem->searchKeys(
-            $this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES),
+            $this->_dirs->getDir(\Magento\App\Dir::THEMES),
             "{$themePath}/{$namespace}_{$module}/layout/*.xml"
         );
         $result = array();
diff --git a/app/code/Magento/Core/Model/Layout/File/SourceInterface.php b/app/code/Magento/Core/Model/Layout/File/SourceInterface.php
index 3b414b1e3f6..5f95486b05e 100644
--- a/app/code/Magento/Core/Model/Layout/File/SourceInterface.php
+++ b/app/code/Magento/Core/Model/Layout/File/SourceInterface.php
@@ -32,8 +32,8 @@ interface SourceInterface
     /**
      * Retrieve instances of layout files
      *
-     * @param \Magento\Core\Model\ThemeInterface $theme Theme that defines the design context
+     * @param \Magento\View\Design\ThemeInterface $theme Theme that defines the design context
      * @return \Magento\Core\Model\Layout\File[]
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme);
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme);
 }
diff --git a/app/code/Magento/Core/Model/Layout/Merge.php b/app/code/Magento/Core/Model/Layout/Merge.php
index 0d460020c2c..7c7927de903 100644
--- a/app/code/Magento/Core/Model/Layout/Merge.php
+++ b/app/code/Magento/Core/Model/Layout/Merge.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Core\Model\Layout;
 
-class Merge
+class Merge implements  \Magento\View\Layout\ProcessorInterface
 {
     /**#@+
      * Available item type names
@@ -56,7 +56,7 @@ class Merge
     /**
      * In-memory cache for loaded layout updates
      *
-     * @var \Magento\Core\Model\Layout\Element
+     * @var \Magento\View\Layout\Element
      */
     protected $_layoutUpdatesCache;
 
@@ -99,7 +99,7 @@ class Merge
     private $_resource;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     private $_appState;
 
@@ -121,26 +121,26 @@ class Merge
     /**
      * Init merge model
      *
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Layout\File\SourceInterface $fileSource,
      * @param \Magento\Core\Model\Resource\Layout\Update $resource
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Cache\FrontendInterface $cache
      * @param \Magento\Adminhtml\Model\LayoutUpdate\Validator $validator
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Theme $theme Non-injectable theme instance
+     * @param \Magento\View\Design\ThemeInterface $theme Non-injectable theme instance
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Layout\File\SourceInterface $fileSource,
         \Magento\Core\Model\Resource\Layout\Update $resource,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Cache\FrontendInterface $cache,
         \Magento\Adminhtml\Model\LayoutUpdate\Validator $validator,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Theme $theme = null
+        \Magento\View\Design\ThemeInterface $theme = null
     ) {
         $this->_theme = $theme ?: $design->getDesignTheme();
         $this->_store = $storeManager->getStore();
@@ -291,7 +291,7 @@ class Merge
      * Get handle xml node by handle name
      *
      * @param string $handleName
-     * @return \Magento\Core\Model\Layout\Element|null
+     * @return \Magento\View\Layout\Element|null
      */
     protected function _getPageHandleNode($handleName)
     {
@@ -366,7 +366,7 @@ class Merge
         }
         $xpath = '/layouts/*[' . implode(' or ', $conditions) . ']';
         $nodes = $this->getFileLayoutUpdatesXml()->xpath($xpath) ?: array();
-        /** @var $node \Magento\Core\Model\Layout\Element */
+        /** @var $node \Magento\View\Layout\Element */
         foreach ($nodes as $node) {
             $name = $node->getAttribute('id');
             $info = array(
@@ -424,7 +424,7 @@ class Merge
         }
 
         $layout = $this->asString();
-        if ($this->_appState->getMode() === \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        if ($this->_appState->getMode() === \Magento\App\State::MODE_DEVELOPER) {
             if (!$this->_layoutValidator->isValid(
                     $layout,
                     \Magento\Adminhtml\Model\LayoutUpdate\Validator::LAYOUT_SCHEMA_MERGED,
@@ -443,7 +443,7 @@ class Merge
     }
 
     /**
-     * Get layout updates as \Magento\Core\Model\Layout\Element object
+     * Get layout updates as \Magento\View\Layout\Element object
      *
      * @return \SimpleXMLElement
      */
@@ -463,7 +463,7 @@ class Merge
      */
     protected function _loadXmlString($xmlString)
     {
-        return simplexml_load_string($xmlString, 'Magento\Core\Model\Layout\Element');
+        return simplexml_load_string($xmlString, 'Magento\View\Layout\Element');
     }
 
     /**
@@ -582,7 +582,7 @@ class Merge
     /**
      * Retrieve already merged layout updates from files for specified area/theme/package/store
      *
-     * @return \Magento\Core\Model\Layout\Element
+     * @return \Magento\View\Layout\Element
      */
     public function getFileLayoutUpdatesXml()
     {
@@ -639,7 +639,7 @@ class Merge
      * Collect and merge layout updates from files
      *
      * @throws \Magento\Exception
-     * @return \Magento\Core\Model\Layout\Element
+     * @return \Magento\View\Layout\Element
      */
     protected function _loadFileLayoutUpdatesXml()
     {
@@ -649,7 +649,7 @@ class Merge
         foreach ($updateFiles as $file) {
             $fileStr = file_get_contents($file->getFilename());
             $fileStr = $this->_substitutePlaceholders($fileStr);
-            /** @var $fileXml \Magento\Core\Model\Layout\Element */
+            /** @var $fileXml \Magento\View\Layout\Element */
             $fileXml = $this->_loadXmlString($fileStr);
             if (!$file->isBase() && $fileXml->xpath(self::XPATH_HANDLE_DECLARATION)) {
                 throw new \Magento\Exception(sprintf(
@@ -670,11 +670,11 @@ class Merge
     /**
      * Find the closest physical theme among ancestors and a theme itself
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return \Magento\Core\Model\Theme
      * @throws \Magento\Exception
      */
-    protected function _getPhysicalTheme(\Magento\Core\Model\Theme $theme)
+    protected function _getPhysicalTheme(\Magento\View\Design\ThemeInterface $theme)
     {
         $result = $theme;
         while ($result->getId() && !$result->isPhysical()) {
@@ -716,7 +716,7 @@ class Merge
     {
         $result = array();
         $containerNodes = $this->asSimplexml()->xpath('//container');
-        /** @var $oneContainerNode \Magento\Core\Model\Layout\Element */
+        /** @var $oneContainerNode \Magento\View\Layout\Element */
         foreach ($containerNodes as $oneContainerNode) {
             $label = $oneContainerNode->getAttribute('label');
             if ($label) {
diff --git a/app/code/Magento/Core/Model/Locale.php b/app/code/Magento/Core/Model/Locale.php
index d5161ae22b1..3dfcfb390bc 100644
--- a/app/code/Magento/Core/Model/Locale.php
+++ b/app/code/Magento/Core/Model/Locale.php
@@ -66,7 +66,7 @@ class Locale implements \Magento\Core\Model\LocaleInterface
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -83,7 +83,7 @@ class Locale implements \Magento\Core\Model\LocaleInterface
     protected $_coreStoreConfig;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -103,20 +103,20 @@ class Locale implements \Magento\Core\Model\LocaleInterface
     protected $_app;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Translate $translate
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale\Config $config
      * @param \Magento\Core\Model\App $app
      * @param string $locale
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Translate $translate,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale\Config $config,
         \Magento\Core\Model\App $app,
diff --git a/app/code/Magento/Core/Model/Locale/Hierarchy/Config/FileResolver.php b/app/code/Magento/Core/Model/Locale/Hierarchy/Config/FileResolver.php
index 61b2c3d9be6..59c603adf84 100644
--- a/app/code/Magento/Core/Model/Locale/Hierarchy/Config/FileResolver.php
+++ b/app/code/Magento/Core/Model/Locale/Hierarchy/Config/FileResolver.php
@@ -29,14 +29,14 @@ class FileResolver implements \Magento\Config\FileResolverInterface
 {
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_applicationDirs;
 
     /**
-     * @param \Magento\Core\Model\Dir $applicationDirs
+     * @param \Magento\App\Dir $applicationDirs
      */
-    public function __construct(\Magento\Core\Model\Dir $applicationDirs)
+    public function __construct(\Magento\App\Dir $applicationDirs)
     {
         $this->_applicationDirs = $applicationDirs;
     }
@@ -46,7 +46,7 @@ class FileResolver implements \Magento\Config\FileResolverInterface
      */
     public function get($filename, $scope)
     {
-        $appLocaleDir = $this->_applicationDirs->getDir(\Magento\Core\Model\Dir::LOCALE);
+        $appLocaleDir = $this->_applicationDirs->getDir(\Magento\App\Dir::LOCALE);
         // Create pattern similar to app/locale/*/config.xml
         $filePattern = $appLocaleDir . DIRECTORY_SEPARATOR . '*' . DIRECTORY_SEPARATOR . $filename;
         $fileList = glob($filePattern, GLOB_BRACE);
diff --git a/app/code/Magento/Core/Model/Logger.php b/app/code/Magento/Core/Model/Logger.php
index deaf06c22e1..bc5bc45b052 100644
--- a/app/code/Magento/Core/Model/Logger.php
+++ b/app/code/Magento/Core/Model/Logger.php
@@ -44,7 +44,7 @@ class Logger
     protected $_loggers = array();
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs = null;
 
@@ -54,11 +54,11 @@ class Logger
     protected $_fileSystem;
 
     /**
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Io\File $fileSystem
      * @param string $defaultFile
      */
-    public function __construct(\Magento\Core\Model\Dir $dirs, \Magento\Io\File $fileSystem, $defaultFile = '')
+    public function __construct(\Magento\App\Dir $dirs, \Magento\Io\File $fileSystem, $defaultFile = '')
     {
         $this->_dirs = $dirs;
         $this->_fileSystem = $fileSystem;
@@ -81,7 +81,7 @@ class Logger
     {
         $file = $fileOrWrapper ?: "{$loggerKey}.log";
         if (!preg_match('#^[a-z][a-z0-9+.-]*\://#i', $file)) {
-            $logDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::LOG);
+            $logDir = $this->_dirs->getDir(\Magento\App\Dir::LOG);
             $this->_fileSystem->checkAndCreateFolder($logDir);
             $file = $logDir . DIRECTORY_SEPARATOR . $file;
         }
diff --git a/app/code/Magento/Core/Model/ModuleManager.php b/app/code/Magento/Core/Model/ModuleManager.php
index 8aecfcbdc4f..3aa3b8e9a28 100644
--- a/app/code/Magento/Core/Model/ModuleManager.php
+++ b/app/code/Magento/Core/Model/ModuleManager.php
@@ -40,7 +40,7 @@ class ModuleManager
     private $_storeConfig;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     private $_moduleList;
 
@@ -51,12 +51,12 @@ class ModuleManager
 
     /**
      * @param \Magento\Core\Model\Store\ConfigInterface $storeConfig
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param array $outputConfigPaths
      */
     public function __construct(
         \Magento\Core\Model\Store\ConfigInterface $storeConfig,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         array $outputConfigPaths = array()
     ) {
         $this->_storeConfig = $storeConfig;
diff --git a/app/code/Magento/Core/Model/ObjectManager.php b/app/code/Magento/Core/Model/ObjectManager.php
index 2b979512e9a..b06155b6cf3 100644
--- a/app/code/Magento/Core/Model/ObjectManager.php
+++ b/app/code/Magento/Core/Model/ObjectManager.php
@@ -92,11 +92,11 @@ class ObjectManager extends \Magento\ObjectManager\ObjectManager
         );
 
         $localConfig = new \Magento\Core\Model\Config\Local(new \Magento\Core\Model\Config\Loader\Local(
-            $primaryConfig->getDirectories()->getDir(\Magento\Core\Model\Dir::CONFIG),
+            $primaryConfig->getDirectories()->getDir(\Magento\App\Dir::CONFIG),
             $primaryConfig->getParam(\Magento\Core\Model\App::PARAM_CUSTOM_LOCAL_CONFIG),
             $primaryConfig->getParam(\Magento\Core\Model\App::PARAM_CUSTOM_LOCAL_FILE)
         ));
-        $appMode = $primaryConfig->getParam(\Magento\Core\Model\App::PARAM_MODE, \Magento\Core\Model\App\State::MODE_DEFAULT);
+        $appMode = $primaryConfig->getParam(\Magento\Core\Model\App::PARAM_MODE, \Magento\App\State::MODE_DEFAULT);
         $factory = new \Magento\ObjectManager\Factory\Factory($config, $this, $definitions, array_replace(
             $localConfig->getParams(),
             $primaryConfig->getParams()
@@ -104,7 +104,7 @@ class ObjectManager extends \Magento\ObjectManager\ObjectManager
 
         $sharedInstances['Magento\Core\Model\Config\Local'] = $localConfig;
         $sharedInstances['Magento\Core\Model\Config\Primary'] = $primaryConfig;
-        $sharedInstances['Magento\Core\Model\Dir'] = $primaryConfig->getDirectories();
+        $sharedInstances['Magento\App\Dir'] = $primaryConfig->getDirectories();
         $sharedInstances['Magento\Core\Model\ObjectManager'] = $this;
 
         parent::__construct($factory, $config, $sharedInstances);
@@ -136,15 +136,18 @@ class ObjectManager extends \Magento\ObjectManager\ObjectManager
                 new \Magento\Code\Generator\Io(
                     new \Magento\Io\File(),
                     $autoloader,
-                    $primaryConfig->getDirectories()->getDir(\Magento\Core\Model\Dir::GENERATION)
+                    $primaryConfig->getDirectories()->getDir(\Magento\App\Dir::GENERATION)
                 )
             ));
         }
 
         \Magento\Profiler::stop('global_primary');
-        $verification = $this->get('Magento\Core\Model\Dir\Verification');
+        $verification = $this->get('Magento\App\Dir\Verification');
         $verification->createAndVerifyDirectories();
 
+        $this->_config->setCache($this->get('Magento\Core\Model\ObjectManager\ConfigCache'));
+        $this->configure($this->get('Magento\Core\Model\ObjectManager\ConfigLoader')->load('global'));
+
         $interceptionConfig = $this->create('Magento\Interception\Config\Config', array(
             'relations' => $definitionFactory->createRelations(),
             'omConfig' => $this->_config,
@@ -171,8 +174,6 @@ class ObjectManager extends \Magento\ObjectManager\ObjectManager
             'config' => $interceptionConfig,
             'pluginList' => $pluginList
         ));
-        $this->_config->setCache($this->get('Magento\Core\Model\ObjectManager\ConfigCache'));
-        $this->configure($this->get('Magento\Core\Model\ObjectManager\ConfigLoader')->load('global'));
         $this->get('Magento\Core\Model\Resource')->setConfig($this->get('Magento\Core\Model\Config\Resource'));
 
         self::setInstance($this);
diff --git a/app/code/Magento/Core/Model/ObjectManager/ConfigLoader/Primary.php b/app/code/Magento/Core/Model/ObjectManager/ConfigLoader/Primary.php
index 5808e7caec9..d8d4bb71f00 100644
--- a/app/code/Magento/Core/Model/ObjectManager/ConfigLoader/Primary.php
+++ b/app/code/Magento/Core/Model/ObjectManager/ConfigLoader/Primary.php
@@ -33,15 +33,15 @@ class Primary
     protected $_appMode;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
     /**
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param string $appMode
      */
-    public function __construct(\Magento\Core\Model\Dir $dirs, $appMode = \Magento\Core\Model\App\State::MODE_DEFAULT)
+    public function __construct(\Magento\App\Dir $dirs, $appMode = \Magento\App\State::MODE_DEFAULT)
     {
         $this->_dirs = $dirs;
         $this->_appMode = $appMode;
diff --git a/app/code/Magento/Core/Model/ObjectManager/DefinitionFactory.php b/app/code/Magento/Core/Model/ObjectManager/DefinitionFactory.php
index f5f49a51da3..a24fe3d0e10 100644
--- a/app/code/Magento/Core/Model/ObjectManager/DefinitionFactory.php
+++ b/app/code/Magento/Core/Model/ObjectManager/DefinitionFactory.php
@@ -92,7 +92,7 @@ class DefinitionFactory
             $definitionModel = $this->_getDefinitionModel($this->_definitionFormat);
             $output = new $definitionModel($definitions);
         } else {
-            $genDir = $this->_config->getDirectories()->getDir(\Magento\Core\Model\Dir::GENERATION);
+            $genDir = $this->_config->getDirectories()->getDir(\Magento\App\Dir::GENERATION);
             $autoloader = new \Magento\Autoload\IncludePath();
             $generatorIo = new \Magento\Code\Generator\Io(new \Magento\Io\File(), $autoloader, $genDir);
             $generator = new \Magento\Code\Generator\ClassGenerator(
diff --git a/app/code/Magento/Core/Model/Observer.php b/app/code/Magento/Core/Model/Observer.php
index 39dd651575b..468be6d48c0 100644
--- a/app/code/Magento/Core/Model/Observer.php
+++ b/app/code/Magento/Core/Model/Observer.php
@@ -70,7 +70,7 @@ class Observer
 
     /**
      * @param \Magento\Core\Model\Cache\Frontend\Pool $cacheFrontendPool
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Page $page
      * @param \Magento\Core\Model\ConfigInterface $config
      * @param \Magento\Core\Model\Page\Asset\PublicFileFactory $assetFileFactory
@@ -79,7 +79,7 @@ class Observer
      */
     public function __construct(
         \Magento\Core\Model\Cache\Frontend\Pool $cacheFrontendPool,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Page $page,
         \Magento\Core\Model\ConfigInterface $config,
         \Magento\Core\Model\Page\Asset\PublicFileFactory $assetFileFactory,
diff --git a/app/code/Magento/Core/Model/Page/Asset/MergeService.php b/app/code/Magento/Core/Model/Page/Asset/MergeService.php
index e7fc39ccff1..30731ab0bbe 100644
--- a/app/code/Magento/Core/Model/Page/Asset/MergeService.php
+++ b/app/code/Magento/Core/Model/Page/Asset/MergeService.php
@@ -52,12 +52,12 @@ class MergeService
     private $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     private $_state;
 
@@ -65,15 +65,15 @@ class MergeService
      * @param \Magento\ObjectManager $objectManager
      * @param \Magento\Core\Model\Store\Config $storeConfig
      * @param \Magento\Filesystem $filesystem,
-     * @param \Magento\Core\Model\Dir $dirs
-     * @param \Magento\Core\Model\App\State $state
+     * @param \Magento\App\Dir $dirs
+     * @param \Magento\App\State $state
      */
     public function __construct(
         \Magento\ObjectManager $objectManager,
         \Magento\Core\Model\Store\Config $storeConfig,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
-        \Magento\Core\Model\App\State $state
+        \Magento\App\Dir $dirs,
+        \Magento\App\State $state
     ) {
         $this->_objectManager = $objectManager;
         $this->_storeConfig = $storeConfig;
@@ -101,7 +101,7 @@ class MergeService
         $isCssMergeEnabled = $this->_storeConfig->getConfigFlag(self::XML_PATH_MERGE_CSS_FILES);
         $isJsMergeEnabled = $this->_storeConfig->getConfigFlag(self::XML_PATH_MERGE_JS_FILES);
         if (($isCss && $isCssMergeEnabled) || ($isJs && $isJsMergeEnabled)) {
-            if ($this->_state->getMode() == \Magento\Core\Model\App\State::MODE_PRODUCTION) {
+            if ($this->_state->getMode() == \Magento\App\State::MODE_PRODUCTION) {
                 $mergeStrategyClass = 'Magento\Core\Model\Page\Asset\MergeStrategy\FileExists';
             } else {
                 $mergeStrategyClass = 'Magento\Core\Model\Page\Asset\MergeStrategy\Checksum';
@@ -121,7 +121,7 @@ class MergeService
      */
     public function cleanMergedJsCss()
     {
-        $mergedDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::PUB_VIEW_CACHE) . '/'
+        $mergedDir = $this->_dirs->getDir(\Magento\App\Dir::PUB_VIEW_CACHE) . '/'
             . \Magento\Core\Model\Page\Asset\Merged::PUBLIC_MERGE_DIR;
         $this->_filesystem->delete($mergedDir);
 
diff --git a/app/code/Magento/Core/Model/Page/Asset/MergeStrategy/Direct.php b/app/code/Magento/Core/Model/Page/Asset/MergeStrategy/Direct.php
index a0910bec784..3361279a13f 100644
--- a/app/code/Magento/Core/Model/Page/Asset/MergeStrategy/Direct.php
+++ b/app/code/Magento/Core/Model/Page/Asset/MergeStrategy/Direct.php
@@ -35,7 +35,7 @@ class Direct implements \Magento\Core\Model\Page\Asset\MergeStrategyInterface
     private $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
@@ -46,12 +46,12 @@ class Direct implements \Magento\Core\Model\Page\Asset\MergeStrategyInterface
 
     /**
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Helper\Css $cssHelper
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Helper\Css $cssHelper
     ) {
         $this->_filesystem = $filesystem;
diff --git a/app/code/Magento/Core/Model/Page/Asset/Merged.php b/app/code/Magento/Core/Model/Page/Asset/Merged.php
index c9a4fb8c1fa..8224ff51ffd 100644
--- a/app/code/Magento/Core/Model/Page/Asset/Merged.php
+++ b/app/code/Magento/Core/Model/Page/Asset/Merged.php
@@ -69,7 +69,7 @@ class Merged implements \Iterator
     /**
      * @param \Magento\ObjectManager $objectManager
      * @param \Magento\Core\Model\Logger $logger,
-     * @param \Magento\Core\Model\Dir $dirs,
+     * @param \Magento\App\Dir $dirs,
      * @param \Magento\Core\Model\Page\Asset\MergeStrategyInterface $mergeStrategy
      * @param array $assets
      * @throws \InvalidArgumentException
@@ -77,7 +77,7 @@ class Merged implements \Iterator
     public function __construct(
         \Magento\ObjectManager $objectManager,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Page\Asset\MergeStrategyInterface $mergeStrategy,
         array $assets
     ) {
@@ -165,8 +165,8 @@ class Merged implements \Iterator
      */
     protected function _getMergedFilePath(array $publicFiles)
     {
-        $jsDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\Core\Model\Dir::PUB_LIB));
-        $publicDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\Core\Model\Dir::STATIC_VIEW));
+        $jsDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\App\Dir::PUB_LIB));
+        $publicDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\App\Dir::STATIC_VIEW));
         $prefixRemovals = array($jsDir, $publicDir);
 
         $relFileNames = array();
@@ -175,7 +175,7 @@ class Merged implements \Iterator
             $relFileNames[] = str_replace($prefixRemovals, '', $file);
         }
 
-        $mergedDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::PUB_VIEW_CACHE) . '/'
+        $mergedDir = $this->_dirs->getDir(\Magento\App\Dir::PUB_VIEW_CACHE) . '/'
             . self::PUBLIC_MERGE_DIR;
         return $mergedDir . '/' . md5(implode('|', $relFileNames)) . '.' . $this->_contentType;
     }
diff --git a/app/code/Magento/Core/Model/Page/Asset/MinifyService.php b/app/code/Magento/Core/Model/Page/Asset/MinifyService.php
index 65ea7e10b44..40843490f03 100644
--- a/app/code/Magento/Core/Model/Page/Asset/MinifyService.php
+++ b/app/code/Magento/Core/Model/Page/Asset/MinifyService.php
@@ -57,26 +57,26 @@ class MinifyService
     protected $_minifiers = array();
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
      * @param \Magento\Core\Model\Store\Config $config
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\Dir $dirs
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\Dir $dirs
+     * @param \Magento\App\State $appState
      */
     public function __construct(
         \Magento\Core\Model\Store\Config $config,
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Model\Dir $dirs,
-        \Magento\Core\Model\App\State $appState
+        \Magento\App\Dir $dirs,
+        \Magento\App\State $appState
     ) {
         $this->_storeConfig = $config;
         $this->_objectManager = $objectManager;
@@ -123,7 +123,7 @@ class MinifyService
                 'adapter' => $adapter,
             );
             switch ($this->_appState->getMode()) {
-                case \Magento\Core\Model\App\State::MODE_PRODUCTION:
+                case \Magento\App\State::MODE_PRODUCTION:
                     $strategy = $this->_objectManager->create('Magento\Code\Minifier\Strategy\Lite', $strategyParams);
                     break;
                 default:
@@ -134,7 +134,7 @@ class MinifyService
             $this->_minifiers[$contentType] = $this->_objectManager->create('Magento\Code\Minifier',
                 array(
                     'strategy' => $strategy,
-                    'baseDir' => $this->_dirs->getDir(\Magento\Core\Model\Dir::PUB_VIEW_CACHE) . '/minify',
+                    'baseDir' => $this->_dirs->getDir(\Magento\App\Dir::PUB_VIEW_CACHE) . '/minify',
                 )
             );
         }
diff --git a/app/code/Magento/Core/Model/Resource/Config/Value/Collection/Scoped.php b/app/code/Magento/Core/Model/Resource/Config/Value/Collection/Scoped.php
index bd5b17d3e75..6ff0dc81f5e 100644
--- a/app/code/Magento/Core/Model/Resource/Config/Value/Collection/Scoped.php
+++ b/app/code/Magento/Core/Model/Resource/Config/Value/Collection/Scoped.php
@@ -42,7 +42,7 @@ class Scoped extends \Magento\Core\Model\Resource\Db\Collection\AbstractCollecti
     protected $_scopeId;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -51,7 +51,7 @@ class Scoped extends \Magento\Core\Model\Resource\Db\Collection\AbstractCollecti
      * @param null $scopeId
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Core/Model/Resource/Db/Collection/AbstractCollection.php b/app/code/Magento/Core/Model/Resource/Db/Collection/AbstractCollection.php
index 4ea612cf961..06108c61f90 100644
--- a/app/code/Magento/Core/Model/Resource/Db/Collection/AbstractCollection.php
+++ b/app/code/Magento/Core/Model/Resource/Db/Collection/AbstractCollection.php
@@ -116,19 +116,19 @@ abstract class AbstractCollection extends \Magento\Data\Collection\Db
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Core/Model/Resource/Layout/Update.php b/app/code/Magento/Core/Model/Resource/Layout/Update.php
index 4c2caab91aa..37b921a5f41 100644
--- a/app/code/Magento/Core/Model/Resource/Layout/Update.php
+++ b/app/code/Magento/Core/Model/Resource/Layout/Update.php
@@ -60,11 +60,11 @@ class Update extends \Magento\Core\Model\Resource\Db\AbstractDb
      * Retrieve layout updates by handle
      *
      * @param string $handle
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param \Magento\Core\Model\Store $store
      * @return string
      */
-    public function fetchUpdatesByHandle($handle, \Magento\Core\Model\Theme $theme, \Magento\Core\Model\Store $store)
+    public function fetchUpdatesByHandle($handle, \Magento\View\Design\ThemeInterface $theme, \Magento\Core\Model\Store $store)
     {
         $bind = array(
             'layout_update_handle' => $handle,
diff --git a/app/code/Magento/Core/Model/Resource/Session.php b/app/code/Magento/Core/Model/Resource/Session.php
index 407397cef45..913c2fb12be 100644
--- a/app/code/Magento/Core/Model/Resource/Session.php
+++ b/app/code/Magento/Core/Model/Resource/Session.php
@@ -58,7 +58,7 @@ class Session implements \Zend_Session_SaveHandler_Interface
     protected $_write;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -66,9 +66,9 @@ class Session implements \Zend_Session_SaveHandler_Interface
      * Constructor
      *
      * @param \Magento\Core\Model\Resource $resource
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      */
-    public function __construct(\Magento\Core\Model\Resource $resource, \Magento\Core\Model\Dir $dir)
+    public function __construct(\Magento\Core\Model\Resource $resource, \Magento\App\Dir $dir)
     {
         $this->_sessionTable = $resource->getTableName('core_session');
         $this->_write        = $resource->getConnection('core_write');
diff --git a/app/code/Magento/Core/Model/Resource/Setup.php b/app/code/Magento/Core/Model/Resource/Setup.php
index 99a72bcaa02..1bdde6f9065 100644
--- a/app/code/Magento/Core/Model/Resource/Setup.php
+++ b/app/code/Magento/Core/Model/Resource/Setup.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\Core\Model\Resource;
 
-class Setup implements \Magento\Core\Model\Resource\SetupInterface
+class Setup implements \Magento\App\Updater\SetupInterface
 {
     /**
      * Setup resource name
@@ -81,7 +81,7 @@ class Setup implements \Magento\Core\Model\Resource\SetupInterface
     protected $_modulesReader;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -801,7 +801,7 @@ class Setup implements \Magento\Core\Model\Resource\SetupInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Event\Manager
+     * @return \Magento\Event\ManagerInterface
      */
     public function getEventManager()
     {
diff --git a/app/code/Magento/Core/Model/Resource/Setup/Context.php b/app/code/Magento/Core/Model/Resource/Setup/Context.php
index c839388a5ff..d885f8dd82d 100644
--- a/app/code/Magento/Core/Model/Resource/Setup/Context.php
+++ b/app/code/Magento/Core/Model/Resource/Setup/Context.php
@@ -31,7 +31,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_logger;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -46,7 +46,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_modulesReader;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleList;
 
@@ -72,10 +72,10 @@ class Context implements \Magento\ObjectManager\ContextInterface
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Core\Model\Config\Modules\Reader $modulesReader
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Core\Model\Resource\Resource $resourceResource
      * @param \Magento\Core\Model\Resource\Setup\MigrationFactory $migrationFactory
      * @param \Magento\Core\Model\Resource\Theme\CollectionFactory $themeResourceFactory
@@ -83,10 +83,10 @@ class Context implements \Magento\ObjectManager\ContextInterface
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Resource $resource,
         \Magento\Core\Model\Config\Modules\Reader $modulesReader,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Core\Model\Resource\Resource $resourceResource,
         \Magento\Core\Model\Resource\Setup\MigrationFactory $migrationFactory,
         \Magento\Core\Model\Resource\Theme\CollectionFactory $themeResourceFactory,
@@ -104,7 +104,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Event\Manager
+     * @return \Magento\Event\ManagerInterface
      */
     public function getEventManager()
     {
@@ -112,7 +112,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Logger
+     * @return \Magento\Core\Model\Logger
      */
     public function getLogger()
     {
@@ -120,7 +120,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\ModuleListInterface
+     * @return \Magento\App\ModuleListInterface
      */
     public function getModuleList()
     {
@@ -128,7 +128,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Config\Modules\Reader
+     * @return \Magento\Core\Model\Config\Modules\Reader
      */
     public function getModulesReader()
     {
@@ -136,7 +136,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Resource
+     * @return \Magento\Core\Model\Resource
      */
     public function getResourceModel()
     {
@@ -144,7 +144,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Resource\Setup\MigrationFactory
+     * @return \Magento\Core\Model\Resource\Setup\MigrationFactory
      */
     public function getMigrationFactory()
     {
@@ -152,7 +152,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Resource\Resource
+     * @return \Magento\Core\Model\Resource\Resource
      */
     public function getResourceResource()
     {
@@ -160,7 +160,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Theme\CollectionFactory
+     * @return \Magento\Core\Model\Theme\CollectionFactory
      */
     public function getThemeFactory()
     {
@@ -168,7 +168,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Resource\Theme\CollectionFactory
+     * @return \Magento\Core\Model\Resource\Theme\CollectionFactory
      */
     public function getThemeResourceFactory()
     {
diff --git a/app/code/Magento/Core/Model/Resource/Setup/Migration.php b/app/code/Magento/Core/Model/Resource/Setup/Migration.php
index 5da16eb9e80..480d4dec4f3 100644
--- a/app/code/Magento/Core/Model/Resource/Setup/Migration.php
+++ b/app/code/Magento/Core/Model/Resource/Setup/Migration.php
@@ -150,17 +150,17 @@ class Migration extends \Magento\Core\Model\Resource\Setup
     protected $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
     /**
-     * @param \Magento\Core\Model\Resource\Setup\Context $context
+     * @param Context $context
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Helper\Data $helper
-     * @param \Magento\Core\Model\Dir $dir
-     * @param string $resourceName
-     * @param string $confPathToMapFile
+     * @param \Magento\App\Dir $dir
+     * @param $resourceName
+     * @param $confPathToMapFile
      * @param string $moduleName
      * @param string $connectionName
      */
@@ -168,7 +168,7 @@ class Migration extends \Magento\Core\Model\Resource\Setup
         \Magento\Core\Model\Resource\Setup\Context $context,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Helper\Data $helper,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         $resourceName,
         $confPathToMapFile,
         $moduleName = 'Magento_Core',
diff --git a/app/code/Magento/Core/Model/Resource/Theme/Collection.php b/app/code/Magento/Core/Model/Resource/Theme/Collection.php
index 0f7c4db359e..9b69e996c0f 100644
--- a/app/code/Magento/Core/Model/Resource/Theme/Collection.php
+++ b/app/code/Magento/Core/Model/Resource/Theme/Collection.php
@@ -161,15 +161,15 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * Update all child themes relations
      *
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @return $this
      */
-    public function updateChildRelations(\Magento\Core\Model\Theme $themeModel)
+    public function updateChildRelations(\Magento\View\Design\ThemeInterface $themeModel)
     {
         $parentThemeId = $themeModel->getParentId();
         $this->addFieldToFilter('parent_id', array('eq' => $themeModel->getId()))->load();
 
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($this->getItems() as $theme) {
             $theme->setParentId($parentThemeId)->save();
         }
diff --git a/app/code/Magento/Core/Model/Resource/Theme/File/Collection.php b/app/code/Magento/Core/Model/Resource/Theme/File/Collection.php
index 3cf66ead44f..cbc6de8ddbb 100644
--- a/app/code/Magento/Core/Model/Resource/Theme/File/Collection.php
+++ b/app/code/Magento/Core/Model/Resource/Theme/File/Collection.php
@@ -67,10 +67,10 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * Filter out files that do not belong to a theme
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return \Magento\Core\Model\Resource\Theme\File\Collection
      */
-    public function addThemeFilter(\Magento\Core\Model\Theme $theme)
+    public function addThemeFilter(\Magento\View\Design\ThemeInterface $theme)
     {
         $this->addFieldToFilter('theme_id', $theme->getId());
         return $this;
diff --git a/app/code/Magento/Core/Model/Resource/Translate.php b/app/code/Magento/Core/Model/Resource/Translate.php
index 976c2c043fa..215efc0aff9 100644
--- a/app/code/Magento/Core/Model/Resource/Translate.php
+++ b/app/code/Magento/Core/Model/Resource/Translate.php
@@ -37,7 +37,7 @@ namespace Magento\Core\Model\Resource;
 class Translate extends \Magento\Core\Model\Resource\Db\AbstractDb
 {
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -48,12 +48,12 @@ class Translate extends \Magento\Core\Model\Resource\Db\AbstractDb
 
     /**
      * @param \Magento\Core\Model\Resource $resource
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\StoreManager $storeManager
      */
     public function __construct(
         \Magento\Core\Model\Resource $resource,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\StoreManager $storeManager
     ) {
         parent::__construct($resource);
diff --git a/app/code/Magento/Core/Model/Resource/Type/Db/Pdo/Mysql.php b/app/code/Magento/Core/Model/Resource/Type/Db/Pdo/Mysql.php
index 8550c7ac508..b0540c2c950 100644
--- a/app/code/Magento/Core/Model/Resource/Type/Db/Pdo/Mysql.php
+++ b/app/code/Magento/Core/Model/Resource/Type/Db/Pdo/Mysql.php
@@ -29,7 +29,7 @@ class Mysql extends \Magento\Core\Model\Resource\Type\Db
     /**
      * Dirs instance
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -49,7 +49,7 @@ class Mysql extends \Magento\Core\Model\Resource\Type\Db
     protected $_isActive;
 
     /**
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param string $host
      * @param string $username
      * @param string $password
@@ -60,7 +60,7 @@ class Mysql extends \Magento\Core\Model\Resource\Type\Db
      * @param bool $active
      */
     public function __construct(
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         $host,
         $username,
         $password,
diff --git a/app/code/Magento/Core/Model/Resource/Url/Rewrite/Collection.php b/app/code/Magento/Core/Model/Resource/Url/Rewrite/Collection.php
index 9274787b510..63d5e9da94e 100644
--- a/app/code/Magento/Core/Model/Resource/Url/Rewrite/Collection.php
+++ b/app/code/Magento/Core/Model/Resource/Url/Rewrite/Collection.php
@@ -42,7 +42,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -50,7 +50,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Core/Model/Session/AbstractSession.php b/app/code/Magento/Core/Model/Session/AbstractSession.php
index c0c8ddbab7e..3760d5fd636 100644
--- a/app/code/Magento/Core/Model/Session/AbstractSession.php
+++ b/app/code/Magento/Core/Model/Session/AbstractSession.php
@@ -79,7 +79,7 @@ class AbstractSession extends \Magento\Object
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -120,12 +120,12 @@ class AbstractSession extends \Magento\Object
     protected $_messageFactory;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -135,7 +135,7 @@ class AbstractSession extends \Magento\Object
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
diff --git a/app/code/Magento/Core/Model/Session/Context.php b/app/code/Magento/Core/Model/Session/Context.php
index 1b4025b0b97..530e968a78f 100644
--- a/app/code/Magento/Core/Model/Session/Context.php
+++ b/app/code/Magento/Core/Model/Session/Context.php
@@ -38,7 +38,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_logger;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -96,12 +96,12 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_messageFactory;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -111,7 +111,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -123,16 +123,16 @@ class Context implements \Magento\ObjectManager\ContextInterface
     /**
      * @param \Magento\Core\Model\Session\Validator $validator
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Message\CollectionFactory $messageFactory
      * @param \Magento\Core\Model\Message $message
      * @param \Magento\Core\Model\Cookie $cookie
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Url $url
      * @param $saveMethod
      * @param null $savePath
@@ -142,16 +142,16 @@ class Context implements \Magento\ObjectManager\ContextInterface
     public function __construct(
         \Magento\Core\Model\Session\Validator $validator,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Message\CollectionFactory $messageFactory,
         \Magento\Core\Model\Message $message,
         \Magento\Core\Model\Cookie $cookie,
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\RequestInterface $request,
+        \Magento\App\State $appState,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Url $url,
         $saveMethod,
         $savePath = null,
@@ -178,7 +178,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Event\Manager
+     * @return \Magento\Event\ManagerInterface
      */
     public function getEventManager()
     {
@@ -186,7 +186,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Helper\Http
+     * @return \Magento\Core\Helper\Http
      */
     public function getHttpHelper()
     {
@@ -194,7 +194,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Logger
+     * @return \Magento\Core\Model\Logger
      */
     public function getLogger()
     {
@@ -202,7 +202,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Store\Config
+     * @return \Magento\Core\Model\Store\Config
      */
     public function getStoreConfig()
     {
@@ -210,7 +210,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Session\Validator
+     * @return \Magento\Core\Model\Session\Validator
      */
     public function getValidator()
     {
@@ -250,7 +250,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\App\State
+     * @return \Magento\App\State
      */
     public function getAppState()
     {
@@ -258,7 +258,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Cookie
+     * @return \Magento\Core\Model\Cookie
      */
     public function getCookie()
     {
@@ -266,7 +266,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Dir
+     * @return \Magento\App\Dir
      */
     public function getDir()
     {
@@ -274,7 +274,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Message
+     * @return \Magento\Core\Model\Message
      */
     public function getMessage()
     {
@@ -282,7 +282,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Message\CollectionFactory
+     * @return \Magento\Core\Model\Message\CollectionFactory
      */
     public function getMessageFactory()
     {
@@ -290,7 +290,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
@@ -298,7 +298,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\StoreManager
+     * @return \Magento\Core\Model\StoreManager
      */
     public function getStoreManager()
     {
@@ -306,7 +306,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Url
+     * @return \Magento\Core\Model\Url
      */
     public function getUrl()
     {
diff --git a/app/code/Magento/Core/Model/Store.php b/app/code/Magento/Core/Model/Store.php
index 2b94ccf84d1..990294d8f77 100644
--- a/app/code/Magento/Core/Model/Store.php
+++ b/app/code/Magento/Core/Model/Store.php
@@ -246,7 +246,7 @@ class Store extends \Magento\Core\Model\AbstractModel
     protected $_url;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -256,7 +256,7 @@ class Store extends \Magento\Core\Model\AbstractModel
     protected $_isCustomEntryPoint = false;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -273,7 +273,7 @@ class Store extends \Magento\Core\Model\AbstractModel
     protected $_coreFileStorageDatabase = null;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -295,10 +295,10 @@ class Store extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Cache\Type\Config $configCacheType
      * @param \Magento\Core\Model\Url $url
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\State $appState
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Core\Model\Resource\Config\Data $configDataResource
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Config $coreConfig
      * @param \Magento\Core\Model\Resource\Store $resource
@@ -313,10 +313,10 @@ class Store extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Cache\Type\Config $configCacheType,
         \Magento\Core\Model\Url $url,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\State $appState,
+        \Magento\App\RequestInterface $request,
         \Magento\Core\Model\Resource\Config\Data $configDataResource,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Config $coreConfig,
         \Magento\Core\Model\Resource\Store $resource,
@@ -359,7 +359,7 @@ class Store extends \Magento\Core\Model\AbstractModel
     {
         parent::__wakeup();
         $this->_eventDispatcher = \Magento\Core\Model\ObjectManager::getInstance()
-            ->get('Magento\Core\Model\Event\Manager');
+            ->get('Magento\Event\ManagerInterface');
         $this->_cacheManager    = \Magento\Core\Model\ObjectManager::getInstance()
             ->get('Magento\Core\Model\CacheInterface');
         $this->_coreStoreConfig = \Magento\Core\Model\ObjectManager::getInstance()
@@ -557,7 +557,7 @@ class Store extends \Magento\Core\Model\AbstractModel
                     $url = $this->getConfig($path);
                     if (!$url) {
                         $url = $this->getBaseUrl(self::URL_TYPE_WEB, $secure)
-                            . $this->_dir->getUri(\Magento\Core\Model\Dir::PUB_LIB);
+                            . $this->_dir->getUri(\Magento\App\Dir::PUB_LIB);
                     }
                     break;
 
@@ -566,7 +566,7 @@ class Store extends \Magento\Core\Model\AbstractModel
                     $url = $this->getConfig($path);
                     if (!$url) {
                         $url = $this->getBaseUrl(self::URL_TYPE_WEB, $secure)
-                            . $this->_dir->getUri(\Magento\Core\Model\Dir::STATIC_VIEW);
+                            . $this->_dir->getUri(\Magento\App\Dir::STATIC_VIEW);
                     }
                     break;
 
@@ -575,7 +575,7 @@ class Store extends \Magento\Core\Model\AbstractModel
                     $url = $this->getConfig($path);
                     if (!$url) {
                         $url = $this->getBaseUrl(self::URL_TYPE_WEB, $secure)
-                            . $this->_dir->getUri(\Magento\Core\Model\Dir::PUB_VIEW_CACHE);
+                            . $this->_dir->getUri(\Magento\App\Dir::PUB_VIEW_CACHE);
                     }
                     break;
 
@@ -586,7 +586,7 @@ class Store extends \Magento\Core\Model\AbstractModel
                         $url = $this->getConfig($path);
                         if (!$url) {
                             $url = $this->getBaseUrl(self::URL_TYPE_WEB, $secure)
-                                . $this->_dir->getUri(\Magento\Core\Model\Dir::MEDIA);
+                                . $this->_dir->getUri(\Magento\App\Dir::MEDIA);
                         }
                     }
                     break;
@@ -644,16 +644,16 @@ class Store extends \Magento\Core\Model\AbstractModel
      * If we use Database file storage and server doesn't support rewrites (.htaccess in media folder)
      * we have to put name of fetching media script exactly into URL
      *
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param bool $secure
      * @return string|bool
      */
-    protected function _getMediaScriptUrl(\Magento\Core\Model\Dir $dirs, $secure)
+    protected function _getMediaScriptUrl(\Magento\App\Dir $dirs, $secure)
     {
         if (!$this->getConfig(self::XML_PATH_USE_REWRITES)
             && $this->_coreFileStorageDatabase->checkDbUsage()
         ) {
-            return $this->getBaseUrl(self::URL_TYPE_WEB, $secure) . $dirs->getUri(\Magento\Core\Model\Dir::PUB)
+            return $this->getBaseUrl(self::URL_TYPE_WEB, $secure) . $dirs->getUri(\Magento\App\Dir::PUB)
             . '/' . self::MEDIA_REWRITE_SCRIPT;
         }
         return false;
diff --git a/app/code/Magento/Core/Model/Store/Storage/Db.php b/app/code/Magento/Core/Model/Store/Storage/Db.php
index 5c3daad80a8..48006d75d33 100644
--- a/app/code/Magento/Core/Model/Store/Storage/Db.php
+++ b/app/code/Magento/Core/Model/Store/Storage/Db.php
@@ -135,7 +135,7 @@ class Db implements \Magento\Core\Model\Store\StorageInterface
     /**
      * Application state model
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -150,7 +150,7 @@ class Db implements \Magento\Core\Model\Store\StorageInterface
      * @param \Magento\Core\Model\Store\Group\Factory $groupFactory
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Cookie $cookie
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Backend\Model\Url\Proxy $proxy
      * @param bool $isSingleStoreAllowed
      * @param string $scopeCode
@@ -163,7 +163,7 @@ class Db implements \Magento\Core\Model\Store\StorageInterface
         \Magento\Core\Model\Store\Group\Factory $groupFactory,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Cookie $cookie,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Backend\Model\Url\Proxy $proxy,
         $isSingleStoreAllowed,
         $scopeCode,
diff --git a/app/code/Magento/Core/Model/Store/StorageFactory.php b/app/code/Magento/Core/Model/Store/StorageFactory.php
index 95135c130bc..ac28d5c395d 100644
--- a/app/code/Magento/Core/Model/Store/StorageFactory.php
+++ b/app/code/Magento/Core/Model/Store/StorageFactory.php
@@ -50,7 +50,7 @@ class StorageFactory
     protected $_cache = array();
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -70,27 +70,27 @@ class StorageFactory
     protected $_app;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $log
      * @param \Magento\Core\Model\ConfigInterface $config
      * @param \Magento\Core\Model\App\Proxy $app
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param string $defaultStorageClassName
      * @param string $installedStoreClassName
      */
     public function __construct(
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $log,
         \Magento\Core\Model\ConfigInterface $config,
         \Magento\Core\Model\App\Proxy $app,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         $defaultStorageClassName = 'Magento\Core\Model\Store\Storage\DefaultStorage',
         $installedStoreClassName = 'Magento\Core\Model\Store\Storage\Db'
     ) {
diff --git a/app/code/Magento/Core/Model/StoreManager.php b/app/code/Magento/Core/Model/StoreManager.php
index 263bab13342..a7b0c1fe6ee 100644
--- a/app/code/Magento/Core/Model/StoreManager.php
+++ b/app/code/Magento/Core/Model/StoreManager.php
@@ -35,14 +35,14 @@ class StoreManager implements \Magento\Core\Model\StoreManagerInterface
     /**
      * Event manager
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
     /**
      * Request model
      *
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -83,14 +83,14 @@ class StoreManager implements \Magento\Core\Model\StoreManagerInterface
 
     /**
      * @param \Magento\Core\Model\Store\StorageFactory $factory
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Core\Model\Factory\Helper $helperFactory
      * @param string $scopeCode
      * @param string $scopeType
      */
     public function __construct(
         \Magento\Core\Model\Store\StorageFactory $factory,
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Core\Model\Factory\Helper $helperFactory,
         $scopeCode = '',
         $scopeType = 'store'
diff --git a/app/code/Magento/Core/Model/Template.php b/app/code/Magento/Core/Model/Template.php
index 15c4affe69c..29b8ee28314 100644
--- a/app/code/Magento/Core/Model/Template.php
+++ b/app/code/Magento/Core/Model/Template.php
@@ -87,7 +87,7 @@ abstract class Template extends \Magento\Core\Model\AbstractModel
     /**
      * Design package instance
      *
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design = null;
 
@@ -102,7 +102,7 @@ abstract class Template extends \Magento\Core\Model\AbstractModel
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\App\Emulation $appEmulation
@@ -110,7 +110,7 @@ abstract class Template extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\App\Emulation $appEmulation,
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Decorator/DebugHints.php b/app/code/Magento/Core/Model/TemplateEngine/Decorator/DebugHints.php
new file mode 100644
index 00000000000..c7569483920
--- /dev/null
+++ b/app/code/Magento/Core/Model/TemplateEngine/Decorator/DebugHints.php
@@ -0,0 +1,103 @@
+<?php
+/**
+ * Decorator that inserts debugging hints into the rendered block contents
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\Model\TemplateEngine\Decorator;
+
+class DebugHints implements \Magento\Core\Model\TemplateEngine\EngineInterface
+{
+    /**
+     * @var \Magento\Core\Model\TemplateEngine\EngineInterface
+     */
+    private $_subject;
+
+    /**
+     * @var bool
+     */
+    private $_showBlockHints;
+
+    /**
+     * @param \Magento\Core\Model\TemplateEngine\EngineInterface $subject
+     * @param bool $showBlockHints Whether to include block into the debugging information or not
+     */
+    public function __construct(
+        \Magento\Core\Model\TemplateEngine\EngineInterface $subject,
+        $showBlockHints
+    ) {
+        $this->_subject = $subject;
+        $this->_showBlockHints = $showBlockHints;
+    }
+
+    /**
+     * Insert debugging hints into the rendered block contents
+     *
+     * {@inheritdoc}
+     */
+    public function render(\Magento\Core\Block\Template $block, $templateFile, array $dictionary = array())
+    {
+        $result = $this->_subject->render($block, $templateFile, $dictionary);
+        if ($this->_showBlockHints) {
+            $result = $this->_renderBlockHints($result, $block);
+        }
+        $result = $this->_renderTemplateHints($result, $templateFile);
+        return $result;
+    }
+
+    /**
+     * Insert template debugging hints into the rendered block contents
+     *
+     * @param string $blockHtml
+     * @param string $templateFile
+     * @return string
+     */
+    protected function _renderTemplateHints($blockHtml, $templateFile)
+    {
+        return <<<HTML
+<div style="position:relative; border:1px dotted red; margin:6px 2px; padding:18px 2px 2px 2px; zoom:1;">
+<div style="position:absolute; left:0; top:0; padding:2px 5px; background:red; color:white; font:normal 11px Arial;
+text-align:left !important; z-index:998;" onmouseover="this.style.zIndex='999'"
+onmouseout="this.style.zIndex='998'" title="{$templateFile}">{$templateFile}</div>
+{$blockHtml}
+</div>
+HTML;
+    }
+
+    /**
+     * Insert block debugging hints into the rendered block contents
+     *
+     * @param string $blockHtml
+     * @param \Magento\Core\Block\Template $block
+     * @return string
+     */
+    protected function _renderBlockHints($blockHtml, \Magento\Core\Block\Template $block)
+    {
+        $blockClass = get_class($block);
+        return <<<HTML
+<div style="position:absolute; right:0; top:0; padding:2px 5px; background:red; color:blue; font:normal 11px Arial;
+text-align:left !important; z-index:998;" onmouseover="this.style.zIndex='999'" onmouseout="this.style.zIndex='998'"
+title="{$blockClass}">{$blockClass}</div>
+{$blockHtml}
+HTML;
+    }
+}
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Factory.php b/app/code/Magento/Core/Model/TemplateEngine/Factory.php
index edb42aac889..bfa8d00ca74 100644
--- a/app/code/Magento/Core/Model/TemplateEngine/Factory.php
+++ b/app/code/Magento/Core/Model/TemplateEngine/Factory.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Factory class for Template Engine
+ * Factory that is able to create any template engine in the system
  *
  * Magento
  *
@@ -20,8 +20,6 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
@@ -29,34 +27,46 @@ namespace Magento\Core\Model\TemplateEngine;
 
 class Factory
 {
+    /**
+     * @var \Magento\ObjectManager
+     */
     protected $_objectManager;
 
     /**
-     * Template engine types
+     * @var array
      */
-    const ENGINE_TWIG = 'twig';
-    const ENGINE_PHTML = 'phtml';
+    protected $_engines;
 
-    public function __construct(\Magento\ObjectManager $objectManager)
-    {
+    /**
+     * @param \Magento\ObjectManager $objectManager
+     * @param array $engines Format: array('<name>' => 'TemplateEngine\Class', ...)
+     */
+    public function __construct(
+        \Magento\ObjectManager $objectManager,
+        array $engines
+    ) {
         $this->_objectManager = $objectManager;
+        $this->_engines = $engines;
     }
 
     /**
-     * Gets the singleton instance of the appropriate template engine
+     * Retrieve a template engine instance by its unique name
      *
      * @param string $name
      * @return \Magento\Core\Model\TemplateEngine\EngineInterface
-     * @throws \InvalidArgumentException if template engine doesn't exist
+     * @throws \InvalidArgumentException If template engine doesn't exist
+     * @throws \UnexpectedValueException If template engine doesn't implement the necessary interface
      */
-    public function get($name)
+    public function create($name)
     {
-        if (self::ENGINE_TWIG == $name) {
-            return $this->_objectManager->get('Magento\Core\Model\TemplateEngine\Twig');
-        } else if (self::ENGINE_PHTML == $name) {
-            return $this->_objectManager->get('Magento\Core\Model\TemplateEngine\Php');
+        if (!isset($this->_engines[$name])) {
+            throw new \InvalidArgumentException("Unknown template engine '$name'.");
+        }
+        $engineClass = $this->_engines[$name];
+        $engineInstance = $this->_objectManager->create($engineClass);
+        if (!($engineInstance instanceof \Magento\Core\Model\TemplateEngine\EngineInterface)) {
+            throw new \UnexpectedValueException("$engineClass has to implement the template engine interface.");
         }
-        // unknown type, throw exception
-        throw new \InvalidArgumentException('Unknown template engine type: ' . $name);
+        return $engineInstance;
     }
 }
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Plugin/DebugHints.php b/app/code/Magento/Core/Model/TemplateEngine/Plugin/DebugHints.php
new file mode 100644
index 00000000000..cb0e63a238c
--- /dev/null
+++ b/app/code/Magento/Core/Model/TemplateEngine/Plugin/DebugHints.php
@@ -0,0 +1,87 @@
+<?php
+/**
+ * Plugin for the template engine factory that makes a decision of whether to activate debugging hints or not
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\Model\TemplateEngine\Plugin;
+
+class DebugHints
+{
+    /**#@+
+     * XPath of configuration of the debugging hints
+     */
+    const XML_PATH_DEBUG_TEMPLATE_HINTS         = 'dev/debug/template_hints';
+    const XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS  = 'dev/debug/template_hints_blocks';
+    /**#@-*/
+
+    /**
+     * @var \Magento\ObjectManager
+     */
+    private $_objectManager;
+
+    /**
+     * @var \Magento\Core\Model\Store\Config
+     */
+    private $_storeConfig;
+
+    /**
+     * @var \Magento\Core\Helper\Data
+     */
+    private $_coreData;
+
+    /**
+     * @param \Magento\ObjectManager $objectManager
+     * @param \Magento\Core\Model\Store\Config $storeConfig
+     * @param \Magento\Core\Helper\Data $coreData
+     */
+    public function __construct(
+        \Magento\ObjectManager $objectManager,
+        \Magento\Core\Model\Store\Config $storeConfig,
+        \Magento\Core\Helper\Data $coreData
+    ) {
+        $this->_objectManager = $objectManager;
+        $this->_storeConfig = $storeConfig;
+        $this->_coreData = $coreData;
+    }
+
+    /**
+     * Wrap template engine instance with the debugging hints decorator, depending of the store configuration
+     *
+     * @param \Magento\Core\Model\TemplateEngine\EngineInterface $invocationResult
+     * @return \Magento\Core\Model\TemplateEngine\EngineInterface
+     */
+    public function afterCreate(\Magento\Core\Model\TemplateEngine\EngineInterface $invocationResult)
+    {
+        if ($this->_storeConfig->getConfig(self::XML_PATH_DEBUG_TEMPLATE_HINTS) && $this->_coreData->isDevAllowed()) {
+            $showBlockHints = $this->_storeConfig->getConfig(self::XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS);
+            return $this->_objectManager->create(
+                'Magento\Core\Model\TemplateEngine\Decorator\DebugHints',
+                array(
+                    'subject' => $invocationResult,
+                    'showBlockHints' => $showBlockHints,
+                )
+            );
+        }
+        return $invocationResult;
+    }
+}
diff --git a/app/code/Magento/Core/Model/App/Handler.php b/app/code/Magento/Core/Model/TemplateEngine/Pool.php
similarity index 57%
rename from app/code/Magento/Core/Model/App/Handler.php
rename to app/code/Magento/Core/Model/TemplateEngine/Pool.php
index 72c55e6c170..cffdaa8750d 100644
--- a/app/code/Magento/Core/Model/App/Handler.php
+++ b/app/code/Magento/Core/Model/TemplateEngine/Pool.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Application request handler. Launches front controller, request routing and dispatching process.
+ * In-memory pool of all template engines available in the system
  *
  * Magento
  *
@@ -23,34 +23,39 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\App;
+namespace Magento\Core\Model\TemplateEngine;
 
-class Handler implements \Magento\HTTP\HandlerInterface
+class Pool
 {
     /**
-     * Application object
-     *
-     * @var \Magento\Core\Model\AppInterface
+     * @var Factory
      */
-    protected $_app;
+    protected $_factory;
 
     /**
-     * @param \Magento\Core\Model\AppInterface $app
+     * @var EngineInterface[]
      */
-    public function __construct(\Magento\Core\Model\AppInterface $app)
+    protected $_engines = array();
+
+    /**
+     * @param Factory $factory
+     */
+    public function __construct(Factory $factory)
     {
-        $this->_app = $app;
+        $this->_factory = $factory;
     }
 
     /**
-     * Handle http request
+     * Retrieve a template engine instance by its unique name
      *
-     * @param \Zend_Controller_Request_Http $request
-     * @param \Zend_Controller_Response_Http $response
+     * @param string $name
+     * @return EngineInterface
      */
-    public function handle(\Zend_Controller_Request_Http $request, \Zend_Controller_Response_Http $response)
+    public function get($name)
     {
-        $this->_app->setRequest($request)->setResponse($response)->run();
+        if (!isset($this->_engines[$name])) {
+            $this->_engines[$name] = $this->_factory->create($name);
+        }
+        return $this->_engines[$name];
     }
 }
-
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Twig.php b/app/code/Magento/Core/Model/TemplateEngine/Twig.php
deleted file mode 100644
index a93d4162ffc..00000000000
--- a/app/code/Magento/Core/Model/TemplateEngine/Twig.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-/**
- * Template engine that enables Twig templates to be used for rendering.
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine;
-
-class Twig implements \Magento\Core\Model\TemplateEngine\EngineInterface,
-    \Magento\Core\Model\TemplateEngine\BlockTrackerInterface
-{
-    /**
-     * @var \Magento\Core\Block\Template
-     */
-    protected $_currentBlock;
-
-    /**
-     * @var \Magento\Core\Model\TemplateEngine\Twig\EnvironmentFactory
-     */
-    protected $_factory;
-
-    /**
-     * @var \Magento\Core\Model\TemplateEngine\Twig\Extension
-     */
-    protected $_extension;
-
-    /**
-     * @var \Twig_Environment
-     */
-    protected $_environment;
-
-    /**
-     *  Populates the environment based on the environment builder provided.
-     *
-     * @param \Magento\Core\Model\TemplateEngine\Twig\EnvironmentFactory $factory
-     * @param \Magento\Core\Model\TemplateEngine\Twig\Extension $extension
-     */
-    public function __construct(
-        \Magento\Core\Model\TemplateEngine\Twig\EnvironmentFactory $factory,
-        \Magento\Core\Model\TemplateEngine\Twig\Extension $extension
-    ) {
-        $this->_factory = $factory;
-        $this->_extension = $extension;
-
-        $this->_extension->setBlockTracker($this);
-    }
-
-    /**
-     * Render the named Twig template using the given block as the context of the Twig helper functions/filters.
-     *
-     * @param \Magento\Core\Block\Template $block
-     * @param string $fileName
-     * @param array $dictionary
-     * @throws \Exception 
-     * @return string
-     */
-    public function render(\Magento\Core\Block\Template $block, $fileName, array $dictionary = array())
-    {
-        if ($this->_environment === null) {
-            $this->_environment = $this->_factory->create();
-        }
-        $dictionary['block'] = $block;
-        // save state from previous block
-        $previousBlock = $this->_currentBlock;
-        $this->_currentBlock = $block;
-        try {
-            $output = $this->_environment->render($fileName, $dictionary);
-        } catch (\Exception $renderException) {
-            // restore state for previous block
-            $this->_currentBlock = $previousBlock;
-            throw $renderException;     
-        }
-        // restore state for previous block
-        $this->_currentBlock = $previousBlock;
-        return $output;
-    }
-
-    /**
-     * Get the current block
-     *
-     * @return \Magento\Core\Block\Template
-     */
-    public function getCurrentBlock()
-    {
-        return $this->_currentBlock;
-    }
-}
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Twig/CommonFunctions.php b/app/code/Magento/Core/Model/TemplateEngine/Twig/CommonFunctions.php
deleted file mode 100644
index a58e8b9a7ee..00000000000
--- a/app/code/Magento/Core/Model/TemplateEngine/Twig/CommonFunctions.php
+++ /dev/null
@@ -1,228 +0,0 @@
-<?php
-/**
- * Common functions needed for twig extension
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class CommonFunctions
-{
-    /**
-     * @var \Magento\Core\Model\UrlInterface
-     */
-    private $_urlBuilder;
-
-    /**
-     * @var \Magento\Core\Helper\Url
-     */
-    private $_urlHelper;
-
-    /**
-     * @var \Magento\Core\Helper\Data
-     */
-    private $_dataHelper;
-
-    /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    private $_storeManager;
-
-    /**
-     * @var \Magento\Core\Model\View\Url
-     */
-    private $_viewUrl;
-
-    /**
-     * @var \Magento\Core\Model\View\Config
-     */
-    private $_viewConfig;
-
-    /**
-     * @var \Magento\Catalog\Helper\Image
-     */
-    private $_helperImage;
-
-    /**
-     * @var \Magento\Core\Model\Logger
-     */
-    private $_logger;
-
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    private $_locale;
-
-    public function __construct(
-        \Magento\Core\Model\UrlInterface $urlBuilder,
-        \Magento\Core\Helper\Url $urlHelper,
-        \Magento\Core\Helper\Data $dataHelper,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\View\Url $viewUrl,
-        \Magento\Core\Model\View\Config $viewConfig,
-        \Magento\Catalog\Helper\Image $helperImage,
-        \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\LocaleInterface $locale
-    ) {
-        $this->_urlBuilder = $urlBuilder;
-        $this->_urlHelper = $urlHelper;
-        $this->_dataHelper = $dataHelper;
-        $this->_storeManager = $storeManager;
-        $this->_viewUrl = $viewUrl;
-        $this->_viewConfig = $viewConfig;
-        $this->_helperImage = $helperImage;
-        $this->_logger = $logger;
-        $this->_locale = $locale;
-    }
-
-    /**
-     * Returns a list of global functions to add to the existing list.
-     *
-     * @return array An array of global functions
-     */
-    public function getFunctions()
-    {
-        $options = array('is_safe' => array('html'));
-        return array(
-            new \Twig_SimpleFunction('viewFileUrl', array($this, 'getViewFileUrl'), $options),
-            new \Twig_SimpleFunction('getSelectHtml', array($this, 'getSelectHtml'), $options),
-            new \Twig_SimpleFunction('getDateFormat', array($this->_locale, 'getDateFormat')),
-            new \Twig_SimpleFunction('getSelectFromToHtml', array($this, 'getSelectFromToHtml'), $options),
-            new \Twig_SimpleFunction('getUrl', array($this->_urlBuilder, 'getUrl'), $options),
-            new \Twig_SimpleFunction('encodeUrl', array($this->_urlHelper, 'getEncodedUrl'), $options),
-            new \Twig_SimpleFunction('getCurrentUrl', array($this->_urlHelper, 'getCurrentUrl'), $options),
-            new \Twig_SimpleFunction('isModuleOutputEnabled',
-                array($this->_dataHelper, 'isModuleOutputEnabled'), $options),
-            new \Twig_SimpleFunction('getStoreConfig', array($this->_storeManager->getStore(), 'getConfig'), $options),
-            new \Twig_SimpleFunction('getDesignVarValue', array($this->_viewConfig->getViewConfig(), 'getVarValue'),
-                $options),
-            new \Twig_SimpleFunction('getDefaultImage', array($this->_helperImage, 'getDefaultImage'), $options),
-        );
-    }
-
-    /**
-     * Retrieve url of themes file
-     *
-     * @param string $file path to file in theme
-     * @param array $params
-     * @return string
-     * @throws \Magento\Exception
-     */
-    public function getViewFileUrl($file = null, array $params = array())
-    {
-        try {
-            return $this->_viewUrl->getViewFileUrl($file, $params);
-        } catch (\Magento\Exception $e) {
-            $this->_logger->logException($e);
-            return $this->_urlBuilder->getUrl('', array('_direct' => 'core/index/notfound'));
-        }
-    }
-
-    /**
-     * @param \Magento\Core\Block\Html\Select $selectBlock
-     * @param $identifier
-     * @param $name
-     * @param $nameOptionsById
-     * @param null $selectedValue
-     * @return mixed
-     */
-    public function getSelectHtml($selectBlock, $identifier, $name, $nameOptionsById, $selectedValue = null)
-    {
-
-        $options = array();
-        foreach ($nameOptionsById as $value => $label) {
-            $options[] = array('value' => $value, 'label' => $label);
-        }
-        return $this->_initSelectBlock($selectBlock, $identifier, $name, $nameOptionsById, $selectedValue)
-            ->setOptions($options)
-            ->getHtml();
-    }
-
-    /**
-     * From \Magento\Catalog\Block\Product\View\Options\Type\Date: Return drop-down html with range of values
-     *
-     * @param \Magento\Core\Block\Html\Select $selectBlock
-     * @param string $name Id/name of html select element
-     * @param int $fromNumber  Start position
-     * @param int $toNumber    End position
-     * @param $nameOptionsById
-     * @param $optionsId
-     * @param null $value Value selected
-     * @return string Formatted Html
-     */
-    public function getSelectFromToHtml(
-        $selectBlock, $name, $fromNumber, $toNumber,
-        $nameOptionsById, $optionsId, $value = null
-    ) {
-        $options = array(
-            array('value' => '', 'label' => '-')
-        );
-        for ($i = $fromNumber; $i <= $toNumber; $i++) {
-            $options[] = array('value' => $i, 'label' => $this->_getValueWithLeadingZeros($i));
-        }
-        return $this->_initSelectBlock($selectBlock, $optionsId, $name, $nameOptionsById, $value)
-            ->setOptions($options)
-            ->getHtml();
-    }
-
-    /**
-     * Initializes values in the selection list.
-     * From \Magento\Catalog\Block\Product\View\Options\Type\Date: HTML select element
-     *
-     * @param \Magento\Core\Block\Html\Select $selectBlock
-     * @param $identifier
-     * @param $name
-     * @param $nameOptionsById
-     * @param null $value
-     * @return \Magento\Core\Block\Html\Select
-     */
-    protected function _initSelectBlock($selectBlock, $identifier, $name, $nameOptionsById, $value = null)
-    {
-        $selectBlock->setId('options_' . $identifier . '_' . $name);
-        $selectBlock->setClass('product-custom-option datetime-picker');
-        $selectBlock->setExtraParams();
-        $selectBlock->setName('options[' . $identifier . '][' . $name . ']');
-
-        $extraParams = 'style="width:auto"';
-        $selectBlock->setExtraParams($extraParams);
-
-        if (is_null($value)) {
-            $value = $nameOptionsById;
-        }
-        if (!is_null($value)) {
-            $selectBlock->setValue($value);
-        }
-
-        return $selectBlock;
-    }
-
-    /**
-     * From \Magento\Catalog\Block\Product\View\Options\Type\Date: Add Leading Zeros to number less than 10
-     *
-     * @param int|string $value value to pad with zeros
-     * @return string
-     */
-    protected function _getValueWithLeadingZeros($value)
-    {
-        return $value < 10 ? '0'.$value : $value;
-    }
-}
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Twig/EnvironmentFactory.php b/app/code/Magento/Core/Model/TemplateEngine/Twig/EnvironmentFactory.php
deleted file mode 100644
index 806220890a5..00000000000
--- a/app/code/Magento/Core/Model/TemplateEngine/Twig/EnvironmentFactory.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-/**
- * Factory is used to hide the details of how a Twig Environment is built.
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class EnvironmentFactory
-{
-    /**
-     * @var \Magento\Core\Model\TemplateEngine\Twig\Extension
-     */
-    protected $_extension;
-
-    /**
-     * @var \Magento\Filesystem
-     */
-    protected $_filesystem;
-    
-    /**
-     * @var \Twig_Environment
-     */
-    private $_environment;
-
-    /**
-     * @var \Magento\Core\Model\Dir
-     */
-    private $_dir;
-    
-    /**
-     * @var \Magento\Core\Model\Logger
-     */
-    private $_logger;
-
-    /**
-     * @var \Twig_LoaderInterface
-     */
-    private $_loader;
-
-    /**
-     * Create new instance of factory
-     *
-     * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\TemplateEngine\Twig\Extension $extension
-     * @param \Magento\Core\Model\Dir $dir
-     * @param \Magento\Core\Model\Logger $logger
-     * @param \Twig_LoaderInterface $loader
-     */
-    public function __construct(
-        \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\TemplateEngine\Twig\Extension $extension,
-        \Magento\Core\Model\Dir $dir,
-        \Magento\Core\Model\Logger $logger,
-        \Twig_LoaderInterface $loader
-    ) {
-        $this->_filesystem = $filesystem;
-        $this->_extension = $extension;
-        $this->_dir = $dir;
-        $this->_logger = $logger;
-        $this->_loader = $loader;
-        $this->_environment = null;
-    }
-
-    /**
-     * Initialize (if necessary) and return the Twig environment.
-     *
-     * @return \Twig_Environment
-     */
-    public function create()
-    {
-        if ($this->_environment === null) {
-            $this->_environment = new \Twig_Environment($this->_loader);
-            try {
-                $precompiledTmpltDir = $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . '/twig_templates';
-                $this->_filesystem->createDirectory($precompiledTmpltDir);
-                $this->_environment->setCache($precompiledTmpltDir);
-            } catch (\Magento\Filesystem\FilesystemException $e) {
-                // Twig will just run slowly but not worth stopping Magento for it
-                $this->_logger->logException($e);
-            } catch (\InvalidArgumentException $e) {
-                // Can happen if path isn't found, shouldn't stop Magento
-                $this->_logger->logException($e);
-            }
-            $this->_environment->enableStrictVariables();
-            $this->_environment->addExtension(new \Twig_Extension_Escaper('html'));
-            $this->_environment->addExtension(new \Twig_Extension_Optimizer(1));
-            $this->_environment->addExtension($this->_extension);
-            $this->_environmentInitialized = true;
-        }
-        return $this->_environment;
-    }
-}
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Twig/Extension.php b/app/code/Magento/Core/Model/TemplateEngine/Twig/Extension.php
deleted file mode 100644
index c87f4899f14..00000000000
--- a/app/code/Magento/Core/Model/TemplateEngine/Twig/Extension.php
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-/**
- * A twig extension for Magento
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class Extension extends \Twig_Extension
-{
-    const MAGENTO = 'Magento';
-
-    /**
-     * @var \Magento\Core\Model\TemplateEngine\Twig\LayoutFunctions
-     */
-    protected $_layoutFunctions;
-
-    /**
-     * @var \Magento\Core\Model\TemplateEngine\Twig\CommonFunctions
-     */
-    protected $_commonFunctions;
-
-    /**
-     * @var \Magento\Core\Model\TemplateEngine\BlockTrackerInterface
-     */
-    private $_blockTracker;
-
-    /**
-     * Create new Extension
-     *
-     * @param \Magento\Core\Model\TemplateEngine\Twig\CommonFunctions $commonFunctions
-     * @param \Magento\Core\Model\TemplateEngine\Twig\LayoutFunctions $layoutFunctions
-     */
-    public function __construct(
-        \Magento\Core\Model\TemplateEngine\Twig\CommonFunctions $commonFunctions,
-        \Magento\Core\Model\TemplateEngine\Twig\LayoutFunctions $layoutFunctions
-    ) {
-        $this->_commonFunctions = $commonFunctions;
-        $this->_layoutFunctions = $layoutFunctions;
-    }
-
-    /**
-     * Define the name of the extension to be used in Twig environment
-     *
-     * @return string
-     */
-    public function getName()
-    {
-        return self::MAGENTO;
-    }
-
-    /**
-     * Returns a list of global functions to add to the existing list.
-     *
-     * @return array An array of global functions
-     */
-    public function getFunctions()
-    {
-        $functions = $this->_commonFunctions->getFunctions();
-        $functions = array_merge($functions, $this->_layoutFunctions->getFunctions());
-
-        return $functions;
-    }
-
-    /**
-     * Returns a list of filters to add to the existing list.
-     *
-     * @return array An array of filters
-     */
-    public function getFilters()
-    {
-        $options = array('is_safe' => array('html'));
-        return array(
-            new \Twig_SimpleFilter('translate', array($this, 'translate'), $options),
-        );
-    }
-
-    /**
-     * Translate block sentence
-     *
-     * @return string
-     */
-    public function translate()
-    {
-        return call_user_func_array('__', func_get_args());
-    }
-
-    /**
-     * Sets the block tracker
-     *
-     * @param \Magento\Core\Model\TemplateEngine\BlockTrackerInterface $blockTracker
-     */
-    public function setBlockTracker(\Magento\Core\Model\TemplateEngine\BlockTrackerInterface $blockTracker)
-    {
-        $this->_blockTracker = $blockTracker;
-        // Need to inject this dependency at runtime to avoid cyclical dependency
-        $this->_layoutFunctions->setBlockTracker($blockTracker);
-    }
-}
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Twig/FullFileName.php b/app/code/Magento/Core/Model/TemplateEngine/Twig/FullFileName.php
deleted file mode 100644
index 997d6a6f6fd..00000000000
--- a/app/code/Magento/Core/Model/TemplateEngine/Twig/FullFileName.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-/**
- * Custom Loader that gets the contents of the file name from provided absolute path
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class FullFileName implements \Twig_LoaderInterface, \Twig_ExistsLoaderInterface
-{
-    /**
-     * Caches the exists of a template so that we don't have to check the disk every time.
-     *
-     * @var array
-     */
-    private $_existsCache = array();
-    
-    /**
-     * @var \Magento\Core\Model\App\State
-     */
-    private $_appState;
-    
-    /**
-     * Create new instance of FullFileName loader
-     *
-     * @param \Magento\Core\Model\App\State
-     */
-    public function __construct(\Magento\Core\Model\App\State $appState)
-    {
-        $this->_appState = $appState;
-    }
-    
-    
-    /**
-     * Gets the source code of a template, given its name.
-     *
-     * @param string $name The name of the template to load
-     * @return string The template source code
-     * @throws \Twig_Error_Loader When $name is not found
-     */
-    public function getSource($name) 
-    {
-        $return = file_get_contents($name);
-        if ($return === false) {
-            throw new \Twig_Error_Loader(sprintf('Unable to find "%s".', $name));
-        }
-        // add to cache
-        $this->exists($name);
-        return $return;
-    }
-    
-    /**
-     * Gets the cache key to use for the cache for a given template name.
-     *
-     * @param string $name The name of the template to load
-     * @return string The cache key
-     */
-    public function getCacheKey($name)
-    {
-        return $name;
-    }
-    
-    /**
-     * Returns true if the template is still fresh.
-     *
-     * @param string $name The template name
-     * @param int $time The last modification time of the cached template
-     * @return Boolean true if the template is fresh, false otherwise
-     * @throws \Twig_Error_Loader When last-modified time of $name cannot be found
-     */
-    public function isFresh($name, $time) 
-    {
-        if ($this->_appState->getMode() === \Magento\Core\Model\App\State::MODE_DEVELOPER) {
-            $lastModifiedTime = filemtime($name);
-            if ($lastModifiedTime === false) {
-                throw new \Twig_Error_Loader(sprintf('Could not get last-modified time for "%s".', $name));
-            }
-            return $lastModifiedTime < $time;
-        }
-
-        return true;
-    }
-
-    /**
-     * Determines whether the template exists or not.
-     *
-     * Since the template name is interpreted as a fully-qualified path,
-     * this is equivalent to checking whether
-     * the file at the given location exists.
-     *
-     * @param string $name
-     * @return bool
-     * @throws \Twig_Error_Loader if $name is not a file
-     */
-    public function exists($name)
-    {
-        if (!isset($this->_existsCache[$name])) {
-            $this->_existsCache[$name] = file_exists($name);
-        }
-        return $this->_existsCache[$name];
-    }
-}
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Twig/LayoutFunctions.php b/app/code/Magento/Core/Model/TemplateEngine/Twig/LayoutFunctions.php
deleted file mode 100644
index 152dc3580db..00000000000
--- a/app/code/Magento/Core/Model/TemplateEngine/Twig/LayoutFunctions.php
+++ /dev/null
@@ -1,164 +0,0 @@
-<?php
-/**
- * Layout functions needed for twig extension
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class LayoutFunctions
-{
-
-    /**
-     * @var \Magento\Core\Model\Layout
-     */
-    private $_layout;
-
-    /**
-     * @var \Magento\Core\Model\TemplateEngine\BlockTrackerInterface
-     */
-    private $_blockTracker;
-
-    public function __construct(
-        \Magento\Core\Model\Layout $layout
-    ) {
-        $this->_layout = $layout;
-    }
-
-    /**
-     * Sets the block tracker that is needed for dynamically determining the child html at runtime
-     *
-     * @param \Magento\Core\Model\TemplateEngine\BlockTrackerInterface $blockTracker
-     */
-    public function setBlockTracker(\Magento\Core\Model\TemplateEngine\BlockTrackerInterface $blockTracker)
-    {
-        $this->_blockTracker = $blockTracker;
-    }
-
-    /**
-     * Returns a list of global functions to add to the existing list.
-     *
-     * @return array An array of global functions
-     */
-    public function getFunctions()
-    {
-        $options = array('is_safe' => array('html'));
-        return array(
-            new \Twig_SimpleFunction('getBlockData', array($this, 'getBlockData'), $options),
-            new \Twig_SimpleFunction('getMessagesHtml',
-                array($this->_layout->getMessagesBlock(), 'getGroupedHtml'), $options),
-            new \Twig_SimpleFunction('executeRenderer', array($this->_layout, 'executeRenderer'), $options),
-            new \Twig_SimpleFunction('getChildHtml', array($this, 'getChildHtml'), $options),
-            new \Twig_SimpleFunction('getGroupChildNames', array($this, 'getGroupChildNames'), $options),
-            new \Twig_SimpleFunction('getBlockNameByAlias', array($this, 'getBlockNameByAlias'), $options),
-            new \Twig_SimpleFunction('createBlock', array($this->_layout, 'createBlock')),
-            new \Twig_SimpleFunction('getElementAlias', array($this->_layout, 'getElementAlias'), $options),
-            new \Twig_SimpleFunction('renderElement', array($this->_layout, 'renderElement'), $options),
-        );
-    }
-
-    /**
-     * Returns data assigned to the block instance
-     *
-     * @param $name
-     * @param string $key
-     * @return mixed|null
-     */
-    public function getBlockData($name, $key = '')
-    {
-        $block = $this->_layout->getBlock($name);
-        if ($block) {
-            return $block->getData($key);
-        }
-        return null;
-    }
-
-    /**
-     * Render Block defined by the alias from the parent block defined by the name
-     *
-     * @param $name
-     * @param string $alias
-     * @param bool $useCache
-     * @return string
-     */
-    public function renderBlock($name, $alias = '', $useCache = true)
-    {
-        $out = '';
-        if ($alias) {
-            $childName = $this->_layout->getChildName($name, $alias);
-            if ($childName) {
-                $out = $this->_layout->renderElement($childName, $useCache);
-            }
-        } else {
-            foreach ($this->_layout->getChildNames($name) as $child) {
-                $out .= $this->_layout->renderElement($child, $useCache);
-            }
-        }
-
-        return $out;
-    }
-
-    /**
-     * Render children of the current block defined by alias
-     *
-     * @param string $alias
-     * @param bool $useCache
-     * @return string
-     */
-    public function getChildHtml($alias = '', $useCache = true)
-    {
-        $name = $this->_blockTracker->getCurrentBlock()->getNameInLayout();
-        return $this->renderBlock($name, $alias, $useCache);
-    }
-
-    /**
-     * Get a group of child blocks
-     *
-     * Returns an array of <alias> => <block>
-     * or an array of <alias> => <callback_result>
-     * The callback currently supports only $this methods and passes the alias as parameter
-     *
-     * @param string $parentName
-     * @param string $groupName
-     * @return array
-     */
-    public function getGroupChildNames($parentName, $groupName)
-    {
-        return $this->_layout->getGroupChildNames($parentName, $groupName);
-    }
-
-    /**
-     * Get name of the block defined by alias in context of parent block defined by name
-     *
-     * @param $parentName
-     * @param $alias
-     * @return bool|string
-     */
-    public function getBlockNameByAlias($parentName, $alias)
-    {
-        $name = $this->_layout->getChildName($parentName, $alias);
-        if (!$name) {
-            return '';
-        }
-        return $name;
-    }
-}
diff --git a/app/code/Magento/Core/Model/Theme.php b/app/code/Magento/Core/Model/Theme.php
index 3a462a139d9..38fc8e2c318 100644
--- a/app/code/Magento/Core/Model/Theme.php
+++ b/app/code/Magento/Core/Model/Theme.php
@@ -29,7 +29,7 @@ namespace Magento\Core\Model;
 /**
  * Theme model class
  *
- * @method \Magento\Core\Model\Theme save()
+ * @method \Magento\View\Design\ThemeInterface save()
  * @method string getPackageCode()
  * @method string getParentThemePath()
  * @method string getParentId()
@@ -41,22 +41,22 @@ namespace Magento\Core\Model;
  * @method int getType()
  * @method array getAssignedStores()
  * @method \Magento\Core\Model\Resource\Theme\Collection getCollection()
- * @method \Magento\Core\Model\Theme setAssignedStores(array $stores)
- * @method \Magento\Core\Model\Theme addData(array $data)
- * @method \Magento\Core\Model\Theme setParentId(int $id)
- * @method \Magento\Core\Model\Theme setParentTheme($parentTheme)
- * @method \Magento\Core\Model\Theme setPackageCode(string $packageCode)
- * @method \Magento\Core\Model\Theme setThemeCode(string $themeCode)
- * @method \Magento\Core\Model\Theme setThemePath(string $themePath)
- * @method \Magento\Core\Model\Theme setThemeVersion(string $themeVersion)
- * @method \Magento\Core\Model\Theme setArea(string $area)
- * @method \Magento\Core\Model\Theme setThemeTitle(string $themeTitle)
- * @method \Magento\Core\Model\Theme setType(int $type)
- * @method \Magento\Core\Model\Theme setCode(string $code)
+ * @method \Magento\View\Design\ThemeInterface setAssignedStores(array $stores)
+ * @method \Magento\View\Design\ThemeInterface addData(array $data)
+ * @method \Magento\View\Design\ThemeInterface setParentId(int $id)
+ * @method \Magento\View\Design\ThemeInterface setParentTheme($parentTheme)
+ * @method \Magento\View\Design\ThemeInterface setPackageCode(string $packageCode)
+ * @method \Magento\View\Design\ThemeInterface setThemeCode(string $themeCode)
+ * @method \Magento\View\Design\ThemeInterface setThemePath(string $themePath)
+ * @method \Magento\View\Design\ThemeInterface setThemeVersion(string $themeVersion)
+ * @method \Magento\View\Design\ThemeInterface setArea(string $area)
+ * @method \Magento\View\Design\ThemeInterface setThemeTitle(string $themeTitle)
+ * @method \Magento\View\Design\ThemeInterface setType(int $type)
+ * @method \Magento\View\Design\ThemeInterface setCode(string $code)
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  */
-class Theme extends \Magento\Core\Model\AbstractModel implements \Magento\Core\Model\ThemeInterface
+class Theme extends \Magento\Core\Model\AbstractModel implements \Magento\View\Design\ThemeInterface
 {
     /**#@+
      * Theme types group
diff --git a/app/code/Magento/Core/Model/Theme/Collection.php b/app/code/Magento/Core/Model/Theme/Collection.php
index 3599b97bbe2..0308169d709 100644
--- a/app/code/Magento/Core/Model/Theme/Collection.php
+++ b/app/code/Magento/Core/Model/Theme/Collection.php
@@ -59,17 +59,17 @@ class Collection extends \Magento\Data\Collection
 
     /**
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\EntityFactory $entityFactory
     ) {
         parent::__construct($entityFactory);
         $this->_filesystem = $filesystem;
-        $this->setBaseDir($dirs->getDir(\Magento\Core\Model\Dir::THEMES));
+        $this->setBaseDir($dirs->getDir(\Magento\App\Dir::THEMES));
     }
 
     /**
@@ -188,11 +188,11 @@ class Collection extends \Magento\Data\Collection
     protected function _updateRelations()
     {
         $themeItems = $this->getItems();
-        /** @var $theme \Magento\Object|\Magento\Core\Model\ThemeInterface */
+        /** @var $theme \Magento\Object|\Magento\View\Design\ThemeInterface */
         foreach ($themeItems as $theme) {
             $parentThemePath = $theme->getData('parent_theme_path');
             if ($parentThemePath) {
-                $themePath = $theme->getArea() . \Magento\Core\Model\ThemeInterface::PATH_SEPARATOR . $parentThemePath;
+                $themePath = $theme->getArea() . \Magento\View\Design\ThemeInterface::PATH_SEPARATOR . $parentThemePath;
                 if (isset($themeItems[$themePath])) {
                     $theme->setParentTheme($themeItems[$themePath]);
                 }
@@ -277,7 +277,7 @@ class Collection extends \Magento\Data\Collection
     protected function _renderFilters()
     {
         $filters = $this->getFilter(array());
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($this->getItems() as $itemKey => $theme) {
             $removeItem = false;
             foreach ($filters as $filter) {
@@ -340,10 +340,10 @@ class Collection extends \Magento\Data\Collection
     /**
      * Checks that a theme present in filesystem collection
      *
-     * @param \Magento\Core\Model\ThemeInterface $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return bool
      */
-    public function hasTheme(\Magento\Core\Model\ThemeInterface $theme)
+    public function hasTheme(\Magento\View\Design\ThemeInterface $theme)
     {
         $themeItems = $this->getItems();
         return $theme->getThemePath() && isset($themeItems[$theme->getFullPath()]);
diff --git a/app/code/Magento/Core/Model/Theme/CopyService.php b/app/code/Magento/Core/Model/Theme/CopyService.php
index 718e309013c..8af315c0e13 100644
--- a/app/code/Magento/Core/Model/Theme/CopyService.php
+++ b/app/code/Magento/Core/Model/Theme/CopyService.php
@@ -52,7 +52,7 @@ class CopyService
     protected $_updateFactory;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -66,7 +66,7 @@ class CopyService
      * @param \Magento\Core\Model\Theme\FileFactory $fileFactory
      * @param \Magento\Core\Model\Layout\Link $link
      * @param \Magento\Core\Model\Layout\UpdateFactory $updateFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Theme\Customization\Path $customization
      */
     public function __construct(
@@ -74,7 +74,7 @@ class CopyService
         \Magento\Core\Model\Theme\FileFactory $fileFactory,
         \Magento\Core\Model\Layout\Link $link,
         \Magento\Core\Model\Layout\UpdateFactory $updateFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Theme\Customization\Path $customization
     ) {
         $this->_filesystem = $filesystem;
@@ -88,10 +88,10 @@ class CopyService
     /**
      * Copy customizations from one theme to another
      *
-     * @param \Magento\Core\Model\Theme $source
-     * @param \Magento\Core\Model\Theme $target
+     * @param \Magento\View\Design\ThemeInterface $source
+     * @param \Magento\View\Design\ThemeInterface $target
      */
-    public function copy(\Magento\Core\Model\Theme $source, \Magento\Core\Model\Theme $target)
+    public function copy(\Magento\View\Design\ThemeInterface $source, \Magento\View\Design\ThemeInterface $target)
     {
         $this->_copyDatabaseCustomization($source, $target);
         $this->_copyLayoutCustomization($source, $target);
@@ -101,11 +101,13 @@ class CopyService
     /**
      * Copy customizations stored in a database from one theme to another, overriding existing data
      *
-     * @param \Magento\Core\Model\Theme $source
-     * @param \Magento\Core\Model\Theme $target
+     * @param \Magento\View\Design\ThemeInterface $source
+     * @param \Magento\View\Design\ThemeInterface $target
      */
-    protected function _copyDatabaseCustomization(\Magento\Core\Model\Theme $source, \Magento\Core\Model\Theme $target)
-    {
+    protected function _copyDatabaseCustomization(
+        \Magento\View\Design\ThemeInterface $source,
+        \Magento\View\Design\ThemeInterface $target
+    ) {
         /** @var $themeFile \Magento\Core\Model\Theme\File */
         foreach ($target->getCustomization()->getFiles() as $themeFile) {
             $themeFile->delete();
@@ -130,11 +132,13 @@ class CopyService
     /**
      * Add layout links to general layout updates for themes
      *
-     * @param \Magento\Core\Model\Theme $source
-     * @param \Magento\Core\Model\Theme $target
+     * @param \Magento\View\Design\ThemeInterface $source
+     * @param \Magento\View\Design\ThemeInterface $target
      */
-    protected function _copyLayoutCustomization(\Magento\Core\Model\Theme $source, \Magento\Core\Model\Theme $target)
-    {
+    protected function _copyLayoutCustomization(
+        \Magento\View\Design\ThemeInterface $source,
+        \Magento\View\Design\ThemeInterface $target
+    ) {
         $update = $this->_updateFactory->create();
         /** @var $targetUpdates \Magento\Core\Model\Resource\Layout\Update\Collection */
         $targetUpdates = $update->getCollection();
@@ -163,12 +167,12 @@ class CopyService
     /**
      * Copy customizations stored in a file system from one theme to another, overriding existing data
      *
-     * @param \Magento\Core\Model\Theme $source
-     * @param \Magento\Core\Model\Theme $target
+     * @param \Magento\View\Design\ThemeInterface $source
+     * @param \Magento\View\Design\ThemeInterface $target
      */
     protected function _copyFilesystemCustomization(
-        \Magento\Core\Model\Theme $source,
-        \Magento\Core\Model\Theme $target
+        \Magento\View\Design\ThemeInterface $source,
+        \Magento\View\Design\ThemeInterface $target
     ) {
         $sourcePath = $this->_customizationPath->getCustomizationPath($source);
         $targetPath = $this->_customizationPath->getCustomizationPath($target);
diff --git a/app/code/Magento/Core/Model/Theme/Customization.php b/app/code/Magento/Core/Model/Theme/Customization.php
index 2c6d7d65eff..e0bd1b786a0 100644
--- a/app/code/Magento/Core/Model/Theme/Customization.php
+++ b/app/code/Magento/Core/Model/Theme/Customization.php
@@ -59,12 +59,12 @@ class Customization implements \Magento\Core\Model\Theme\CustomizationInterface
     /**
      * @param \Magento\Core\Model\Resource\Theme\File\CollectionFactory $fileFactory
      * @param \Magento\Core\Model\Theme\Customization\Path $customizationPath
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      */
     public function __construct(
         \Magento\Core\Model\Resource\Theme\File\CollectionFactory $fileFactory,
         \Magento\Core\Model\Theme\Customization\Path $customizationPath,
-        \Magento\Core\Model\Theme $theme = null
+        \Magento\View\Design\ThemeInterface $theme = null
     ) {
         $this->_fileFactory = $fileFactory;
         $this->_customizationPath = $customizationPath;
diff --git a/app/code/Magento/Core/Model/Theme/Customization/Path.php b/app/code/Magento/Core/Model/Theme/Customization/Path.php
index ec49ab44db9..0addfb608d3 100644
--- a/app/code/Magento/Core/Model/Theme/Customization/Path.php
+++ b/app/code/Magento/Core/Model/Theme/Customization/Path.php
@@ -37,16 +37,16 @@ class Path
     const DIR_NAME = 'theme_customization';
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
     /**
      * Initialize dependencies
      *
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      */
-    public function __construct(\Magento\Core\Model\Dir $dir)
+    public function __construct(\Magento\App\Dir $dir)
     {
         $this->_dir = $dir;
     }
@@ -54,14 +54,14 @@ class Path
     /**
      * Returns customization absolute path
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return string|null
      */
-    public function getCustomizationPath(\Magento\Core\Model\Theme $theme)
+    public function getCustomizationPath(\Magento\View\Design\ThemeInterface $theme)
     {
         $path = null;
         if ($theme->getId()) {
-            $path = $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA)
+            $path = $this->_dir->getDir(\Magento\App\Dir::MEDIA)
                 . DIRECTORY_SEPARATOR . self::DIR_NAME
                 . DIRECTORY_SEPARATOR . $theme->getId();
         }
@@ -71,14 +71,14 @@ class Path
     /**
      * Get directory where themes files are stored
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return string|null
      */
-    public function getThemeFilesPath(\Magento\Core\Model\Theme $theme)
+    public function getThemeFilesPath(\Magento\View\Design\ThemeInterface $theme)
     {
         $path = null;
         if ($theme->getFullPath()) {
-            $physicalThemesDir = $this->_dir->getDir(\Magento\Core\Model\Dir::THEMES);
+            $physicalThemesDir = $this->_dir->getDir(\Magento\App\Dir::THEMES);
             $path = \Magento\Filesystem::fixSeparator($physicalThemesDir . DIRECTORY_SEPARATOR . $theme->getFullPath());
         }
         return $path;
@@ -87,10 +87,10 @@ class Path
     /**
      * Get path to custom view configuration file
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return string|null
      */
-    public function getCustomViewConfigPath(\Magento\Core\Model\Theme $theme)
+    public function getCustomViewConfigPath(\Magento\View\Design\ThemeInterface $theme)
     {
         $path = null;
         if ($theme->getId()) {
diff --git a/app/code/Magento/Core/Model/Theme/Domain/Factory.php b/app/code/Magento/Core/Model/Theme/Domain/Factory.php
index bf4f93a1a7d..6353cc6a7d9 100644
--- a/app/code/Magento/Core/Model/Theme/Domain/Factory.php
+++ b/app/code/Magento/Core/Model/Theme/Domain/Factory.php
@@ -56,11 +56,11 @@ class Factory
     /**
      * Create new config object
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return \Magento\Core\Model\Theme\Domain\Virtual|\Magento\Core\Model\Theme\Domain\Staging
      * @throws \Magento\Core\Exception
      */
-    public function create(\Magento\Core\Model\Theme $theme)
+    public function create(\Magento\View\Design\ThemeInterface $theme)
     {
         if (!isset($this->_types[$theme->getType()])) {
             throw new \Magento\Core\Exception(sprintf('Invalid type of theme domain model "%s"', $theme->getType()));
diff --git a/app/code/Magento/Core/Model/Theme/Domain/Physical.php b/app/code/Magento/Core/Model/Theme/Domain/Physical.php
index 427f1d4bba1..3cd53635583 100644
--- a/app/code/Magento/Core/Model/Theme/Domain/Physical.php
+++ b/app/code/Magento/Core/Model/Theme/Domain/Physical.php
@@ -54,13 +54,13 @@ class Physical
     protected $_themeCollection;
 
     /**
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param \Magento\Core\Model\ThemeFactory $themeFactory
      * @param \Magento\Core\Model\Theme\CopyService $themeCopyService
      * @param \Magento\Core\Model\Resource\Theme\Collection $themeCollection
      */
     public function __construct(
-        \Magento\Core\Model\Theme $theme,
+        \Magento\View\Design\ThemeInterface $theme,
         \Magento\Core\Model\ThemeFactory $themeFactory,
         \Magento\Core\Model\Theme\CopyService $themeCopyService,
         \Magento\Core\Model\Resource\Theme\Collection $themeCollection
@@ -74,7 +74,7 @@ class Physical
     /**
      * Create theme customization
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return \Magento\Core\Model\Theme
      */
     public function createVirtualTheme($theme)
@@ -86,7 +86,7 @@ class Physical
         $themeData['theme_title'] = $this->_getVirtualThemeTitle($theme);
         $themeData['type'] = \Magento\Core\Model\Theme::TYPE_VIRTUAL;
 
-        /** @var $themeCustomization \Magento\Core\Model\Theme */
+        /** @var $themeCustomization \Magento\View\Design\ThemeInterface */
         $themeCustomization = $this->_themeFactory->create()->setData($themeData);
         $themeCustomization->getThemeImage()->createPreviewImageCopy($theme->getPreviewImage());
         $themeCustomization->save();
@@ -99,7 +99,7 @@ class Physical
     /**
      * Get virtual theme title
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return string
      */
     protected function _getVirtualThemeTitle($theme)
diff --git a/app/code/Magento/Core/Model/Theme/Domain/Staging.php b/app/code/Magento/Core/Model/Theme/Domain/Staging.php
index f43153fc5e8..f1302a2d0ce 100644
--- a/app/code/Magento/Core/Model/Theme/Domain/Staging.php
+++ b/app/code/Magento/Core/Model/Theme/Domain/Staging.php
@@ -44,11 +44,11 @@ class Staging
     protected $_themeCopyService;
 
     /**
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param \Magento\Core\Model\Theme\CopyService $themeCopyService
      */
     public function __construct(
-        \Magento\Core\Model\Theme $theme,
+        \Magento\View\Design\ThemeInterface $theme,
         \Magento\Core\Model\Theme\CopyService $themeCopyService
     ) {
         $this->_theme = $theme;
diff --git a/app/code/Magento/Core/Model/Theme/Domain/Virtual.php b/app/code/Magento/Core/Model/Theme/Domain/Virtual.php
index 29600e46f1b..491a5f07087 100644
--- a/app/code/Magento/Core/Model/Theme/Domain/Virtual.php
+++ b/app/code/Magento/Core/Model/Theme/Domain/Virtual.php
@@ -63,13 +63,13 @@ class Virtual
     protected $_customizationConfig;
 
     /**
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param \Magento\Core\Model\ThemeFactory $themeFactory
      * @param \Magento\Core\Model\Theme\CopyService $themeCopyService
      * @param \Magento\Theme\Model\Config\Customization $customizationConfig
      */
     public function __construct(
-        \Magento\Core\Model\Theme $theme,
+        \Magento\View\Design\ThemeInterface $theme,
         \Magento\Core\Model\ThemeFactory $themeFactory,
         \Magento\Core\Model\Theme\CopyService $themeCopyService,
         \Magento\Theme\Model\Config\Customization $customizationConfig
@@ -104,7 +104,7 @@ class Virtual
      */
     public function getPhysicalTheme()
     {
-        /** @var $parentTheme \Magento\Core\Model\Theme */
+        /** @var $parentTheme \Magento\View\Design\ThemeInterface */
         $parentTheme = $this->_theme->getParentTheme();
         while ($parentTheme && !$parentTheme->isPhysical()) {
             $parentTheme = $parentTheme->getParentTheme();
diff --git a/app/code/Magento/Core/Model/Theme/File.php b/app/code/Magento/Core/Model/Theme/File.php
index 067f18d71fa..c7fb466d569 100644
--- a/app/code/Magento/Core/Model/Theme/File.php
+++ b/app/code/Magento/Core/Model/Theme/File.php
@@ -126,7 +126,7 @@ class File extends \Magento\Core\Model\AbstractModel
     /**
      * {@inheritdoc}
      */
-    public function setTheme(\Magento\Core\Model\Theme $theme)
+    public function setTheme(\Magento\View\Design\ThemeInterface $theme)
     {
         $this->_theme = $theme;
         $this->setData('theme_id', $theme->getId());
diff --git a/app/code/Magento/Core/Model/Theme/FileInterface.php b/app/code/Magento/Core/Model/Theme/FileInterface.php
index 09374c19d21..71de934f586 100644
--- a/app/code/Magento/Core/Model/Theme/FileInterface.php
+++ b/app/code/Magento/Core/Model/Theme/FileInterface.php
@@ -49,10 +49,10 @@ interface FileInterface
     /**
      * Attaches selected theme to current file
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return $this
      */
-    public function setTheme(\Magento\Core\Model\Theme $theme);
+    public function setTheme(\Magento\View\Design\ThemeInterface $theme);
 
     /**
      * Get theme model
diff --git a/app/code/Magento/Core/Model/Theme/FlyweightFactory.php b/app/code/Magento/Core/Model/Theme/FlyweightFactory.php
index 6524b43832a..7c5ec567b8a 100644
--- a/app/code/Magento/Core/Model/Theme/FlyweightFactory.php
+++ b/app/code/Magento/Core/Model/Theme/FlyweightFactory.php
@@ -64,7 +64,7 @@ class FlyweightFactory
      * @return \Magento\Core\Model\Theme|null
      * @throws \InvalidArgumentException
      */
-    public function create($themeKey, $area = \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA)
+    public function create($themeKey, $area = \Magento\View\DesignInterface::DEFAULT_AREA)
     {
         if (is_numeric($themeKey)) {
             $themeModel = $this->_loadById($themeKey);
@@ -92,8 +92,8 @@ class FlyweightFactory
             return $this->_themes[$themeId];
         }
 
-        /** @var $themeModel \Magento\Core\Model\Theme */
-        $themeModel = $this->_objectManager->create('Magento\Core\Model\Theme');
+        /** @var $themeModel \Magento\View\Design\ThemeInterface */
+        $themeModel = $this->_objectManager->create('Magento\View\Design\ThemeInterface');
         $themeModel->load($themeId);
         return $themeModel;
     }
@@ -107,7 +107,7 @@ class FlyweightFactory
      */
     protected function _loadByPath($themePath, $area)
     {
-        $fullPath = $area . \Magento\Core\Model\ThemeInterface::PATH_SEPARATOR . $themePath;
+        $fullPath = $area . \Magento\View\Design\ThemeInterface::PATH_SEPARATOR . $themePath;
         if (isset($this->_themesByPath[$fullPath])) {
             return $this->_themesByPath[$fullPath];
         }
@@ -121,10 +121,10 @@ class FlyweightFactory
     /**
      * Add theme to shared collection
      *
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @return $this
      */
-    protected function _addTheme(\Magento\Core\Model\Theme $themeModel)
+    protected function _addTheme(\Magento\View\Design\ThemeInterface $themeModel)
     {
         if ($themeModel->getId()) {
             $this->_themes[$themeModel->getId()] = $themeModel;
diff --git a/app/code/Magento/Core/Model/Theme/Image.php b/app/code/Magento/Core/Model/Theme/Image.php
index 1b36c85986d..19c0909655e 100644
--- a/app/code/Magento/Core/Model/Theme/Image.php
+++ b/app/code/Magento/Core/Model/Theme/Image.php
@@ -79,7 +79,7 @@ class Image
      * @param \Magento\Core\Model\Theme\Image\Uploader $uploader
      * @param \Magento\Core\Model\Theme\Image\Path $themeImagePath
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
@@ -87,7 +87,7 @@ class Image
         \Magento\Core\Model\Theme\Image\Uploader $uploader,
         \Magento\Core\Model\Theme\Image\Path $themeImagePath,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Theme $theme = null
+        \Magento\View\Design\ThemeInterface $theme = null
     ) {
         $this->_filesystem = $filesystem;
         $this->_imageFactory = $imageFactory;
diff --git a/app/code/Magento/Core/Model/Theme/Image/Path.php b/app/code/Magento/Core/Model/Theme/Image/Path.php
index 7203ce50b64..9fc553dd6a7 100644
--- a/app/code/Magento/Core/Model/Theme/Image/Path.php
+++ b/app/code/Magento/Core/Model/Theme/Image/Path.php
@@ -42,7 +42,7 @@ class Path
     const DEFAULT_PREVIEW_IMAGE = 'Magento_Core::theme/default_preview.jpg';
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -59,12 +59,12 @@ class Path
     /**
      * Initialize dependencies
      *
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Core\Model\StoreManager $storeManager
      */
     public function __construct(
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Core\Model\StoreManager $storeManager
     ) {
@@ -101,7 +101,7 @@ class Path
      */
     public function getImagePreviewDirectory()
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . DIRECTORY_SEPARATOR
+        return $this->_dir->getDir(\Magento\App\Dir::MEDIA) . DIRECTORY_SEPARATOR
             . str_replace('/', DIRECTORY_SEPARATOR, self::PREVIEW_DIRECTORY_PATH);
     }
 
@@ -113,7 +113,7 @@ class Path
     public function getTemporaryDirectory()
     {
         return implode(DIRECTORY_SEPARATOR, array(
-            $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA), 'theme', 'origin'
+            $this->_dir->getDir(\Magento\App\Dir::MEDIA), 'theme', 'origin'
         ));
     }
 }
diff --git a/app/code/Magento/Core/Model/Theme/Observer.php b/app/code/Magento/Core/Model/Theme/Observer.php
index 21e2622a20d..c985b9bc41c 100644
--- a/app/code/Magento/Core/Model/Theme/Observer.php
+++ b/app/code/Magento/Core/Model/Theme/Observer.php
@@ -47,7 +47,7 @@ class Observer
     protected $_themeConfig;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventDispatcher;
 
@@ -55,13 +55,13 @@ class Observer
      * @param \Magento\Core\Model\Theme\ImageFactory $themeImageFactory
      * @param \Magento\Core\Model\Resource\Layout\Update\Collection $updateCollection
      * @param \Magento\Theme\Model\Config\Customization $themeConfig
-     * @param \Magento\Core\Model\Event\Manager $eventDispatcher
+     * @param \Magento\Event\ManagerInterface $eventDispatcher
      */
     public function __construct(
         \Magento\Core\Model\Theme\ImageFactory $themeImageFactory,
         \Magento\Core\Model\Resource\Layout\Update\Collection $updateCollection,
         \Magento\Theme\Model\Config\Customization $themeConfig,
-        \Magento\Core\Model\Event\Manager $eventDispatcher
+        \Magento\Event\ManagerInterface $eventDispatcher
     ) {
         $this->_themeImageFactory = $themeImageFactory;
         $this->_updateCollection = $updateCollection;
@@ -81,7 +81,7 @@ class Observer
         if ($theme instanceof \Magento\Core\Model\Theme) {
             return;
         }
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         if ($this->_themeConfig->isThemeAssignedToStore($theme)) {
             throw new \Magento\Core\Exception(__('Theme isn\'t deletable.'));
         }
@@ -98,7 +98,7 @@ class Observer
     {
         $theme = $observer->getEvent()->getData('theme');
         if ($theme instanceof \Magento\Core\Model\Theme) {
-            /** @var $theme \Magento\Core\Model\Theme */
+            /** @var $theme \Magento\View\Design\ThemeInterface */
             if ($this->_themeConfig->isThemeAssignedToStore($theme)) {
                 $this->_eventDispatcher->dispatch('assigned_theme_changed', array('theme' => $this));
             }
diff --git a/app/code/Magento/Core/Model/Theme/Registration.php b/app/code/Magento/Core/Model/Theme/Registration.php
index 6dbd31069e5..2e0d0a8a565 100644
--- a/app/code/Magento/Core/Model/Theme/Registration.php
+++ b/app/code/Magento/Core/Model/Theme/Registration.php
@@ -109,7 +109,7 @@ class Registration
      * Register theme and recursively all its ascendants
      * Second param is optional and is used to prevent circular references in inheritance chain
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param array $inheritanceChain
      * @return \Magento\Core\Model\Theme\Collection
      * @throws \Magento\Core\Exception
@@ -146,10 +146,10 @@ class Registration
     /**
      * Save preview image for theme
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return $this
      */
-    protected function _savePreviewImage(\Magento\Core\Model\Theme $theme)
+    protected function _savePreviewImage(\Magento\View\Design\ThemeInterface $theme)
     {
         $themeDirectory = $theme->getCustomization()->getThemeFilesPath();
         if (!$theme->getPreviewImage() || !$themeDirectory) {
@@ -181,7 +181,7 @@ class Registration
     public function checkPhysicalThemes()
     {
         $themes = $this->_collectionFactory->create()->addTypeFilter(\Magento\Core\Model\Theme::TYPE_PHYSICAL);
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themes as $theme) {
             if (!$this->_themeCollection->hasTheme($theme)) {
                 $theme->setType(\Magento\Core\Model\Theme::TYPE_VIRTUAL)->save();
@@ -201,7 +201,7 @@ class Registration
             list($parentType, $childType) = $typesSequence;
             $collection = $this->_collectionFactory->create();
             $collection->addTypeRelationFilter($parentType, $childType);
-            /** @var $theme \Magento\Core\Model\Theme */
+            /** @var $theme \Magento\View\Design\ThemeInterface */
             foreach ($collection as $theme) {
                 $parentId = $this->_getResetParentId($theme);
                 if ($theme->getParentId() != $parentId) {
@@ -215,10 +215,10 @@ class Registration
     /**
      * Reset parent themes by type
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return int|null
      */
-    protected function _getResetParentId(\Magento\Core\Model\Theme $theme)
+    protected function _getResetParentId(\Magento\View\Design\ThemeInterface $theme)
     {
         $parentTheme = $theme->getParentTheme();
         while ($parentTheme) {
diff --git a/app/code/Magento/Core/Model/Translate.php b/app/code/Magento/Core/Model/Translate.php
index 30338a4be86..ea8f4e757c7 100644
--- a/app/code/Magento/Core/Model/Translate.php
+++ b/app/code/Magento/Core/Model/Translate.php
@@ -139,7 +139,7 @@ class Translate
     protected $_localeHierarchy = array();
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_viewDesign;
 
@@ -164,7 +164,7 @@ class Translate
     protected $_placeholderRender;
 
     /**
-     * @var \Magento\Core\Model\ModuleList
+     * @var \Magento\App\ModuleList
      */
     protected $_moduleList;
 
@@ -189,13 +189,13 @@ class Translate
     protected $_app;
 
     /**
-     * @param \Magento\Core\Model\View\DesignInterface $viewDesign
+     * @param \Magento\View\DesignInterface $viewDesign
      * @param \Magento\Core\Model\Locale\Hierarchy\Config $config
      * @param \Magento\Core\Model\Translate\Factory $translateFactory
      * @param \Magento\Cache\FrontendInterface $cache
      * @param \Magento\Core\Model\View\FileSystem $viewFileSystem
      * @param \Magento\Phrase\Renderer\Placeholder $placeholderRender
-     * @param \Magento\Core\Model\ModuleList $moduleList
+     * @param \Magento\App\ModuleList $moduleList
      * @param \Magento\Core\Model\Config\Modules\Reader $modulesReader
      * @param \Magento\Core\Model\Config $coreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
@@ -205,13 +205,13 @@ class Translate
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $viewDesign,
+        \Magento\View\DesignInterface $viewDesign,
         \Magento\Core\Model\Locale\Hierarchy\Config $config,
         \Magento\Core\Model\Translate\Factory $translateFactory,
         \Magento\Cache\FrontendInterface $cache,
         \Magento\Core\Model\View\FileSystem $viewFileSystem,
         \Magento\Phrase\Renderer\Placeholder $placeholderRender,
-        \Magento\Core\Model\ModuleList $moduleList,
+        \Magento\App\ModuleList $moduleList,
         \Magento\Core\Model\Config\Modules\Reader $modulesReader,
         \Magento\Core\Model\Config $coreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
@@ -474,7 +474,7 @@ class Translate
      */
     protected function _getModuleTranslationFile($moduleName, $locale)
     {
-        $file = $this->_modulesReader->getModuleDir(\Magento\Core\Model\Dir::LOCALE, $moduleName);
+        $file = $this->_modulesReader->getModuleDir(\Magento\App\Dir::LOCALE, $moduleName);
         $file .= DS . $locale . '.csv';
         return $file;
     }
@@ -487,7 +487,7 @@ class Translate
      */
     protected function _getThemeTranslationFile($locale)
     {
-        return $this->_viewFileSystem->getFilename(\Magento\Core\Model\Dir::LOCALE . DS . $locale . '.csv');
+        return $this->_viewFileSystem->getFilename(\Magento\App\Dir::LOCALE . DS . $locale . '.csv');
     }
 
     /**
diff --git a/app/code/Magento/Core/Model/Translate/Inline.php b/app/code/Magento/Core/Model/Translate/Inline.php
index 5e4b5a434e5..ec89a025037 100644
--- a/app/code/Magento/Core/Model/Translate/Inline.php
+++ b/app/code/Magento/Core/Model/Translate/Inline.php
@@ -73,7 +73,7 @@ class Inline implements \Magento\Core\Model\Translate\InlineInterface
     protected $_url;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -87,11 +87,11 @@ class Inline implements \Magento\Core\Model\Translate\InlineInterface
     /**
      * Initialize inline translation model
      *
-     * @param \Magento\Core\Model\Translate\InlineParser $parser
+     * @param InlineParser $parser
      * @param \Magento\Core\Model\Translate $translate
      * @param \Magento\Backend\Model\Url $backendUrl
      * @param \Magento\Core\Model\Url $url
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      */
     public function __construct(
@@ -99,7 +99,7 @@ class Inline implements \Magento\Core\Model\Translate\InlineInterface
         \Magento\Core\Model\Translate $translate,
         \Magento\Backend\Model\Url $backendUrl,
         \Magento\Core\Model\Url $url,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Core\Model\Store\Config $coreStoreConfig
     ) {
         $this->_coreStoreConfig = $coreStoreConfig;
diff --git a/app/code/Magento/Core/Model/Translate/InlineParser.php b/app/code/Magento/Core/Model/Translate/InlineParser.php
index 7541a7d1750..95911821938 100644
--- a/app/code/Magento/Core/Model/Translate/InlineParser.php
+++ b/app/code/Magento/Core/Model/Translate/InlineParser.php
@@ -125,7 +125,7 @@ class InlineParser
     );
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -154,13 +154,13 @@ class InlineParser
      *
      * @param \Magento\Core\Model\Resource\Translate\String $resource
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Helper\Data $helper
      * @param \Zend_Filter_Interface $inputFilter
      */
     public function __construct(
         \Magento\Core\Model\Resource\Translate\String $resource,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Helper\Data $helper,
         \Magento\Core\Model\StoreManager $storeManager,
         \Zend_Filter_Interface $inputFilter
@@ -173,7 +173,7 @@ class InlineParser
     }
 
     /**
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return \Magento\View\DesignInterface
      */
     public function getDesignPackage()
     {
diff --git a/app/code/Magento/Core/Model/Url.php b/app/code/Magento/Core/Model/Url.php
index 207c27abb87..6b458f92202 100644
--- a/app/code/Magento/Core/Model/Url.php
+++ b/app/code/Magento/Core/Model/Url.php
@@ -78,7 +78,12 @@
  */
 namespace Magento\Core\Model;
 
-class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
+use Magento\Core\Model\App;
+use Magento\Core\Model\Session;
+use Magento\Core\Model\Store;
+use Magento\Core\Model\StoreManager;
+
+class Url extends \Magento\Object implements \Magento\UrlInterface
 {
     /**
      * Configuration data cache
@@ -106,9 +111,9 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
     );
 
     /**
-     * Controller request object
+     * Request instance
      *
-     * @var \Zend_Controller_Request_Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -154,21 +159,27 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
     protected $_session;
 
     /**
-     * Constructor
-     *
-     * By default is looking for first argument as array and assigns it as object
-     * attributes This behavior may change in child classes
+     * Router list
      *
-     * @param \Magento\Core\Model\Url\SecurityInfoInterface $urlSecurityInfo
-     * @param \Magento\Core\Model\Store\Config $coreStoreConfig
+     * @var \Magento\App\RouterListInterface
+     */
+    protected $_routerList;
+
+    /**
+     * @param \Magento\App\RouterListInterface $routerList
+     * @param \Magento\App\RequestInterface $request
+     * @param Url\SecurityInfoInterface $urlSecurityInfo
+     * @param Store\Config $coreStoreConfig
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Session $session
+     * @param App $app
+     * @param StoreManager $storeManager
+     * @param Session $session
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Url\SecurityInfoInterface $urlSecurityInfo,
+        \Magento\App\RouterListInterface $routerList,
+        \Magento\App\RequestInterface $request,
+        Url\SecurityInfoInterface $urlSecurityInfo,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\App $app,
@@ -176,6 +187,8 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
         \Magento\Core\Model\Session $session,
         array $data = array()
     ) {
+        $this->_request = $request;
+        $this->_routerList = $routerList;
         $this->_urlSecurityInfo = $urlSecurityInfo;
         $this->_coreStoreConfig = $coreStoreConfig;
         $this->_coreData = $coreData;
@@ -325,10 +338,10 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
     /**
      * Set request
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\Core\Model\Url
      */
-    public function setRequest(\Zend_Controller_Request_Http $request)
+    public function setRequest(\Magento\App\RequestInterface $request)
     {
         $this->_request = $request;
         return $this;
@@ -337,13 +350,10 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
     /**
      * Zend request object
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
-        if (!$this->_request) {
-            $this->_request = $this->_app->getRequest();
-        }
         return $this->_request;
     }
 
@@ -537,7 +547,7 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
     public function getRoutePath($routeParams = array())
     {
         if (!$this->hasData('route_path')) {
-            $routePath = $this->getRequest()->getAlias(\Magento\Core\Model\Url\Rewrite::REWRITE_REQUEST_PATH_ALIAS);
+            $routePath = $this->getRequest()->getAlias(Url\Rewrite::REWRITE_REQUEST_PATH_ALIAS);
             if (!empty($routeParams['_use_rewrite']) && ($routePath !== null)) {
                 $this->setData('route_path', $routePath);
                 return $routePath;
@@ -587,7 +597,7 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
     {
         if (!$this->hasData('route_front_name')) {
             $routeId = $this->getRouteName();
-            $router = $this->_app->getFrontController()->getRouterList()->getRouterByRoute($routeId);
+            $router = $this->_routerList->getRouterByRoute($routeId);
             $frontName = $router->getFrontNameByRoute($routeId);
 
             $this->setRouteFrontName($frontName);
@@ -1192,7 +1202,7 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
     {
         $key = 'use_session_id_for_url_' . (int) $secure;
         if (is_null($this->getData($key))) {
-            $httpHost = $this->_app->getFrontController()->getRequest()->getHttpHost();
+            $httpHost = $this->_request->getHttpHost();
             $urlHost = parse_url($this->getStore()->getBaseUrl(\Magento\Core\Model\Store::URL_TYPE_LINK, $secure),
                 PHP_URL_HOST);
 
diff --git a/app/code/Magento/Core/Model/Url/Rewrite.php b/app/code/Magento/Core/Model/Url/Rewrite.php
index 67ca0c0fdd8..313ea3ac05a 100644
--- a/app/code/Magento/Core/Model/Url/Rewrite.php
+++ b/app/code/Magento/Core/Model/Url/Rewrite.php
@@ -81,7 +81,7 @@ class Rewrite extends \Magento\Core\Model\AbstractModel
     protected $_app;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -95,7 +95,7 @@ class Rewrite extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -106,7 +106,7 @@ class Rewrite extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
@@ -240,14 +240,14 @@ class Rewrite extends \Magento\Core\Model\AbstractModel
         return $this;
     }
 
+
     /**
-     * Implement logic of custom rewrites
+     * Perform custom url rewrites
      *
-     * @param   \Zend_Controller_Request_Http $request
-     * @param   \Zend_Controller_Response_Http $response
-     * @return  \Magento\Core\Model\Url
+     * @param \Magento\App\RequestInterface $request
+     * @return bool
      */
-    public function rewrite(\Zend_Controller_Request_Http $request=null, \Zend_Controller_Response_Http $response=null)
+    public function rewrite(\Magento\App\RequestInterface $request = null)
     {
         if (!$this->_appState->isInstalled()) {
             return false;
@@ -255,9 +255,6 @@ class Rewrite extends \Magento\Core\Model\AbstractModel
         if (is_null($request)) {
             $request = $this->_app->getFrontController()->getRequest();
         }
-        if (is_null($response)) {
-            $response = $this->_app->getFrontController()->getResponse();
-        }
         if (is_null($this->getStoreId()) || false === $this->getStoreId()) {
             $this->setStoreId($this->_storeManager->getStore()->getId());
         }
diff --git a/app/code/Magento/Core/Model/View/Config.php b/app/code/Magento/Core/Model/View/Config.php
index d4f22e275de..628d99c58c0 100644
--- a/app/code/Magento/Core/Model/View/Config.php
+++ b/app/code/Magento/Core/Model/View/Config.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Core\Model\View;
 
-class Config
+class Config implements \Magento\View\ConfigInterface
 {
     /**
      * List of view configuration objects per theme
@@ -91,7 +91,7 @@ class Config
     public function getViewConfig(array $params = array())
     {
         $this->_viewService->updateDesignParams($params);
-        /** @var $currentTheme \Magento\Core\Model\Theme */
+        /** @var $currentTheme \Magento\View\Design\ThemeInterface */
         $currentTheme = $params['themeModel'];
         $key = $currentTheme->getId();
         if (isset($this->_viewConfigs[$key])) {
diff --git a/app/code/Magento/Core/Model/View/DeployedFilesManager.php b/app/code/Magento/Core/Model/View/DeployedFilesManager.php
index 5a4c021ec07..6fb6a5e1ef9 100644
--- a/app/code/Magento/Core/Model/View/DeployedFilesManager.php
+++ b/app/code/Magento/Core/Model/View/DeployedFilesManager.php
@@ -83,7 +83,7 @@ class DeployedFilesManager implements \Magento\Core\Model\View\PublicFilesManage
      */
     protected function _getDeployedFilePath($filePath, $params)
     {
-        /** @var $themeModel \Magento\Core\Model\Theme */
+        /** @var $themeModel \Magento\View\Design\ThemeInterface */
         $themeModel = $params['themeModel'];
         $themePath = $themeModel->getThemePath();
         while (empty($themePath) && $themeModel) {
diff --git a/app/code/Magento/Core/Model/View/Design.php b/app/code/Magento/Core/Model/View/Design.php
index d00868d9097..9ee5dafee23 100644
--- a/app/code/Magento/Core/Model/View/Design.php
+++ b/app/code/Magento/Core/Model/View/Design.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Core\Model\View;
 
-class Design implements \Magento\Core\Model\View\DesignInterface
+class Design implements \Magento\View\DesignInterface
 {
     /**
      * Common node path to theme design configuration
diff --git a/app/code/Magento/Core/Model/View/Design/Proxy.php b/app/code/Magento/Core/Model/View/Design/Proxy.php
index 70fc9df0c85..cae0f470c42 100644
--- a/app/code/Magento/Core/Model/View/Design/Proxy.php
+++ b/app/code/Magento/Core/Model/View/Design/Proxy.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Core\Model\View\Design;
 
-class Proxy implements \Magento\Core\Model\View\DesignInterface
+class Proxy implements \Magento\View\DesignInterface
 {
     /**
      * @var \Magento\ObjectManager
@@ -64,7 +64,7 @@ class Proxy implements \Magento\Core\Model\View\DesignInterface
      * Set package area
      *
      * @param string $area
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return \Magento\View\DesignInterface
      */
     public function setArea($area)
     {
@@ -86,7 +86,7 @@ class Proxy implements \Magento\Core\Model\View\DesignInterface
      *
      * @param \Magento\Core\Model\Theme|int|string $theme
      * @param string $area
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return \Magento\View\DesignInterface
      */
     public function setDesignTheme($theme, $area = null)
     {
@@ -108,7 +108,7 @@ class Proxy implements \Magento\Core\Model\View\DesignInterface
     /**
      * Set default design theme
      *
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return \Magento\View\DesignInterface
      */
     public function setDefaultDesignTheme()
     {
diff --git a/app/code/Magento/Core/Model/View/Publisher.php b/app/code/Magento/Core/Model/View/Publisher.php
index b94a60feffe..1385462c670 100644
--- a/app/code/Magento/Core/Model/View/Publisher.php
+++ b/app/code/Magento/Core/Model/View/Publisher.php
@@ -89,7 +89,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
     protected $_allowFilesDuplication;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -106,7 +106,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
      * @param \Magento\Core\Helper\Css $cssHelper
      * @param \Magento\Core\Model\View\Service $viewService
      * @param \Magento\Core\Model\View\FileSystem $viewFileSystem
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Config\Modules\Reader $modulesReader
      * @param $allowFilesDuplication
      */
@@ -116,7 +116,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
         \Magento\Core\Helper\Css $cssHelper,
         \Magento\Core\Model\View\Service $viewService,
         \Magento\Core\Model\View\FileSystem $viewFileSystem,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Config\Modules\Reader $modulesReader,
         $allowFilesDuplication
     ) {
@@ -252,7 +252,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
      */
     protected function _needToProcessFile($filePath)
     {
-        $jsPath = $this->_dir->getDir(\Magento\Core\Model\Dir::PUB_LIB) . DS;
+        $jsPath = $this->_dir->getDir(\Magento\App\Dir::PUB_LIB) . DS;
         if (strncmp($filePath, $jsPath, strlen($jsPath)) === 0) {
             return false;
         }
@@ -271,7 +271,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
             return true;
         }
 
-        return ($this->_viewService->getAppMode() == \Magento\Core\Model\App\State::MODE_DEVELOPER)
+        return ($this->_viewService->getAppMode() == \Magento\App\State::MODE_DEVELOPER)
             && $this->_getExtension($filePath) == self::CONTENT_TYPE_CSS;
     }
 
@@ -296,7 +296,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
      */
     protected function _buildPublicViewRedundantFilename($file, array $params)
     {
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = $params['themeModel'];
         if ($theme->getThemePath()) {
             $designPath = str_replace('/', DS, $theme->getThemePath());
@@ -321,7 +321,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
      */
     protected function _buildPublicViewSufficientFilename($filename, array $params)
     {
-        $designDir = $this->_dir->getDir(\Magento\Core\Model\Dir::THEMES) . DS;
+        $designDir = $this->_dir->getDir(\Magento\App\Dir::THEMES) . DS;
         if (0 === strpos($filename, $designDir)) {
             // theme file
             $publicFile = substr($filename, strlen($designDir));
@@ -388,7 +388,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
             $filePath = $this->_viewService->extractScope($fileId, $params);
         } else {
             /* Check if module file overridden on theme level based on _module property and file path */
-            if ($params['module'] && strpos($parentFilePath, $this->_dir->getDir(\Magento\Core\Model\Dir::THEMES)) === 0) {
+            if ($params['module'] && strpos($parentFilePath, $this->_dir->getDir(\Magento\App\Dir::THEMES)) === 0) {
                 /* Add module directory to relative URL */
                 $filePath = dirname($params['module'] . '/' . $parentFileName)
                     . '/' . $fileId;
diff --git a/app/code/Magento/Core/Model/View/Service.php b/app/code/Magento/Core/Model/View/Service.php
index 656e0c8f5c6..bbf4b542a6c 100644
--- a/app/code/Magento/Core/Model/View/Service.php
+++ b/app/code/Magento/Core/Model/View/Service.php
@@ -37,12 +37,12 @@ class Service
     const SCOPE_SEPARATOR = '::';
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     private $_design;
 
@@ -52,24 +52,21 @@ class Service
     protected $_themeFactory;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
     /**
-     * View files system model
-     *
-     *
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\App\State $appState
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Theme\FlyweightFactory $themeFactory
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      */
     public function __construct(
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\App\State $appState,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Theme\FlyweightFactory $themeFactory,
-        \Magento\Core\Model\Dir $dir
+        \Magento\App\Dir $dir
     ) {
         $this->_appState = $appState;
         $this->_design = $design;
@@ -113,7 +110,7 @@ class Service
      */
     public function isViewFileOperationAllowed()
     {
-        return $this->getAppMode() != \Magento\Core\Model\App\State::MODE_PRODUCTION;
+        return $this->getAppMode() != \Magento\App\State::MODE_PRODUCTION;
     }
 
     /**
@@ -133,7 +130,7 @@ class Service
      */
     public function getPublicDir()
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::STATIC_VIEW);
+        return $this->_dir->getDir(\Magento\App\Dir::STATIC_VIEW);
     }
 
     /**
diff --git a/app/code/Magento/Core/Model/View/Url.php b/app/code/Magento/Core/Model/View/Url.php
index e7945e13f0e..c89537d232f 100644
--- a/app/code/Magento/Core/Model/View/Url.php
+++ b/app/code/Magento/Core/Model/View/Url.php
@@ -42,7 +42,7 @@ class Url
     protected $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -71,7 +71,7 @@ class Url
      * View files URL model
      *
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\View\Service $viewService
      * @param \Magento\Core\Model\View\Publisher $publisher
@@ -79,7 +79,7 @@ class Url
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\View\Service $viewService,
         \Magento\Core\Model\View\Publisher $publisher,
@@ -140,10 +140,10 @@ class Url
     public function getPublicFileUrl($publicFilePath, $isSecure = null)
     {
         foreach (array(
-                \Magento\Core\Model\Store::URL_TYPE_LIB     => \Magento\Core\Model\Dir::PUB_LIB,
-                \Magento\Core\Model\Store::URL_TYPE_MEDIA   => \Magento\Core\Model\Dir::MEDIA,
-                \Magento\Core\Model\Store::URL_TYPE_STATIC  => \Magento\Core\Model\Dir::STATIC_VIEW,
-                \Magento\Core\Model\Store::URL_TYPE_CACHE   => \Magento\Core\Model\Dir::PUB_VIEW_CACHE,
+                \Magento\Core\Model\Store::URL_TYPE_LIB     => \Magento\App\Dir::PUB_LIB,
+                \Magento\Core\Model\Store::URL_TYPE_MEDIA   => \Magento\App\Dir::MEDIA,
+                \Magento\Core\Model\Store::URL_TYPE_STATIC  => \Magento\App\Dir::STATIC_VIEW,
+                \Magento\Core\Model\Store::URL_TYPE_CACHE   => \Magento\App\Dir::PUB_VIEW_CACHE,
             ) as $urlType => $dirType
         ) {
             $dir = $this->_dirs->getDir($dirType);
diff --git a/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.10-1.6.0.11.php b/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.10-1.6.0.11.php
index a8cc99ff1f8..6282084b476 100644
--- a/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.10-1.6.0.11.php
+++ b/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.10-1.6.0.11.php
@@ -28,7 +28,7 @@
 $filesystemCollection = $this->_themeFactory->create();
 $filesystemCollection->addDefaultPattern('*');
 
-/** @var $theme \Magento\Core\Model\Theme */
+/** @var $theme \Magento\View\Design\ThemeInterface */
 foreach ($this->_themeResourceFactory->create() as $theme) {
     $themeType = $filesystemCollection->hasTheme($theme)
         ? \Magento\Core\Model\Theme::TYPE_PHYSICAL
diff --git a/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.12-1.6.0.13.php b/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.12-1.6.0.13.php
index d638d7d01cb..f686c6ba074 100644
--- a/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.12-1.6.0.13.php
+++ b/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.12-1.6.0.13.php
@@ -27,7 +27,7 @@
 /** @var $themeDbCollection \Magento\Core\Model\Resource\Theme\Collection */
 $themeDbCollection = $this->_themeResourceFactory->create();
 
-/** @var $theme \Magento\Core\Model\Theme */
+/** @var $theme \Magento\View\Design\ThemeInterface */
 foreach ($this->_themeFactory->create()->addDefaultPattern('*') as $theme) {
     $dbTheme = $themeDbCollection->getThemeByFullPath($theme->getFullPath());
     $dbTheme->setCode($theme->getCode());
diff --git a/app/code/Magento/Core/etc/di.xml b/app/code/Magento/Core/etc/di.xml
index 1f881c8023d..6da0b5e55b8 100644
--- a/app/code/Magento/Core/etc/di.xml
+++ b/app/code/Magento/Core/etc/di.xml
@@ -25,13 +25,14 @@
 -->
 <config>
     <preference for="Magento\Acl\CacheInterface" type="Magento\Core\Model\Acl\Cache" />
+    <preference for="Magento\App\Updater\SetupInterface" type="Magento\Core\Model\Resource\Setup" />
+    <preference for="Magento\App\Module\ResourceResolverInterface" type="Magento\App\Module\ResourceResolver" />
     <preference for="Magento\AuthorizationInterface" type="Magento\Authorization" />
     <preference for="Magento\Authorization\Policy" type="Magento\Authorization\Policy\DefaultPolicy" />
     <preference for="Magento\Authorization\RoleLocator" type="Magento\Authorization\RoleLocator\DefaultRoleLocator" />
     <preference for="Magento\Core\Model\Session\AbstractSession" type="Magento\Core\Model\Session" />
     <preference for="Magento\Core\Model\LocaleInterface" type="Magento\Core\Model\Locale" />
     <preference for="Magento\Core\Model\Page\Asset\MergeStrategyInterface" type="Magento\Core\Model\Page\Asset\MergeStrategy\Direct" />
-    <preference for="Twig_LoaderInterface" type="Magento\Core\Model\TemplateEngine\Twig\FullFileName" />
     <preference for="Magento\Core\Model\DataService\ConfigInterface" type="Magento\Core\Model\DataService\Config" />
     <preference for="Magento\Core\Model\ConfigInterface" type="Magento\Core\Model\Config" />
     <preference for="Magento\Core\Model\Config\DataInterface" type="Magento\Core\Model\Config\Data" />
@@ -42,7 +43,22 @@
     <preference for="Magento\Config\ConverterInterface" type="Magento\Config\Converter\Dom"/>
     <preference for="Magento\Phrase\RendererInterface" type="Magento\Phrase\Renderer\Composite" />
     <preference for="Magento\Core\Model\Url\SecurityInfoInterface" type="Magento\Core\Model\Url\SecurityInfo\Proxy" />
-    <preference for="Magento\Core\Model\Module\ResourceResolverInterface" type="Magento\Core\Model\Module\ResourceResolver" />
+    <type name="Magento\App\FrontController">
+        <plugin name="install" type="Magento\Core\App\FrontController\Plugin\Install" sortOrder="40"/>
+        <plugin name="requestPreprocessor" type="Magento\Core\App\FrontController\Plugin\RequestPreprocessor" sortOrder="50"/>
+    </type>
+    <type name="Magento\App\AreaList">
+        <param name="areas">
+            <value>
+                <frontend>
+                    <frontName />
+                </frontend>
+            </value>
+        </param>
+        <param name="default">
+            <value>frontend</value>
+        </param>
+    </type>
     <type name="Magento\Data\Structure" shared="false" />
     <type name="Magento\Data\Collection\Db\FetchStrategy\Cache">
         <param name="cache">
@@ -240,7 +256,7 @@
             <instance type="Magento\Core\Model\Config\SectionPool\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\RouterList" shared="true">
+    <type name="Magento\App\RouterList" shared="true">
         <param name="routerList">
             <value>
                 <standard>
@@ -249,7 +265,7 @@
                     <sortOrder>20</sortOrder>
                 </standard>
                 <default>
-                    <instance>Magento\Core\Controller\Varien\Router\DefaultRouter</instance>
+                    <instance>Magento\App\Router\DefaultRouter</instance>
                     <disable type="bool">false</disable>
                     <sortOrder>100</sortOrder>
                 </default>
@@ -267,11 +283,11 @@
             <value>standard</value>
         </param>
     </type>
-    <type name="Magento\Core\Model\NoRouteHandlerList">
+    <type name="Magento\App\Router\NoRouteHandlerList">
         <param name="handlerClassesList">
             <value>
                 <default>
-                    <instance>Magento\Core\Model\Router\NoRouteHandler</instance>
+                    <instance>Magento\Core\App\Router\NoRouteHandler</instance>
                     <sortOrder>100</sortOrder>
                 </default>
             </value>
@@ -293,7 +309,7 @@
     <type name="Magento\Core\Model\View\Design">
         <param name="themes">
             <value>
-                <frontend>magento_demo</frontend>
+                <frontend>magento_plushe</frontend>
                 <adminhtml>magento_backend</adminhtml>
                 <install>magento_basic</install>
             </value>
@@ -367,18 +383,21 @@
     </type>
     <type name="Magento\Core\Model\StoreManager">
         <param name="request">
-            <instance type="Magento\Core\Controller\Request\Http\Proxy" />
+            <instance type="Magento\App\Request\Http\Proxy" />
         </param>
     </type>
     <type name="Magento\Core\Model\Config\Section\Processor\Placeholder">
         <param name="request">
-            <instance type="Magento\Core\Controller\Request\Http\Proxy" />
+            <instance type="Magento\App\Request\Http\Proxy" />
         </param>
     </type>
     <type name="Magento\Core\Helper\Context">
         <param name="urlBuilder">
             <instance type="Magento\Core\Model\Url\Proxy" />
         </param>
+        <param name='httpRequest'>
+            <instance type="Magento\App\Request\Http\Proxy" />
+        </param>
     </type>
     <type name="Magento\Core\Helper\String">
         <param name="locale">
@@ -395,19 +414,17 @@
             <instance type="Magento\Core\Model\File\Storage\File\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Session\AbstractSession">
-        <param name="url">
-            <instance type="Magento\Core\Model\Url\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Core\Model\View\Service">
         <param name="design">
             <instance type="Magento\Core\Model\View\Design\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Controller\Varien\Front">
-        <param name="backendData">
-            <instance type="Magento\Backend\Helper\Data\Proxy" />
+    <type name="Magento\Core\Model\TemplateEngine\Factory">
+        <plugin name="debug_hints" type="Magento\Core\Model\TemplateEngine\Plugin\DebugHints" sortOrder="10"/>
+        <param name="engines">
+            <value>
+                <phtml>Magento\Core\Model\TemplateEngine\Php</phtml>
+            </value>
         </param>
     </type>
 </config>
diff --git a/app/code/Magento/Core/functions.php b/app/code/Magento/Core/functions.php
index 5e6b3cb810e..c8264b4e4ed 100644
--- a/app/code/Magento/Core/functions.php
+++ b/app/code/Magento/Core/functions.php
@@ -163,11 +163,11 @@ function mageCoreErrorHandler($errorNo, $errorStr, $errorFile, $errorLine)
     $errorMessage .= ": {$errorStr} in {$errorFile} on line {$errorLine}";
     $exception = new \Exception($errorMessage);
     $errorMessage .= $exception->getTraceAsString();
-    $appState = \Magento\Core\Model\ObjectManager::getInstance()->get('Magento\Core\Model\App\State');
-    if ($appState == \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+    $appState = \Magento\Core\Model\ObjectManager::getInstance()->get('Magento\App\State');
+    if ($appState == \Magento\App\State::MODE_DEVELOPER) {
         throw $exception;
     } else {
-        $dirs = new \Magento\Core\Model\Dir('.');
+        $dirs = new \Magento\App\Dir('.');
         $fileSystem = new \Magento\Io\File();
         $logger = new \Magento\Core\Model\Logger($dirs, $fileSystem);
         $logger->log($errorMessage, \Zend_Log::ERR);
diff --git a/app/code/Magento/Core/view/adminhtml/prototype/magento.css b/app/code/Magento/Core/view/adminhtml/prototype/magento.css
index aa5a2895496..d9ba2471caf 100644
--- a/app/code/Magento/Core/view/adminhtml/prototype/magento.css
+++ b/app/code/Magento/Core/view/adminhtml/prototype/magento.css
@@ -161,7 +161,7 @@
 }
 
 .popup-window .magento_message .fieldset .widget-option-label {
-    padding: 5px 0 0;
+    padding: 6px 0 0;
 }
 
 .popup-window [id$="_focus_anchor"]:focus {
diff --git a/app/code/Magento/Cron/etc/di.xml b/app/code/Magento/Cron/etc/di.xml
index a3b7139d8be..2a0f0c9f40e 100644
--- a/app/code/Magento/Cron/etc/di.xml
+++ b/app/code/Magento/Cron/etc/di.xml
@@ -45,8 +45,5 @@
         <param name="app">
             <instance type="Magento\Core\Model\App" />
         </param>
-        <param name="coreConfig">
-            <instance type="Magento\Core\Model\Config" />
-        </param>
     </type>
 </config>
diff --git a/app/code/Magento/CurrencySymbol/Helper/Data.php b/app/code/Magento/CurrencySymbol/Helper/Data.php
index de19ed5b169..6bf93795882 100644
--- a/app/code/Magento/CurrencySymbol/Helper/Data.php
+++ b/app/code/Magento/CurrencySymbol/Helper/Data.php
@@ -42,28 +42,28 @@ class Data extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\CurrencySymbol\Model\System\Currencysymbol\Factory $symbolFactory
      * @param bool $dbCompatibleMode
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\CurrencySymbol\Model\System\Currencysymbol\Factory $symbolFactory,
         $dbCompatibleMode = true
diff --git a/app/code/Magento/CurrencySymbol/Model/System/Currencysymbol.php b/app/code/Magento/CurrencySymbol/Model/System/Currencysymbol.php
index 06a219d0ac0..7cc457a3342 100644
--- a/app/code/Magento/CurrencySymbol/Model/System/Currencysymbol.php
+++ b/app/code/Magento/CurrencySymbol/Model/System/Currencysymbol.php
@@ -85,7 +85,7 @@ class Currencysymbol
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -134,7 +134,7 @@ class Currencysymbol
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      */
     public function __construct(
         \Magento\Core\Model\Store\Config $coreStoreConfig,
@@ -144,7 +144,7 @@ class Currencysymbol
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Core\Model\Event\Manager $eventManager
+        \Magento\Event\ManagerInterface $eventManager
     ) {
         $this->_coreConfig = $coreConfig;
         $this->_configFactory = $configFactory;
diff --git a/app/code/Magento/CurrencySymbol/view/adminhtml/grid.phtml b/app/code/Magento/CurrencySymbol/view/adminhtml/grid.phtml
index 1e967819ada..658bb74ade6 100644
--- a/app/code/Magento/CurrencySymbol/view/adminhtml/grid.phtml
+++ b/app/code/Magento/CurrencySymbol/view/adminhtml/grid.phtml
@@ -37,34 +37,30 @@
     <input name="form_key" type="hidden" value="<?php echo $this->getFormKey() ?>" />
 
     <div class="grid">
-        <div class="hor-scroll">
-            <table cellspacing="0" class="data table-cat-img-sizes">
-                <colgroup>
-                    <col width="15%"/>
-                    <col />
-                </colgroup>
-                <thead>
-                    <tr class="headings">
-                        <th><span class="nobr"><span class="not-sort"><?php echo __('Currency'); ?></span></span></th>
-                        <th><span class="nobr"><span class="not-sort"><?php echo __('Symbol'); ?><span class="required"><em>*</em></span></span></span></th>
-                    </tr>
-                </thead>
-                <tbody>
-                    <?php foreach($this->getCurrencySymbolsData() as $code => $data): ?>
-                    <tr>
-                        <td class="label">
-                        <label for="custom_currency_symbol<?php echo $code; ?>"><?php echo $code; ?> (<?php echo $data['displayName']; ?>)</label>
-                        </td>
-                        <td class="value">
+        <table class="data">
+            <thead>
+                <tr class="headings">
+                    <th class="no-link col-currency"><span><label><?php echo __('Currency'); ?></label></span></th>
+                    <th class="no-link col-symbol"><span><label class="required"><?php echo __('Symbol'); ?></label></span></th>
+                </tr>
+            </thead>
+            <tbody>
+                <?php foreach($this->getCurrencySymbolsData() as $code => $data): ?>
+                <tr>
+                    <td class="col-currency">
+                        <label class="label" for="custom_currency_symbol<?php echo $code; ?>"><?php echo $code; ?> (<?php echo $data['displayName']; ?>)</label>
+                    </td>
+                    <td class="col-symbol">
+                        <div class="control">
                             <input id="custom_currency_symbol<?php echo $code; ?>" class=" required-entry input-text" type="text" value="<?php echo $this->helper('Magento\Core\Helper\Data')->quoteEscape($data['displaySymbol']); ?>"<?php echo $data['inherited'] ? ' disabled="disabled"' : '';?> name="custom_currency_symbol[<?php echo $code; ?>]">
                             <input id="custom_currency_symbol_inherit<?php echo $code; ?>" class="checkbox config-inherit" type="checkbox" onclick="toggleUseDefault(<?php echo '\'' . $code . '\',\'' . $this->helper('Magento\Core\Helper\Data')->quoteEscape($data['parentSymbol'], true) . '\''; ?>)"<?php echo $data['inherited'] ? ' checked="checked"' : ''; ?> value="1" name="inherit_custom_currency_symbol[<?php echo $code; ?>]">
-                            <label for="custom_currency_symbol_inherit<?php echo $code; ?>"><?php echo $this->getInheritText(); ?></label>
-                        </td>
-                    </tr>
-                    <?php endforeach; ?>
-                </tbody>
-            </table>
-        </div>
+                            <label class="label" for="custom_currency_symbol_inherit<?php echo $code; ?>"><?php echo $this->getInheritText(); ?></label>
+                        </div>
+                    </td>
+                </tr>
+                <?php endforeach; ?>
+            </tbody>
+        </table>
     </div>
 </form>
 <script type="text/javascript">
diff --git a/app/code/Magento/Customer/Controller/Account.php b/app/code/Magento/Customer/Controller/Account.php
index 23e1053e5e8..703d1481dd3 100644
--- a/app/code/Magento/Customer/Controller/Account.php
+++ b/app/code/Magento/Customer/Controller/Account.php
@@ -146,7 +146,7 @@ class Account extends \Magento\Core\Controller\Front\Action
 
         parent::preDispatch();
 
-        if (!$this->_objectManager->get('Magento\Core\Model\App\State')->isInstalled()) {
+        if (!$this->_objectManager->get('Magento\App\State')->isInstalled()) {
             return;
         }
 
diff --git a/app/code/Magento/Customer/Helper/Data.php b/app/code/Magento/Customer/Helper/Data.php
index b5eb6ecc2c5..9d2360c4f79 100644
--- a/app/code/Magento/Customer/Helper/Data.php
+++ b/app/code/Magento/Customer/Helper/Data.php
@@ -112,7 +112,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -144,7 +144,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_formFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Customer\Helper\Address $customerAddress
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\Context $context
@@ -155,7 +155,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Customer\Model\FormFactory $formFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Customer\Helper\Address $customerAddress,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\Context $context,
@@ -704,7 +704,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Perform customer data filtration based on form code and form object
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param string $formCode The code of EAV form to take the list of attributes from
      * @param \Magento\Core\Model\AbstractModel $entity entity model for the form
      * @param array $additionalAttributes The list of attribute codes to skip filtration for
@@ -712,7 +712,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Eav\Model\Form|null $eavForm EAV form model to use for extraction
      * @return array Filtered customer data
      */
-    public function extractCustomerData(\Zend_Controller_Request_Http $request, $formCode, $entity,
+    public function extractCustomerData(\Magento\App\RequestInterface $request, $formCode, $entity,
         $additionalAttributes = array(), $scope = null, $eavForm = null
     ) {
         if (is_null($eavForm)) {
diff --git a/app/code/Magento/Customer/Model/Address.php b/app/code/Magento/Customer/Model/Address.php
index cf7486547b9..e32b17e2625 100644
--- a/app/code/Magento/Customer/Model/Address.php
+++ b/app/code/Magento/Customer/Model/Address.php
@@ -47,7 +47,7 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
     protected $_customerFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Directory\Helper\Data $directoryData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -63,7 +63,7 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Directory\Helper\Data $directoryData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/Customer/Model/Address/AbstractAddress.php b/app/code/Magento/Customer/Model/Address/AbstractAddress.php
index 1ff8c13e3df..1edffbe2a09 100644
--- a/app/code/Magento/Customer/Model/Address/AbstractAddress.php
+++ b/app/code/Magento/Customer/Model/Address/AbstractAddress.php
@@ -82,7 +82,7 @@ class AbstractAddress extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -107,7 +107,7 @@ class AbstractAddress extends \Magento\Core\Model\AbstractModel
     protected $_countryFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Directory\Helper\Data $directoryData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -120,7 +120,7 @@ class AbstractAddress extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Directory\Helper\Data $directoryData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/Customer/Model/Customer.php b/app/code/Magento/Customer/Model/Customer.php
index 9ee1a4f237e..8869c0f9162 100644
--- a/app/code/Magento/Customer/Model/Customer.php
+++ b/app/code/Magento/Customer/Model/Customer.php
@@ -150,12 +150,12 @@ class Customer extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Customer\Helper\Data $customerData
      * @param \Magento\Core\Helper\Data $coreData
      * Core store config
@@ -200,7 +200,7 @@ class Customer extends \Magento\Core\Model\AbstractModel
     protected $_attributeFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Customer\Helper\Data $customerData
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Context $context
@@ -221,7 +221,7 @@ class Customer extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Customer\Helper\Data $customerData,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Customer/Model/Resource/Customer/Collection.php b/app/code/Magento/Customer/Model/Resource/Customer/Collection.php
index 71377352a93..7a3c6a46f84 100644
--- a/app/code/Magento/Customer/Model/Resource/Customer/Collection.php
+++ b/app/code/Magento/Customer/Model/Resource/Customer/Collection.php
@@ -42,7 +42,7 @@ class Collection extends \Magento\Eav\Model\Entity\Collection\AbstractCollection
     protected $_fieldsetConfig;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -54,7 +54,7 @@ class Collection extends \Magento\Eav\Model\Entity\Collection\AbstractCollection
      * @param \Magento\Core\Model\Fieldset\Config $fieldsetConfig
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Customer/Model/Session.php b/app/code/Magento/Customer/Model/Session.php
index e7dda583082..98337ee4572 100644
--- a/app/code/Magento/Customer/Model/Session.php
+++ b/app/code/Magento/Customer/Model/Session.php
@@ -130,7 +130,7 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
         }
 
         $this->init($namespace, $sessionName);
-        $this->_eventManager->dispatch('customer_session_init', array('customer_session'=>$this));
+        $this->_eventManager->dispatch('customer_session_init', array('customer_session' => $this));
     }
 
     /**
diff --git a/app/code/Magento/Customer/etc/di.xml b/app/code/Magento/Customer/etc/di.xml
index b369f18220f..4932fb7b9cc 100644
--- a/app/code/Magento/Customer/etc/di.xml
+++ b/app/code/Magento/Customer/etc/di.xml
@@ -24,25 +24,7 @@
  */
 -->
 <config>
-    <type name="Magento\Customer\Helper\Data">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Customer\Model\Address\AbstractAddress">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Customer\Model\Customer">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Customer\Model\Session">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="configShare">
             <instance type="Magento\Customer\Model\Config\Share\Proxy" />
         </param>
@@ -53,8 +35,8 @@
             <instance type="Magento\Customer\Model\Resource\Customer\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <customer_setup>Magento\Customer\Model\Resource\Setup</customer_setup>
             </value>
@@ -70,4 +52,9 @@
             <instance type="Magento\Customer\Model\Resource\Customer\Proxy" />
         </param>
     </type>
+    <type name="Magento\Customer\Model\Customer">
+        <param name="customerData">
+            <instance type="Magento\Customer\Helper\Data\Proxy" />
+        </param>
+    </type>
 </config>
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Container.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Container.php
index 9e6f8e3d13b..59462ec0e78 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Container.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Container.php
@@ -27,7 +27,7 @@
 /**
  * Editor toolbar
  *
- * @method \Magento\DesignEditor\Block\Adminhtml\Editor\Container setTheme(\Magento\Core\Model\Theme $theme)
+ * @method \Magento\DesignEditor\Block\Adminhtml\Editor\Container setTheme(\Magento\View\Design\ThemeInterface $theme)
  */
 namespace Magento\DesignEditor\Block\Adminhtml\Editor;
 
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Edit.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Edit.php
index afe775972ba..a3ebf1ad542 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Edit.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Edit.php
@@ -247,11 +247,11 @@ class Edit
     /**
      * Checks themes for changes by time
      *
-     * @param \Magento\Core\Model\Theme $sourceTheme
-     * @param \Magento\Core\Model\Theme $targetTheme
+     * @param \Magento\View\Design\ThemeInterface $sourceTheme
+     * @param \Magento\View\Design\ThemeInterface $targetTheme
      * @return bool
      */
-    protected function _hasThemeChanged(\Magento\Core\Model\Theme $sourceTheme, \Magento\Core\Model\Theme $targetTheme)
+    protected function _hasThemeChanged(\Magento\View\Design\ThemeInterface $sourceTheme, \Magento\View\Design\ThemeInterface $targetTheme)
     {
         $sourceChange = $this->_changeFactory->create();
         $sourceChange->loadByThemeId($sourceTheme->getId());
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Save.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Save.php
index 8917b9acfb4..2e9050e5962 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Save.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Save.php
@@ -87,7 +87,7 @@ class Save
     /**
      * Set current theme
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return $this
      */
     public function setTheme($theme)
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Custom.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Custom.php
index dc05176d01c..5dde246aea6 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Custom.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Custom.php
@@ -145,7 +145,7 @@ class Custom extends \Magento\Backend\Block\Widget\Form\Generic
     /**
      * Get theme file (with custom CSS)
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return \Magento\Core\Model\Theme\FileInterface|null
      */
     protected function _getCustomCss($theme)
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Backgrounds.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Backgrounds.php
index 1f20b97b04b..41061ebb767 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Backgrounds.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Backgrounds.php
@@ -29,7 +29,7 @@ namespace Magento\DesignEditor\Block\Adminhtml\Editor\Tools\QuickStyles;
 /**
  * Block that renders Quick Styles > Backgrounds tab
  *
- * @method \Magento\Core\Model\Theme getTheme()
+ * @method \Magento\View\Design\ThemeInterface getTheme()
  * @method setTheme($theme)
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Buttons.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Buttons.php
index e935648e7d1..af82670491e 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Buttons.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Buttons.php
@@ -29,7 +29,7 @@ namespace Magento\DesignEditor\Block\Adminhtml\Editor\Tools\QuickStyles;
 /**
  * Block that renders Quick Styles > Buttons & Icons tab
  *
- * @method \Magento\Core\Model\Theme getTheme()
+ * @method \Magento\View\Design\ThemeInterface getTheme()
  * @method setTheme($theme)
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Fonts.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Fonts.php
index 03f6bc32806..a86453ad848 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Fonts.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Fonts.php
@@ -29,7 +29,7 @@ namespace Magento\DesignEditor\Block\Adminhtml\Editor\Tools\QuickStyles;
 /**
  * Block that renders Quick Styles > Fonts tab
  *
- * @method \Magento\Core\Model\Theme getTheme()
+ * @method \Magento\View\Design\ThemeInterface getTheme()
  * @method setTheme($theme)
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Header.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Header.php
index 49f8939b4f4..0374dcf715a 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Header.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Header.php
@@ -29,7 +29,7 @@ namespace Magento\DesignEditor\Block\Adminhtml\Editor\Tools\QuickStyles;
 /**
  * Block that renders JS tab
  *
- * @method \Magento\Core\Model\Theme getTheme()
+ * @method \Magento\View\Design\ThemeInterface getTheme()
  * @method setTheme($theme)
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Tips.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Tips.php
index 492444801c7..a7d7ccd1949 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Tips.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Tips.php
@@ -29,7 +29,7 @@ namespace Magento\DesignEditor\Block\Adminhtml\Editor\Tools\QuickStyles;
 /**
  * Block that renders JS tab
  *
- * @method \Magento\Core\Model\Theme getTheme()
+ * @method \Magento\View\Design\ThemeInterface getTheme()
  * @method setTheme($theme)
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Theme.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Theme.php
index 696db16c251..535cd5d7834 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Theme.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Theme.php
@@ -27,8 +27,8 @@
 /**
  * Design editor theme
  *
- * @method \Magento\DesignEditor\Block\Adminhtml\Theme setTheme(\Magento\Core\Model\Theme $theme)
- * @method \Magento\Core\Model\Theme getTheme()
+ * @method \Magento\DesignEditor\Block\Adminhtml\Theme setTheme(\Magento\View\Design\ThemeInterface $theme)
+ * @method \Magento\View\Design\ThemeInterface getTheme()
  */
 namespace Magento\DesignEditor\Block\Adminhtml;
 
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/SelectorList/AbstractSelectorList.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/SelectorList/AbstractSelectorList.php
index e1523e7d4d7..322f003f054 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/SelectorList/AbstractSelectorList.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/SelectorList/AbstractSelectorList.php
@@ -75,7 +75,7 @@ abstract class AbstractSelectorList
 
         $items = array();
         if (!empty($themeCollection)) {
-            /** @var $theme \Magento\Core\Model\Theme */
+            /** @var $theme \Magento\View\Design\ThemeInterface */
             foreach ($themeCollection as $theme) {
                 $itemBlock->setTheme($theme);
                 $this->_addThemeButtons($itemBlock);
diff --git a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor.php b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor.php
index b8f91119101..cc45e215ef3 100644
--- a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor.php
+++ b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor.php
@@ -171,7 +171,7 @@ class Editor extends \Magento\Adminhtml\Controller\Action
                 ? $theme
                 : $theme->getDomainModel(\Magento\Core\Model\Theme::TYPE_PHYSICAL)->createVirtualTheme($theme);
 
-            /** @var $themeCustomization \Magento\Core\Model\Theme */
+            /** @var $themeCustomization \Magento\View\Design\ThemeInterface */
             $this->_themeConfig->assignToStore($themeCustomization, $this->_getStores());
 
             $successMessage = $hadThemeAssigned
@@ -270,8 +270,8 @@ class Editor extends \Magento\Adminhtml\Controller\Action
     public function duplicateAction()
     {
         $themeId = (int)$this->getRequest()->getParam('theme_id');
-        /** @var $themeCopy \Magento\Core\Model\Theme */
-        $themeCopy = $this->_objectManager->create('Magento\Core\Model\Theme');
+        /** @var $themeCopy \Magento\View\Design\ThemeInterface */
+        $themeCopy = $this->_objectManager->create('Magento\View\Design\ThemeInterface');
         /** @var $copyService \Magento\Core\Model\Theme\CopyService */
         $copyService = $this->_objectManager->get('Magento\Core\Model\Theme\CopyService');
         try {
@@ -386,7 +386,7 @@ class Editor extends \Magento\Adminhtml\Controller\Action
     /**
      * Pass data to the Tools panel blocks that is needed it for rendering
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param string $mode
      * @return \Magento\DesignEditor\Controller\Adminhtml\System\Design\Editor
      */
@@ -413,8 +413,8 @@ class Editor extends \Magento\Adminhtml\Controller\Action
     /**
      * Pass data to the Toolbar panel blocks that is needed for rendering
      *
-     * @param \Magento\Core\Model\Theme $theme
-     * @param \Magento\Core\Model\Theme $editableTheme
+     * @param \Magento\View\Design\ThemeInterface $theme
+     * @param \Magento\View\Design\ThemeInterface $editableTheme
      * @param string $mode
      * @return \Magento\DesignEditor\Controller\Adminhtml\System\Design\Editor
      */
@@ -444,7 +444,7 @@ class Editor extends \Magento\Adminhtml\Controller\Action
     /**
      * Set to iframe block selected mode and theme
      *
-     * @param \Magento\Core\Model\Theme $editableTheme
+     * @param \Magento\View\Design\ThemeInterface $editableTheme
      * @param string $mode
      * @return \Magento\DesignEditor\Controller\Adminhtml\System\Design\Editor
      */
diff --git a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools.php b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools.php
index 70febe71373..3340589ee83 100644
--- a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools.php
+++ b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools.php
@@ -316,8 +316,8 @@ class Tools extends \Magento\Adminhtml\Controller\Action
         $storeId = (int)$this->getRequest()->getParam('store_id');
         $themeId = (int)$this->getRequest()->getParam('theme_id');
         try {
-            /** @var $theme \Magento\Core\Model\Theme */
-            $theme = $this->_objectManager->create('Magento\Core\Model\Theme');
+            /** @var $theme \Magento\View\Design\ThemeInterface */
+            $theme = $this->_objectManager->create('Magento\View\Design\ThemeInterface');
             if (!$theme->load($themeId)->getId() || !$theme->isEditable()) {
                 throw new \Magento\Core\Exception(
                     __('The file can\'t be found or edited.')
@@ -361,8 +361,8 @@ class Tools extends \Magento\Adminhtml\Controller\Action
         $storeId = (int)$this->getRequest()->getParam('store_id');
         $themeId = (int)$this->getRequest()->getParam('theme_id');
         try {
-            /** @var $theme \Magento\Core\Model\Theme */
-            $theme = $this->_objectManager->create('Magento\Core\Model\Theme');
+            /** @var $theme \Magento\View\Design\ThemeInterface */
+            $theme = $this->_objectManager->create('Magento\View\Design\ThemeInterface');
             if (!$theme->load($themeId)->getId() || !$theme->isEditable()) {
                 throw new \Magento\Core\Exception(
                     __('The file can\'t be found or edited.')
diff --git a/app/code/Magento/DesignEditor/Controller/Varien/Router/Standard.php b/app/code/Magento/DesignEditor/Controller/Varien/Router/Standard.php
index b36ec1c4a6b..db0afa6961d 100644
--- a/app/code/Magento/DesignEditor/Controller/Varien/Router/Standard.php
+++ b/app/code/Magento/DesignEditor/Controller/Varien/Router/Standard.php
@@ -42,36 +42,49 @@ class Standard extends \Magento\Core\Controller\Varien\Router\Base
     protected $_excludedRouters = array('admin', 'vde');
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Factory $controllerFactory
+     * Router list
+     *
+     * @var \Magento\App\RouterListInterface
+     */
+    protected $_routerList;
+
+    /**
+     * @var \Magento\Core\App\Request\RewriteService
+     */
+    protected $_urlRewriteService;
+
+    /**
+     * @param \Magento\App\RouterListInterface $routerList
+     * @param \Magento\App\ActionFactory $controllerFactory
      * @param \Magento\ObjectManager $objectManager
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\Config\Scope $configScope
      * @param \Magento\Core\Model\Route\Config $routeConfig
      * @param \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Url $url
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\App\State $appState
-     * @param $areaCode
-     * @param $baseController
-     * @param $routerId
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     * @param \Magento\App\State $appState
+     * @param \Magento\Core\App\Request\RewriteService $urlRewriteService
+     * @param string $areaCode
+     * @param string $baseController
+     * @param string $routerId
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Factory $controllerFactory,
+        \Magento\App\RouterListInterface $routerList,
+        \Magento\App\ActionFactory $controllerFactory,
         \Magento\ObjectManager $objectManager,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\Config\Scope $configScope,
         \Magento\Core\Model\Route\Config $routeConfig,
         \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Url $url,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
+        \Magento\Core\App\Request\RewriteService $urlRewriteService,
         $areaCode,
         $baseController,
         $routerId
@@ -80,7 +93,6 @@ class Standard extends \Magento\Core\Controller\Varien\Router\Base
             $controllerFactory,
             $filesystem,
             $app,
-            $configScope,
             $coreStoreConfig,
             $routeConfig,
             $securityInfo,
@@ -92,16 +104,18 @@ class Standard extends \Magento\Core\Controller\Varien\Router\Base
             $baseController,
             $routerId
         );
+        $this->_urlRewriteService = $urlRewriteService;
         $this->_objectManager = $objectManager;
+        $this->_routerList = $routerList;
     }
 
     /**
      * Match provided request and if matched - return corresponding controller
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\Core\Controller\Front\Action|null
      */
-    public function match(\Magento\Core\Controller\Request\Http $request)
+    public function match(\Magento\App\RequestInterface $request)
     {
         // if URL has VDE prefix
         if (!$this->_objectManager->get('Magento\DesignEditor\Helper\Data')->isVdeRequest($request)) {
@@ -120,14 +134,14 @@ class Standard extends \Magento\Core\Controller\Varien\Router\Base
         $this->_prepareVdeRequest($request);
 
         // apply rewrites
-        $this->getFront()->applyRewrites($request);
+        $this->_urlRewriteService->applyRewrites($request);
 
         // match routers
         $controller = null;
         $routers = $this->_getMatchedRouters();
-        /** @var $router \Magento\Core\Controller\Varien\Router\AbstractRouter */
+        /** @var $router \Magento\App\Router\AbstractRouter */
         foreach ($routers as $router) {
-            /** @var $controller \Magento\Core\Controller\Varien\AbstractAction */
+            /** @var $controller \Magento\App\Action\AbstractAction */
             $controller = $router->match($request);
             if ($controller) {
                 $this->_objectManager->get('Magento\DesignEditor\Model\State')
@@ -145,10 +159,10 @@ class Standard extends \Magento\Core\Controller\Varien\Router\Base
     /**
      * Modify request path to imitate basic request
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\DesignEditor\Controller\Varien\Router\Standard
      */
-    protected function _prepareVdeRequest(\Magento\Core\Controller\Request\Http $request)
+    protected function _prepareVdeRequest(\Magento\App\RequestInterface $request)
     {
         list($vdeFrontName, $designMode, $themeId) = explode('/', trim($request->getPathInfo(), '/'));
         $request->setAlias('editorMode', $designMode);
@@ -166,7 +180,7 @@ class Standard extends \Magento\Core\Controller\Varien\Router\Base
      */
     protected function _getMatchedRouters()
     {
-        $routers = $this->getFront()->getRouters();
+        $routers = $this->_routerList->getRouters();
         foreach (array_keys($routers) as $name) {
             if (in_array($name, $this->_excludedRouters)) {
                 unset($routers[$name]);
diff --git a/app/code/Magento/DesignEditor/Helper/Data.php b/app/code/Magento/DesignEditor/Helper/Data.php
index 55290944ab1..20ec1e30070 100644
--- a/app/code/Magento/DesignEditor/Helper/Data.php
+++ b/app/code/Magento/DesignEditor/Helper/Data.php
@@ -98,10 +98,10 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * This method returns an indicator of whether or not the current request is for vde
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return bool
      */
-    public function isVdeRequest(\Magento\Core\Controller\Request\Http $request = null)
+    public function isVdeRequest(\Magento\App\RequestInterface $request = null)
     {
         if (null !== $request) {
             $result = false;
@@ -139,10 +139,10 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Sets the translation mode for the current request (null, text, script, or alt);
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\DesignEditor\Helper\Data
      */
-    public function setTranslationMode(\Magento\Core\Controller\Request\Http $request)
+    public function setTranslationMode(\Magento\App\RequestInterface $request)
     {
         $this->_translationMode = $request->getParam(self::TRANSLATION_MODE, null);
         return $this;
diff --git a/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Configuration.php b/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Configuration.php
index 72ea1000604..be61a865b4b 100644
--- a/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Configuration.php
+++ b/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Configuration.php
@@ -39,7 +39,7 @@ class Configuration
     /**
      * Application Event Dispatcher
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventDispatcher;
 
@@ -49,7 +49,7 @@ class Configuration
     protected $_configuration;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -95,29 +95,27 @@ class Configuration
     /**
      * View config model
      *
-     * @var \Magento\Core\Model\View\Config
+     * @var \Magento\View\ConfigInterface
      */
     protected $_viewConfigLoader;
 
     /**
-     * Initialize dependencies
-     *
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Event\Manager $eventDispatcher
-     * @param \Magento\Core\Model\View\Config $viewConfig
-     * @param \Magento\DesignEditor\Model\Config\Control\AbstractControl|null $configuration
-     * @param \Magento\Core\Model\Theme|null $theme
-     * @param \Magento\Core\Model\Theme $parentTheme
+     * @param \Magento\Event\ManagerInterface $eventDispatcher
+     * @param \Magento\View\ConfigInterface $viewConfig
+     * @param \Magento\DesignEditor\Model\Config\Control\AbstractControl $configuration
+     * @param \Magento\View\Design\ThemeInterface $theme
+     * @param \Magento\View\Design\ThemeInterface $parentTheme
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Event\Manager $eventDispatcher,
-        \Magento\Core\Model\View\Config $viewConfig,
+        \Magento\Event\ManagerInterface $eventDispatcher,
+        \Magento\View\ConfigInterface $viewConfig,
         \Magento\DesignEditor\Model\Config\Control\AbstractControl $configuration = null,
-        \Magento\Core\Model\Theme $theme = null,
-        \Magento\Core\Model\Theme $parentTheme = null
+        \Magento\View\Design\ThemeInterface $theme = null,
+        \Magento\View\Design\ThemeInterface $parentTheme = null
     ) {
         $this->_configuration = $configuration;
         $this->_theme = $theme;
@@ -137,11 +135,11 @@ class Configuration
     protected function _initViewConfigs()
     {
         $this->_viewConfig = $this->_viewConfigLoader->getViewConfig(array(
-            'area'       => \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA,
+            'area'       => \Magento\View\DesignInterface::DEFAULT_AREA,
             'themeModel' => $this->_theme
         ));
         $this->_viewConfigParent = $this->_viewConfigLoader->getViewConfig(array(
-            'area'       => \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA,
+            'area'       => \Magento\View\DesignInterface::DEFAULT_AREA,
             'themeModel' => $this->_parentTheme
         ));
         return $this;
diff --git a/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Factory.php b/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Factory.php
index 14c8f566c14..28ce76acf9d 100644
--- a/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Factory.php
+++ b/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Factory.php
@@ -74,7 +74,7 @@ class Factory
      * Get file path by type
      *
      * @param string $type
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return string
      * @throws \Magento\Exception
      */
@@ -84,7 +84,7 @@ class Factory
             throw new \Magento\Exception("Unknown control configuration type: \"{$type}\"");
         }
         return $this->_viewFileSystem->getFilename($this->_fileNames[$type], array(
-            'area'       => \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA,
+            'area'       => \Magento\View\DesignInterface::DEFAULT_AREA,
             'themeModel' => $theme
         ));
     }
@@ -93,16 +93,16 @@ class Factory
      * Create new instance
      *
      * @param string $type
-     * @param \Magento\Core\Model\Theme $theme
-     * @param \Magento\Core\Model\Theme $parentTheme
+     * @param \Magento\View\Design\ThemeInterface $theme
+     * @param \Magento\View\Design\ThemeInterface $parentTheme
      * @param array $files
      * @return \Magento\DesignEditor\Model\Editor\Tools\Controls\Configuration
      * @throws \Magento\Exception
      */
     public function create(
         $type,
-        \Magento\Core\Model\Theme $theme = null,
-        \Magento\Core\Model\Theme $parentTheme = null,
+        \Magento\View\Design\ThemeInterface $theme = null,
+        \Magento\View\Design\ThemeInterface $parentTheme = null,
         array $files = array()
     ) {
         $files[] = $this->_getFilePathByType($type, $theme);
diff --git a/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/Form/Renderer/Factory.php b/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/Form/Renderer/Factory.php
index 5843892df78..a42124a6ea1 100644
--- a/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/Form/Renderer/Factory.php
+++ b/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/Form/Renderer/Factory.php
@@ -27,7 +27,7 @@
 /**
  * Block that renders JS tab
  *
- * @method \Magento\Core\Model\Theme getTheme()
+ * @method \Magento\View\Design\ThemeInterface getTheme()
  * @method setTheme($theme)
  *
  */
@@ -41,7 +41,7 @@ class Factory
     /**
      * Layout model
      *
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -91,9 +91,9 @@ class Factory
     protected $_sharedRenderers = array();
 
     /**
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      */
-    public function __construct(\Magento\Core\Model\Layout $layout)
+    public function __construct(\Magento\View\LayoutInterface $layout)
     {
         $this->_layout = $layout;
     }
diff --git a/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/ImageUploader.php b/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/ImageUploader.php
index b904f1f07df..675ded3a017 100644
--- a/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/ImageUploader.php
+++ b/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/ImageUploader.php
@@ -114,7 +114,7 @@ class ImageUploader extends \Magento\Object
      */
     protected function _getTheme()
     {
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = $this->getTheme();
         if (!$theme->getId()) {
             throw new \InvalidArgumentException('Theme was not found.');
diff --git a/app/code/Magento/DesignEditor/Model/Observer.php b/app/code/Magento/DesignEditor/Model/Observer.php
index 8458b5f2950..b8bcf058f48 100644
--- a/app/code/Magento/DesignEditor/Model/Observer.php
+++ b/app/code/Magento/DesignEditor/Model/Observer.php
@@ -100,7 +100,7 @@ class Observer
     {
         /** @var $configuration \Magento\DesignEditor\Model\Editor\Tools\Controls\Configuration */
         $configuration = $event->getData('configuration');
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = $event->getData('theme');
         if ($configuration->getControlConfig() instanceof \Magento\DesignEditor\Model\Config\Control\QuickStyles) {
             /** @var $renderer \Magento\DesignEditor\Model\Editor\Tools\QuickStyles\Renderer */
diff --git a/app/code/Magento/DesignEditor/Model/State.php b/app/code/Magento/DesignEditor/Model/State.php
index 0aa25adc1a1..adcbb59ffd5 100644
--- a/app/code/Magento/DesignEditor/Model/State.php
+++ b/app/code/Magento/DesignEditor/Model/State.php
@@ -124,9 +124,9 @@ class State
      * Update system data for current VDE environment
      *
      * @param string $areaCode
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      */
-    public function update($areaCode, \Magento\Core\Controller\Request\Http $request)
+    public function update($areaCode, \Magento\App\RequestInterface $request)
     {
         $mode = $request->getAlias('editorMode') ?: self::MODE_NAVIGATION;
         $this->_themeContext->setEditableThemeById($request->getAlias('themeId'));
diff --git a/app/code/Magento/DesignEditor/Model/Url/NavigationMode.php b/app/code/Magento/DesignEditor/Model/Url/NavigationMode.php
index d00a0222100..a318c32563b 100644
--- a/app/code/Magento/DesignEditor/Model/Url/NavigationMode.php
+++ b/app/code/Magento/DesignEditor/Model/Url/NavigationMode.php
@@ -53,8 +53,8 @@ class NavigationMode extends \Magento\Core\Model\Url
     protected $_themeId;
 
     /**
-     * Constructor
-     *
+     * @param \Magento\App\RouterListInterface $routerList
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo
      * @param \Magento\DesignEditor\Helper\Data $helper
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
@@ -65,6 +65,8 @@ class NavigationMode extends \Magento\Core\Model\Url
      * @param array $data
      */
     public function __construct(
+        \Magento\App\RouterListInterface $routerList,
+        \Magento\App\RequestInterface $request,
         \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo,
         \Magento\DesignEditor\Helper\Data $helper,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
@@ -82,7 +84,9 @@ class NavigationMode extends \Magento\Core\Model\Url
         if (isset($data['themeId'])) {
             $this->_themeId = $data['themeId'];
         }
-        parent::__construct($securityInfo, $coreStoreConfig, $coreData, $app, $storeManager, $session, $data);
+        parent::__construct(
+            $routerList, $request, $securityInfo, $coreStoreConfig, $coreData, $app, $storeManager, $session, $data
+        );
     }
 
     /**
diff --git a/app/code/Magento/DesignEditor/etc/di.xml b/app/code/Magento/DesignEditor/etc/di.xml
index 7cd73bcc8b9..6ee998169cc 100644
--- a/app/code/Magento/DesignEditor/etc/di.xml
+++ b/app/code/Magento/DesignEditor/etc/di.xml
@@ -24,7 +24,7 @@
  */
 -->
 <config>
-    <type name="Magento\Core\Model\RouterList">
+    <type name="Magento\App\RouterList">
         <param name="routerList">
             <value>
                 <vde>
diff --git a/app/code/Magento/DesignEditor/view/adminhtml/css/styles.css b/app/code/Magento/DesignEditor/view/adminhtml/css/styles.css
index bf8dbd8f1ed..259f42af44c 100644
--- a/app/code/Magento/DesignEditor/view/adminhtml/css/styles.css
+++ b/app/code/Magento/DesignEditor/view/adminhtml/css/styles.css
@@ -306,6 +306,7 @@
 #theme_selector_tabs .tabs-horiz > .ui-state-active a {
     background: #fff;
     border: 0;
+    margin-top: 0;
     box-shadow: none;
 }
 
diff --git a/app/code/Magento/Directory/Model/Currency/DefaultLocator.php b/app/code/Magento/Directory/Model/Currency/DefaultLocator.php
index a20bc27b18c..dcc2b93d2ba 100644
--- a/app/code/Magento/Directory/Model/Currency/DefaultLocator.php
+++ b/app/code/Magento/Directory/Model/Currency/DefaultLocator.php
@@ -48,10 +48,10 @@ class DefaultLocator
     /**
      * Retrieve default currency for selected store, website or website group
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return string
      */
-    public function getDefaultCurrency(\Magento\Core\Controller\Request\Http $request)
+    public function getDefaultCurrency(\Magento\App\RequestInterface $request)
     {
         if ($request->getParam('store')) {
             $store = $request->getParam('store');
diff --git a/app/code/Magento/Directory/Model/Resource/Country/Collection.php b/app/code/Magento/Directory/Model/Resource/Country/Collection.php
index 09b993c6823..ccb1254e921 100644
--- a/app/code/Magento/Directory/Model/Resource/Country/Collection.php
+++ b/app/code/Magento/Directory/Model/Resource/Country/Collection.php
@@ -59,7 +59,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\String $stringHelper
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
@@ -70,7 +70,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\String $stringHelper,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
diff --git a/app/code/Magento/Directory/Model/Resource/Region/Collection.php b/app/code/Magento/Directory/Model/Resource/Region/Collection.php
index dc9808713c3..a5551a69e8b 100644
--- a/app/code/Magento/Directory/Model/Resource/Region/Collection.php
+++ b/app/code/Magento/Directory/Model/Resource/Region/Collection.php
@@ -51,7 +51,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_locale;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -59,7 +59,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Directory/etc/di.xml b/app/code/Magento/Directory/etc/di.xml
index 9ec72be3c11..c22053d60be 100644
--- a/app/code/Magento/Directory/etc/di.xml
+++ b/app/code/Magento/Directory/etc/di.xml
@@ -35,13 +35,8 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Directory\Model\Currency\Import\Factory">
-        <param name="coreConfig">
-            <instance type="Magento\Core\Model\Config\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <directory_setup>Magento\Directory\Model\Resource\Setup</directory_setup>
             </value>
diff --git a/app/code/Magento/Downloadable/Helper/Download.php b/app/code/Magento/Downloadable/Helper/Download.php
index 7e1b20798cd..a8ab22f10a9 100644
--- a/app/code/Magento/Downloadable/Helper/Download.php
+++ b/app/code/Magento/Downloadable/Helper/Download.php
@@ -116,7 +116,7 @@ class Download extends \Magento\Core\Helper\AbstractHelper
     protected $_app;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirModel;
 
@@ -127,7 +127,7 @@ class Download extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\Dir $dirModel
+     * @param \Magento\App\Dir $dirModel
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
@@ -136,7 +136,7 @@ class Download extends \Magento\Core\Helper\AbstractHelper
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\Dir $dirModel
+        \Magento\App\Dir $dirModel
     ) {
         $this->_coreData = $coreData;
         $this->_downloadableFile = $downloadableFile;
@@ -239,7 +239,7 @@ class Download extends \Magento\Core\Helper\AbstractHelper
                 if (!is_file($this->_resourceFile)) {
                     $this->_coreFileStorageDb->saveFileToFilesystem($this->_resourceFile);
                 }
-                $this->_handle->open(array('path' => $this->_dirModel->getDir(\Magento\Core\Model\Dir::VAR_DIR)));
+                $this->_handle->open(array('path' => $this->_dirModel->getDir(\Magento\App\Dir::VAR_DIR)));
                 if (!$this->_handle->fileExists($this->_resourceFile, true)) {
                     throw new \Magento\Core\Exception(__("We can't find this file."));
                 }
@@ -333,7 +333,7 @@ class Download extends \Magento\Core\Helper\AbstractHelper
     /**
      * Retrieve Http Request Object
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getHttpRequest()
     {
@@ -343,7 +343,7 @@ class Download extends \Magento\Core\Helper\AbstractHelper
     /**
      * Retrieve Http Response Object
      *
-     * @return \Magento\Core\Controller\Response\Http
+     * @return \Magento\App\ResponseInterface
      */
     public function getHttpResponse()
     {
diff --git a/app/code/Magento/Downloadable/Model/Link.php b/app/code/Magento/Downloadable/Model/Link.php
index a8f2084ef74..b7096373192 100644
--- a/app/code/Magento/Downloadable/Model/Link.php
+++ b/app/code/Magento/Downloadable/Model/Link.php
@@ -68,14 +68,14 @@ class Link extends \Magento\Core\Model\AbstractModel
     const LINK_SHAREABLE_CONFIG = 2;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirModel;
 
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $dirModel
+     * @param \Magento\App\Dir $dirModel
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -83,7 +83,7 @@ class Link extends \Magento\Core\Model\AbstractModel
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $dirModel,
+        \Magento\App\Dir $dirModel,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -130,7 +130,7 @@ class Link extends \Magento\Core\Model\AbstractModel
      */
     public function getBaseTmpPath()
     {
-        return $this->_dirModel->getDir(\Magento\Core\Model\Dir::MEDIA)
+        return $this->_dirModel->getDir(\Magento\App\Dir::MEDIA)
             . DS . 'downloadable' . DS . 'tmp' . DS . 'links';
     }
 
@@ -141,7 +141,7 @@ class Link extends \Magento\Core\Model\AbstractModel
      */
     public function getBasePath()
     {
-        return $this->_dirModel->getDir(\Magento\Core\Model\Dir::MEDIA) . DS . 'downloadable' . DS . 'files' . DS . 'links';
+        return $this->_dirModel->getDir(\Magento\App\Dir::MEDIA) . DS . 'downloadable' . DS . 'files' . DS . 'links';
     }
 
     /**
@@ -151,7 +151,7 @@ class Link extends \Magento\Core\Model\AbstractModel
      */
     public function getBaseSampleTmpPath()
     {
-        return $this->_dirModel->getDir(\Magento\Core\Model\Dir::MEDIA) . DS . 'downloadable' . DS . 'tmp' . DS . 'link_samples';
+        return $this->_dirModel->getDir(\Magento\App\Dir::MEDIA) . DS . 'downloadable' . DS . 'tmp' . DS . 'link_samples';
     }
 
     /**
@@ -161,7 +161,7 @@ class Link extends \Magento\Core\Model\AbstractModel
      */
     public function getBaseSamplePath()
     {
-        return $this->_dirModel->getDir(\Magento\Core\Model\Dir::MEDIA) . DS . 'downloadable' . DS . 'files' . DS . 'link_samples';
+        return $this->_dirModel->getDir(\Magento\App\Dir::MEDIA) . DS . 'downloadable' . DS . 'files' . DS . 'link_samples';
     }
 
     /**
diff --git a/app/code/Magento/Downloadable/Model/Product/Type.php b/app/code/Magento/Downloadable/Model/Product/Type.php
index 5d5d40c72a7..b2c8757af3a 100644
--- a/app/code/Magento/Downloadable/Model/Product/Type.php
+++ b/app/code/Magento/Downloadable/Model/Product/Type.php
@@ -81,7 +81,7 @@ class Type extends \Magento\Catalog\Model\Product\Type\Virtual
      * @param \Magento\Catalog\Model\Product\Option $catalogProductOption
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Catalog\Model\Product\Type $catalogProductType
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Downloadable\Helper\File $downloadableFile
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDb
@@ -101,7 +101,7 @@ class Type extends \Magento\Catalog\Model\Product\Type\Virtual
         \Magento\Catalog\Model\Product\Option $catalogProductOption,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Catalog\Model\Product\Type $catalogProductType,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Downloadable\Helper\File $downloadableFile,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDb,
diff --git a/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/AbstractItems.php b/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/AbstractItems.php
index ce98c4445a2..aa5f61dc45f 100644
--- a/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/AbstractItems.php
+++ b/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/AbstractItems.php
@@ -59,7 +59,7 @@ abstract class AbstractItems extends \Magento\Sales\Model\Order\Pdf\Items\Abstra
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory
      * @param \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory
@@ -71,7 +71,7 @@ abstract class AbstractItems extends \Magento\Sales\Model\Order\Pdf\Items\Abstra
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory,
         \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory,
diff --git a/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Creditmemo.php b/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Creditmemo.php
index 956e67a1a54..a1e3651a476 100644
--- a/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Creditmemo.php
+++ b/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Creditmemo.php
@@ -42,7 +42,7 @@ class Creditmemo
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory
      * @param \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory
@@ -55,7 +55,7 @@ class Creditmemo
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory,
         \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory,
diff --git a/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Invoice.php b/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Invoice.php
index e6b20089679..16c5f1f2f97 100644
--- a/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Invoice.php
+++ b/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Invoice.php
@@ -49,7 +49,7 @@ class Invoice
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory
      * @param \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory
@@ -62,7 +62,7 @@ class Invoice
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory,
         \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory,
diff --git a/app/code/Magento/Downloadable/Model/Sample.php b/app/code/Magento/Downloadable/Model/Sample.php
index 68080e4d369..df718f6ad27 100644
--- a/app/code/Magento/Downloadable/Model/Sample.php
+++ b/app/code/Magento/Downloadable/Model/Sample.php
@@ -51,14 +51,14 @@ class Sample extends \Magento\Core\Model\AbstractModel
     const XML_PATH_SAMPLES_TITLE = 'catalog/downloadable/samples_title';
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirModel;
 
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $dirModel
+     * @param \Magento\App\Dir $dirModel
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -66,7 +66,7 @@ class Sample extends \Magento\Core\Model\AbstractModel
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $dirModel,
+        \Magento\App\Dir $dirModel,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -128,7 +128,7 @@ class Sample extends \Magento\Core\Model\AbstractModel
      */
     public function getBaseTmpPath()
     {
-        return $this->_dirModel->getDir(\Magento\Core\Model\Dir::MEDIA)
+        return $this->_dirModel->getDir(\Magento\App\Dir::MEDIA)
             . DS . 'downloadable' . DS . 'tmp' . DS . 'samples';
     }
 
@@ -139,7 +139,7 @@ class Sample extends \Magento\Core\Model\AbstractModel
      */
     public function getBasePath()
     {
-        return $this->_dirModel->getDir(\Magento\Core\Model\Dir::MEDIA)
+        return $this->_dirModel->getDir(\Magento\App\Dir::MEDIA)
             . DS . 'downloadable' . DS . 'files' . DS . 'samples';
     }
 
diff --git a/app/code/Magento/Downloadable/etc/di.xml b/app/code/Magento/Downloadable/etc/di.xml
index 521398d74ba..57276d1bee8 100644
--- a/app/code/Magento/Downloadable/etc/di.xml
+++ b/app/code/Magento/Downloadable/etc/di.xml
@@ -39,8 +39,8 @@
             <value>Virtual / Downloadable</value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <downloadable_setup>Magento\Catalog\Model\Resource\Setup</downloadable_setup>
             </value>
diff --git a/app/code/Magento/Eav/Model/Attribute/Data/AbstractData.php b/app/code/Magento/Eav/Model/Attribute/Data/AbstractData.php
index f9a3fd48b87..2fbd942534b 100644
--- a/app/code/Magento/Eav/Model/Attribute/Data/AbstractData.php
+++ b/app/code/Magento/Eav/Model/Attribute/Data/AbstractData.php
@@ -513,10 +513,10 @@ abstract class AbstractData
     /**
      * Return Original Attribute value from Request
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return mixed
      */
-    protected function _getRequestValue(\Zend_Controller_Request_Http $request)
+    protected function _getRequestValue(\Magento\App\RequestInterface $request)
     {
         $attrCode  = $this->getAttribute()->getAttributeCode();
         if ($this->_requestScope) {
@@ -552,10 +552,10 @@ abstract class AbstractData
     /**
      * Extract data from request and return value
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array|string
      */
-    abstract public function extractValue(\Zend_Controller_Request_Http $request);
+    abstract public function extractValue(\Magento\App\RequestInterface $request);
 
     /**
      * Validate data
diff --git a/app/code/Magento/Eav/Model/Attribute/Data/Date.php b/app/code/Magento/Eav/Model/Attribute/Data/Date.php
index 6c5d6380277..7e4cdd6ed90 100644
--- a/app/code/Magento/Eav/Model/Attribute/Data/Date.php
+++ b/app/code/Magento/Eav/Model/Attribute/Data/Date.php
@@ -39,10 +39,10 @@ class Date extends \Magento\Eav\Model\Attribute\Data\AbstractData
     /**
      * Extract data from request and return value
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array|string
      */
-    public function extractValue(\Zend_Controller_Request_Http $request)
+    public function extractValue(\Magento\App\RequestInterface $request)
     {
         $value = $this->_getRequestValue($request);
         return $this->_applyInputFilter($value);
diff --git a/app/code/Magento/Eav/Model/Attribute/Data/File.php b/app/code/Magento/Eav/Model/Attribute/Data/File.php
index 94b4674ce37..c82f6124290 100644
--- a/app/code/Magento/Eav/Model/Attribute/Data/File.php
+++ b/app/code/Magento/Eav/Model/Attribute/Data/File.php
@@ -55,7 +55,7 @@ class File extends \Magento\Eav\Model\Attribute\Data\AbstractData
     protected $_fileValidator;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
@@ -64,14 +64,14 @@ class File extends \Magento\Eav\Model\Attribute\Data\AbstractData
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\File\Validator\NotProtectedExtension $fileValidator
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      */
     public function __construct(
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Core\Model\Logger $logger,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\File\Validator\NotProtectedExtension $fileValidator,
-        \Magento\Core\Model\Dir $coreDir
+        \Magento\App\Dir $coreDir
     ) {
         parent::__construct($locale, $logger);
         $this->_coreData = $coreData;
@@ -82,10 +82,10 @@ class File extends \Magento\Eav\Model\Attribute\Data\AbstractData
     /**
      * Extract data from request and return value
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array|string
      */
-    public function extractValue(\Zend_Controller_Request_Http $request)
+    public function extractValue(\Magento\App\RequestInterface $request)
     {
         if ($this->getIsAjaxRequest()) {
             return false;
diff --git a/app/code/Magento/Eav/Model/Attribute/Data/Multiline.php b/app/code/Magento/Eav/Model/Attribute/Data/Multiline.php
index 510a48209f9..a8d64da9265 100644
--- a/app/code/Magento/Eav/Model/Attribute/Data/Multiline.php
+++ b/app/code/Magento/Eav/Model/Attribute/Data/Multiline.php
@@ -39,10 +39,10 @@ class Multiline extends \Magento\Eav\Model\Attribute\Data\Text
     /**
      * Extract data from request and return value
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array|string
      */
-    public function extractValue(\Zend_Controller_Request_Http $request)
+    public function extractValue(\Magento\App\RequestInterface $request)
     {
         $value = $this->_getRequestValue($request);
         if (!is_array($value)) {
diff --git a/app/code/Magento/Eav/Model/Attribute/Data/Multiselect.php b/app/code/Magento/Eav/Model/Attribute/Data/Multiselect.php
index 80c90751240..d65cfdd4a76 100644
--- a/app/code/Magento/Eav/Model/Attribute/Data/Multiselect.php
+++ b/app/code/Magento/Eav/Model/Attribute/Data/Multiselect.php
@@ -39,10 +39,10 @@ class Multiselect extends \Magento\Eav\Model\Attribute\Data\Select
     /**
      * Extract data from request and return value
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array|string
      */
-    public function extractValue(\Zend_Controller_Request_Http $request)
+    public function extractValue(\Magento\App\RequestInterface $request)
     {
         $values = $this->_getRequestValue($request);
         if ($values !== false && !is_array($values)) {
diff --git a/app/code/Magento/Eav/Model/Attribute/Data/Select.php b/app/code/Magento/Eav/Model/Attribute/Data/Select.php
index 2fa560170dc..365f9446d2f 100644
--- a/app/code/Magento/Eav/Model/Attribute/Data/Select.php
+++ b/app/code/Magento/Eav/Model/Attribute/Data/Select.php
@@ -39,10 +39,10 @@ class Select extends \Magento\Eav\Model\Attribute\Data\AbstractData
     /**
      * Extract data from request and return value
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array|string
      */
-    public function extractValue(\Zend_Controller_Request_Http $request)
+    public function extractValue(\Magento\App\RequestInterface $request)
     {
         return $this->_getRequestValue($request);
     }
diff --git a/app/code/Magento/Eav/Model/Attribute/Data/Text.php b/app/code/Magento/Eav/Model/Attribute/Data/Text.php
index aed4b398ea2..7fa5fce942c 100644
--- a/app/code/Magento/Eav/Model/Attribute/Data/Text.php
+++ b/app/code/Magento/Eav/Model/Attribute/Data/Text.php
@@ -58,10 +58,10 @@ class Text extends \Magento\Eav\Model\Attribute\Data\AbstractData
     /**
      * Extract data from request and return value
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array|string
      */
-    public function extractValue(\Zend_Controller_Request_Http $request)
+    public function extractValue(\Magento\App\RequestInterface $request)
     {
         $value = $this->_getRequestValue($request);
         return $this->_applyInputFilter($value);
diff --git a/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php b/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php
index 7ccf50a293f..dcf4bb40492 100644
--- a/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php
+++ b/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php
@@ -106,7 +106,7 @@ abstract class AbstractCollection extends \Magento\Data\Collection\Db
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -136,7 +136,7 @@ abstract class AbstractCollection extends \Magento\Data\Collection\Db
     protected $_universalFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -147,7 +147,7 @@ abstract class AbstractCollection extends \Magento\Data\Collection\Db
      * @param \Magento\Validator\UniversalFactory $universalFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Eav/Model/Form.php b/app/code/Magento/Eav/Model/Form.php
index 319777a7f28..2a956d65520 100644
--- a/app/code/Magento/Eav/Model/Form.php
+++ b/app/code/Magento/Eav/Model/Form.php
@@ -150,7 +150,7 @@ abstract class Form
     protected $_universalFactory;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_httpRequest;
 
@@ -165,7 +165,7 @@ abstract class Form
      * @param \Magento\Core\Model\Config\Modules\Reader $modulesReader
      * @param \Magento\Eav\Model\AttributeDataFactory $attrDataFactory
      * @param \Magento\Validator\UniversalFactory $universalFactory
-     * @param \Magento\Core\Controller\Request\Http $httpRequest
+     * @param \Magento\App\RequestInterface $httpRequest
      * @param \Magento\Validator\ConfigFactory $validatorConfigFactory
      *
      * @throws \Magento\Core\Exception
@@ -176,7 +176,7 @@ abstract class Form
         \Magento\Core\Model\Config\Modules\Reader $modulesReader,
         \Magento\Eav\Model\AttributeDataFactory $attrDataFactory,
         \Magento\Validator\UniversalFactory $universalFactory,
-        \Magento\Core\Controller\Request\Http $httpRequest,
+        \Magento\App\RequestInterface $httpRequest,
         \Magento\Validator\ConfigFactory $validatorConfigFactory
     ) {
         if (empty($this->_moduleName)) {
@@ -427,7 +427,7 @@ abstract class Form
      * Prepare request with data and returns it
      *
      * @param array $data
-     * @return \Zend_Controller_Request_Http
+     * @return \Magento\App\RequestInterface
      */
     public function prepareRequest(array $data)
     {
@@ -442,12 +442,12 @@ abstract class Form
     /**
      * Extract data from request and return associative data array
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param string $scope the request scope
      * @param boolean $scopeOnly search value only in scope or search value in global too
      * @return array
      */
-    public function extractData(\Zend_Controller_Request_Http $request, $scope = null, $scopeOnly = true)
+    public function extractData(\Magento\App\RequestInterface $request, $scope = null, $scopeOnly = true)
     {
         $data = array();
         /** @var $attribute \Magento\Eav\Model\Attribute */
diff --git a/app/code/Magento/Eav/Model/Resource/Attribute/Collection.php b/app/code/Magento/Eav/Model/Resource/Attribute/Collection.php
index 9901304aac9..cd9824f73c1 100644
--- a/app/code/Magento/Eav/Model/Resource/Attribute/Collection.php
+++ b/app/code/Magento/Eav/Model/Resource/Attribute/Collection.php
@@ -67,7 +67,7 @@ abstract class Collection
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -76,7 +76,7 @@ abstract class Collection
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Grid/Collection.php b/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Grid/Collection.php
index 17076959378..82f846a28e0 100644
--- a/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Grid/Collection.php
+++ b/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Grid/Collection.php
@@ -42,7 +42,7 @@ class Collection
     protected $_registryManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -50,7 +50,7 @@ class Collection
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Option/Collection.php b/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Option/Collection.php
index cd4bf421442..d75e0043fd3 100644
--- a/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Option/Collection.php
+++ b/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Option/Collection.php
@@ -54,7 +54,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -63,7 +63,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Eav/Model/Resource/Form/Attribute/Collection.php b/app/code/Magento/Eav/Model/Resource/Form/Attribute/Collection.php
index a5cfacf0f2c..60d32a352a5 100644
--- a/app/code/Magento/Eav/Model/Resource/Form/Attribute/Collection.php
+++ b/app/code/Magento/Eav/Model/Resource/Form/Attribute/Collection.php
@@ -75,7 +75,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_eavConfig;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -84,7 +84,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Eav/Model/Resource/Form/Fieldset/Collection.php b/app/code/Magento/Eav/Model/Resource/Form/Fieldset/Collection.php
index 911d2048361..f3ccdab233a 100644
--- a/app/code/Magento/Eav/Model/Resource/Form/Fieldset/Collection.php
+++ b/app/code/Magento/Eav/Model/Resource/Form/Fieldset/Collection.php
@@ -49,7 +49,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -57,7 +57,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Eav/etc/di.xml b/app/code/Magento/Eav/etc/di.xml
index c01f91591b7..230dd2cffd6 100644
--- a/app/code/Magento/Eav/etc/di.xml
+++ b/app/code/Magento/Eav/etc/di.xml
@@ -24,18 +24,13 @@
  */
 -->
 <config>
-    <type name="Magento\Eav\Model\Entity\Collection\AbstractCollection">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy"/>
-        </param>
-    </type>
     <type name="Magento\Eav\Model\Resource\Helper">
         <param name="modulePrefix">
             <value>eav</value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <eav_setup>Magento\Eav\Model\Entity\Setup</eav_setup>
             </value>
diff --git a/app/code/Magento/GiftMessage/Helper/Message.php b/app/code/Magento/GiftMessage/Helper/Message.php
index 9d8681cc486..cf2cf73ac3c 100644
--- a/app/code/Magento/GiftMessage/Helper/Message.php
+++ b/app/code/Magento/GiftMessage/Helper/Message.php
@@ -63,7 +63,7 @@ class Message extends \Magento\Core\Helper\Data
     protected $_productFactory;
 
     /**
-     * @var \Magento\Core\Model\LayoutFactory
+     * @var \Magento\View\LayoutFactory
      */
     protected $_layoutFactory;
 
@@ -74,37 +74,36 @@ class Message extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Model\LayoutFactory $layoutFactory
+     * @param \Magento\View\LayoutFactory $layoutFactory
      * @param \Magento\GiftMessage\Model\MessageFactory $giftMessageFactory
      * @param bool $dbCompatibleMode
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Model\LayoutFactory $layoutFactory,
+        \Magento\View\LayoutFactory $layoutFactory,
         \Magento\GiftMessage\Model\MessageFactory $giftMessageFactory,
         $dbCompatibleMode = true
-    )
-    {
+    ) {
         $this->_productFactory = $productFactory;
         $this->_layoutFactory = $layoutFactory;
         $this->_giftMessageFactory = $giftMessageFactory;
diff --git a/app/code/Magento/GiftMessage/etc/di.xml b/app/code/Magento/GiftMessage/etc/di.xml
index 8a374d90d75..5849ad45bb0 100644
--- a/app/code/Magento/GiftMessage/etc/di.xml
+++ b/app/code/Magento/GiftMessage/etc/di.xml
@@ -24,8 +24,8 @@
  */
 -->
 <config>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <giftmessage_setup>Magento\GiftMessage\Model\Resource\Setup</giftmessage_setup>
             </value>
diff --git a/app/code/Magento/GoogleCheckout/Block/Adminhtml/Shipping/Merchant.php b/app/code/Magento/GoogleCheckout/Block/Adminhtml/Shipping/Merchant.php
index e75101a63c8..484498d3915 100644
--- a/app/code/Magento/GoogleCheckout/Block/Adminhtml/Shipping/Merchant.php
+++ b/app/code/Magento/GoogleCheckout/Block/Adminhtml/Shipping/Merchant.php
@@ -75,11 +75,23 @@ class Merchant
     {
         $this->setElement($element);
 
-        $html = '<div id="merchant_allowed_methods_template" style="display:none">';
+        $html = '<table style="display: none;"><tbody id="merchant_allowed_methods_template">';
         $html .= $this->_getRowTemplateHtml();
-        $html .= '</div>';
+        $html .= '</tbody></table>';
+
+        $html .= '<table cellspacing="0" class="data-table">';
+        $html .= '<thead><tr>';
+        $html .= '<th class="col-shipping-method">' . __('Shipping Method') . '</th>';
+        $html .= '<th class="col-default-price">' . __('Default Price') . '</th>';
+        $html .= '<th class="col-actions">' . __('Action') . '</th>';
+        $html .= '</tr></thead>';
+        $html .= '<tfoot><tr><td colspan="3">';
+
+        $html .= $this->_getAddRowButtonHtml('merchant_allowed_methods_container', 'merchant_allowed_methods_template', __('Add Shipping Method'));
+
+        $html .= '</td></tr></tfoot>';
+        $html .= '<tbody id="merchant_allowed_methods_container">';
 
-        $html .= '<ul id="merchant_allowed_methods_container">';
         if ($this->_getValue('method')) {
             foreach ($this->_getValue('method') as $i => $f) {
                 if ($i) {
@@ -87,9 +99,9 @@ class Merchant
                 }
             }
         }
-        $html .= '</ul>';
-        $html .= $this->_getAddRowButtonHtml('merchant_allowed_methods_container',
-            'merchant_allowed_methods_template', __('Add Shipping Method'));
+
+        $html .= '</tbody>';
+        $html .= '</table>';
 
         return $html;
     }
@@ -102,33 +114,34 @@ class Merchant
      */
     protected function _getRowTemplateHtml($rowIndex = 0)
     {
-        $html = '<li>';
+        $html = '<tr>';
+        $html .= '<td class="col-shipping-method">';
         $html .= '<select name="' . $this->getElement()->getName() . '[method][]" ' . $this->_getDisabled() . '>';
         $html .= '<option value="">' . __('* Select shipping method') . '</option>';
 
         foreach ($this->getShippingMethods() as $carrierCode => $carrier) {
-            $html .= '<optgroup label="' . $this->escapeHtml($carrier['title'])
-                . '" style="border-top:solid 1px black; margin-top:3px;">';
+            $html .= '<optgroup label="' . $this->escapeHtml($carrier['title']) . '">';
 
             foreach ($carrier['methods'] as $methodCode => $method) {
                 $code = $carrierCode . '/' . $methodCode;
                 $html .= '<option value="' . $this->escapeHtml($code) . '" '
                     . $this->_getSelected('method/' . $rowIndex, $code)
-                    . ' style="background:white;">' . $this->escapeHtml($method['title']) . '</option>';
+                    . '>' . $this->escapeHtml($method['title']) . '</option>';
             }
             $html .= '</optgroup>';
         }
-        $html .= '</select>';
 
-        $html .= '<div style="margin:5px 0 10px;">';
-        $html .= '<label>' . __('Default price:') . '</label> ';
-        $html .= '<input class="input-text" style="width:70px;" name="'
+        $html .= '</select>';
+        $html .= '</td>';
+        $html .= '<td class="col-default-price">';
+        $html .= '<input type="text" class="input-text" name="'
             . $this->getElement()->getName() . '[price][]" value="'
             . $this->_getValue('price/' . $rowIndex) . '" ' . $this->_getDisabled() . '/> ';
-
+        $html .= '</td>';
+        $html .= '<td class="col-actions">';
         $html .= $this->_getRemoveRowButtonHtml();
-        $html .= '</div>';
-        $html .= '</li>';
+        $html .= '</td>';
+        $html .= '</tr>';
 
         return $html;
     }
@@ -206,12 +219,12 @@ class Merchant
         return $this->_addRowButtonHtml[$container];
     }
 
-    protected function _getRemoveRowButtonHtml($selector = 'li', $title = 'Remove')
+    protected function _getRemoveRowButtonHtml($selector = 'tr', $title = 'Remove')
     {
         if (!$this->_removeRowButtonHtml) {
             $this->_removeRowButtonHtml = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Widget\Button')
                     ->setType('button')
-                    ->setClass('delete v-middle ' . $this->_getDisabled())
+                    ->setClass('delete ' . $this->_getDisabled())
                     ->setLabel(__($title))
                     ->setOnClick("Element.remove($(this).up('" . $selector . "'))")
                     ->setDisabled($this->_getDisabled())
diff --git a/app/code/Magento/GoogleCheckout/Model/Api.php b/app/code/Magento/GoogleCheckout/Model/Api.php
index 288c9a5f54f..d9a42fa732a 100644
--- a/app/code/Magento/GoogleCheckout/Model/Api.php
+++ b/app/code/Magento/GoogleCheckout/Model/Api.php
@@ -38,7 +38,7 @@ class Api extends \Magento\Object
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -56,13 +56,13 @@ class Api extends \Magento\Object
 
     /**
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param array $data
      */
     public function __construct(
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         array $data = array()
     ) {
diff --git a/app/code/Magento/GoogleCheckout/Model/Api/Xml/Callback.php b/app/code/Magento/GoogleCheckout/Model/Api/Xml/Callback.php
index 889d734a6dd..db7d6de4e20 100644
--- a/app/code/Magento/GoogleCheckout/Model/Api/Xml/Callback.php
+++ b/app/code/Magento/GoogleCheckout/Model/Api/Xml/Callback.php
@@ -54,12 +54,12 @@ class Callback extends \Magento\GoogleCheckout\Model\Api\Xml\AbstractXml
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\GoogleCheckout\Helper\Data $googleCheckoutData
      * @param \Magento\Tax\Helper\Data $taxData
@@ -69,7 +69,7 @@ class Callback extends \Magento\GoogleCheckout\Model\Api\Xml\AbstractXml
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\GoogleCheckout\Helper\Data $googleCheckoutData,
         \Magento\Tax\Helper\Data $taxData,
diff --git a/app/code/Magento/GoogleCheckout/Model/Api/Xml/Checkout.php b/app/code/Magento/GoogleCheckout/Model/Api/Xml/Checkout.php
index eeba753a115..cf44cff5d64 100644
--- a/app/code/Magento/GoogleCheckout/Model/Api/Xml/Checkout.php
+++ b/app/code/Magento/GoogleCheckout/Model/Api/Xml/Checkout.php
@@ -88,12 +88,12 @@ class Checkout extends \Magento\GoogleCheckout\Model\Api\Xml\AbstractXml
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Customer\Helper\Data $customerData
      * @param \Magento\GoogleCheckout\Helper\Data $googleCheckoutData
      * @param \Magento\Tax\Helper\Data $taxData
@@ -104,7 +104,7 @@ class Checkout extends \Magento\GoogleCheckout\Model\Api\Xml\AbstractXml
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Customer\Helper\Data $customerData,
         \Magento\GoogleCheckout\Helper\Data $googleCheckoutData,
         \Magento\Tax\Helper\Data $taxData,
diff --git a/app/code/Magento/GoogleCheckout/Model/Payment.php b/app/code/Magento/GoogleCheckout/Model/Payment.php
index fda566db005..9c4543a17cd 100644
--- a/app/code/Magento/GoogleCheckout/Model/Payment.php
+++ b/app/code/Magento/GoogleCheckout/Model/Payment.php
@@ -67,7 +67,7 @@ class Payment extends \Magento\Payment\Model\Method\AbstractMethod
         \Magento\Core\Model\DateFactory $dateFactory,
         \Magento\Core\Model\UrlFactory $urlFactory,
         \Magento\GoogleCheckout\Model\ApiFactory $apiFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
diff --git a/app/code/Magento/GoogleCheckout/etc/di.xml b/app/code/Magento/GoogleCheckout/etc/di.xml
index 67a1d13ed44..9a41af1b6f0 100644
--- a/app/code/Magento/GoogleCheckout/etc/di.xml
+++ b/app/code/Magento/GoogleCheckout/etc/di.xml
@@ -24,23 +24,8 @@
  */
 -->
 <config>
-    <type name="Magento\GoogleCheckout\Model\Api\Xml\Callback">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\GoogleCheckout\Model\Api">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\GoogleCheckout\Model\Api\Xml\Checkout">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <googlecheckout_setup>Magento\Catalog\Model\Resource\Setup</googlecheckout_setup>
             </value>
diff --git a/app/code/Magento/GoogleOptimizer/Model/Observer/AbstractSave.php b/app/code/Magento/GoogleOptimizer/Model/Observer/AbstractSave.php
index d78677ec2e2..00777d43666 100644
--- a/app/code/Magento/GoogleOptimizer/Model/Observer/AbstractSave.php
+++ b/app/code/Magento/GoogleOptimizer/Model/Observer/AbstractSave.php
@@ -38,7 +38,7 @@ abstract class AbstractSave
     protected $_modelCode;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -50,12 +50,12 @@ abstract class AbstractSave
     /**
      * @param \Magento\GoogleOptimizer\Helper\Data $helper
      * @param \Magento\GoogleOptimizer\Model\Code $modelCode
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      */
     public function __construct(
         \Magento\GoogleOptimizer\Helper\Data $helper,
         \Magento\GoogleOptimizer\Model\Code $modelCode,
-        \Magento\Core\Controller\Request\Http $request
+        \Magento\App\RequestInterface $request
     ) {
         $this->_helper = $helper;
         $this->_modelCode = $modelCode;
diff --git a/app/code/Magento/GoogleOptimizer/Model/Observer/Block/Category/Tab.php b/app/code/Magento/GoogleOptimizer/Model/Observer/Block/Category/Tab.php
index 7978da3a95d..f2087c54e58 100644
--- a/app/code/Magento/GoogleOptimizer/Model/Observer/Block/Category/Tab.php
+++ b/app/code/Magento/GoogleOptimizer/Model/Observer/Block/Category/Tab.php
@@ -33,16 +33,18 @@ class Tab
     protected $_helper;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
      * @param \Magento\GoogleOptimizer\Helper\Data $helper
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      */
-    public function __construct(\Magento\GoogleOptimizer\Helper\Data $helper, \Magento\Core\Model\Layout $layout)
-    {
+    public function __construct(
+        \Magento\GoogleOptimizer\Helper\Data $helper,
+        \Magento\View\LayoutInterface $layout
+    ) {
         $this->_helper = $helper;
         $this->_layout = $layout;
     }
diff --git a/app/code/Magento/GoogleShopping/Model/Resource/Item/Collection.php b/app/code/Magento/GoogleShopping/Model/Resource/Item/Collection.php
index 49dc395e18e..3691bb7700b 100644
--- a/app/code/Magento/GoogleShopping/Model/Resource/Item/Collection.php
+++ b/app/code/Magento/GoogleShopping/Model/Resource/Item/Collection.php
@@ -52,7 +52,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * @param \Magento\Core\Model\Resource\Helper $resourceHelper
      * @param \Magento\Eav\Model\Config $config
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -61,7 +61,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     public function __construct(
         \Magento\Core\Model\Resource\Helper $resourceHelper,
         \Magento\Eav\Model\Config $config,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/GoogleShopping/etc/di.xml b/app/code/Magento/GoogleShopping/etc/di.xml
index 1e27d2ca7f3..f456df2403c 100644
--- a/app/code/Magento/GoogleShopping/etc/di.xml
+++ b/app/code/Magento/GoogleShopping/etc/di.xml
@@ -34,8 +34,8 @@
             <instance type="Magento\GoogleShopping\Model\Resource\Helper" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <googleshopping_setup>Magento\GoogleShopping\Model\Resource\Setup</googleshopping_setup>
             </value>
diff --git a/app/code/Magento/ImportExport/Block/Adminhtml/Import/Edit/Form.php b/app/code/Magento/ImportExport/Block/Adminhtml/Import/Edit/Form.php
index f2f2b4dd2ac..06c6c06660a 100644
--- a/app/code/Magento/ImportExport/Block/Adminhtml/Import/Edit/Form.php
+++ b/app/code/Magento/ImportExport/Block/Adminhtml/Import/Edit/Form.php
@@ -139,6 +139,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
             'label'    => __('Select File to Import'),
             'title'    => __('Select File to Import'),
             'required' => true,
+            'class' => 'input-file'
         ));
 
         $form->setUseContainer(true);
diff --git a/app/code/Magento/ImportExport/Helper/Data.php b/app/code/Magento/ImportExport/Helper/Data.php
index 3fba7ad5eeb..c28dc46c609 100644
--- a/app/code/Magento/ImportExport/Helper/Data.php
+++ b/app/code/Magento/ImportExport/Helper/Data.php
@@ -49,28 +49,28 @@ class Data extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\File\Size $fileSize
      * @param bool $dbCompatibleMode
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\File\Size $fileSize,
         $dbCompatibleMode = true
diff --git a/app/code/Magento/ImportExport/Model/AbstractModel.php b/app/code/Magento/ImportExport/Model/AbstractModel.php
index 33771467b69..a749ad4b64f 100644
--- a/app/code/Magento/ImportExport/Model/AbstractModel.php
+++ b/app/code/Magento/ImportExport/Model/AbstractModel.php
@@ -68,7 +68,7 @@ abstract class AbstractModel extends \Magento\Object
     protected $_logger;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -79,13 +79,13 @@ abstract class AbstractModel extends \Magento\Object
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Log\AdapterFactory $adapterFactory
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Log\AdapterFactory $adapterFactory,
         array $data = array()
     ) {
diff --git a/app/code/Magento/ImportExport/Model/Export.php b/app/code/Magento/ImportExport/Model/Export.php
index 7eaa510f103..0bbe6ba51d8 100644
--- a/app/code/Magento/ImportExport/Model/Export.php
+++ b/app/code/Magento/ImportExport/Model/Export.php
@@ -77,7 +77,7 @@ class Export extends \Magento\ImportExport\Model\AbstractModel
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Log\AdapterFactory $adapterFactory
      * @param \Magento\ImportExport\Model\Export\ConfigInterface $exportConfig
      * @param \Magento\ImportExport\Model\Export\Entity\Factory $entityFactory
@@ -86,7 +86,7 @@ class Export extends \Magento\ImportExport\Model\AbstractModel
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Log\AdapterFactory $adapterFactory,
         \Magento\ImportExport\Model\Export\ConfigInterface $exportConfig,
         \Magento\ImportExport\Model\Export\Entity\Factory $entityFactory,
diff --git a/app/code/Magento/ImportExport/Model/Import.php b/app/code/Magento/ImportExport/Model/Import.php
index 5a1b7a36b59..f10e6a2a7ce 100644
--- a/app/code/Magento/ImportExport/Model/Import.php
+++ b/app/code/Magento/ImportExport/Model/Import.php
@@ -132,7 +132,7 @@ class Import extends \Magento\ImportExport\Model\AbstractModel
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Log\AdapterFactory $adapterFactory
      * @param \Magento\ImportExport\Helper\Data $importExportData
      * @param \Magento\Core\Model\Config $coreConfig
@@ -148,7 +148,7 @@ class Import extends \Magento\ImportExport\Model\AbstractModel
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Log\AdapterFactory $adapterFactory,
         \Magento\ImportExport\Helper\Data $importExportData,
         \Magento\Core\Model\Config $coreConfig,
diff --git a/app/code/Magento/ImportExport/Model/Import/Entity/Product.php b/app/code/Magento/ImportExport/Model/Import/Entity/Product.php
index 47a288bc7aa..a4a1ace7c87 100644
--- a/app/code/Magento/ImportExport/Model/Import/Entity/Product.php
+++ b/app/code/Magento/ImportExport/Model/Import/Entity/Product.php
@@ -311,7 +311,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -371,7 +371,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
     protected $_uploaderFactory;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -398,7 +398,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
      * @param \Magento\Eav\Model\Config $config
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\ImportExport\Model\Resource\Helper $resourceHelper
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\CatalogInventory\Helper\Data $catalogInventoryData
      * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\ImportExport\Model\Import\Config $importConfig
@@ -413,7 +413,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
      * @param \Magento\Catalog\Model\Resource\Product\LinkFactory $linkFactory
      * @param \Magento\ImportExport\Model\Import\Proxy\ProductFactory $proxyProdFactory
      * @param \Magento\ImportExport\Model\Import\UploaderFactory $uploaderFactory
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\CatalogInventory\Model\Resource\Stock\ItemFactory $stockResItemFac
      * @param \Magento\CatalogInventory\Model\Stock\ItemFactory $stockItemFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
@@ -427,7 +427,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
         \Magento\Eav\Model\Config $config,
         \Magento\Core\Model\Resource $resource,
         \Magento\ImportExport\Model\Resource\Helper $resourceHelper,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\CatalogInventory\Helper\Data $catalogInventoryData,
         \Magento\Catalog\Helper\Data $catalogData,
         \Magento\ImportExport\Model\Import\Config $importConfig,
@@ -443,7 +443,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
         \Magento\Catalog\Model\Resource\Product\LinkFactory $linkFactory,
         \Magento\ImportExport\Model\Import\Proxy\ProductFactory $proxyProdFactory,
         \Magento\ImportExport\Model\Import\UploaderFactory $uploaderFactory,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\CatalogInventory\Model\Resource\Stock\ItemFactory $stockResItemFac,
         \Magento\CatalogInventory\Model\Stock\ItemFactory $stockItemFactory,
         \Magento\Core\Model\LocaleInterface $locale,
@@ -1356,7 +1356,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
 
             $this->_fileUploader->init();
 
-            $mediaDir = $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA);
+            $mediaDir = $this->_dir->getDir(\Magento\App\Dir::MEDIA);
             if (!$mediaDir) {
                 throw new \Magento\Exception('Media directory is unavailable.');
             }
diff --git a/app/code/Magento/ImportExport/etc/di.xml b/app/code/Magento/ImportExport/etc/di.xml
index 941ef286b9b..6153f2371f7 100644
--- a/app/code/Magento/ImportExport/etc/di.xml
+++ b/app/code/Magento/ImportExport/etc/di.xml
@@ -26,9 +26,4 @@
 <config>
     <preference for="Magento\ImportExport\Model\Import\ConfigInterface" type="Magento\ImportExport\Model\Import\Config" />
     <preference for="Magento\ImportExport\Model\Export\ConfigInterface" type="Magento\ImportExport\Model\Export\Config" />
-    <type name="Magento\ImportExport\Model\Import\Entity\Product">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
 </config>
diff --git a/app/code/Magento/Index/Model/Indexer.php b/app/code/Magento/Index/Model/Indexer.php
index 7f10a6c6344..fa11acee412 100644
--- a/app/code/Magento/Index/Model/Indexer.php
+++ b/app/code/Magento/Index/Model/Indexer.php
@@ -46,7 +46,7 @@ class Indexer
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -63,13 +63,13 @@ class Indexer
     /**
      * @param \Magento\Index\Model\Resource\Process\CollectionFactory $collectionFactory
      * @param \Magento\Index\Model\Resource\Process $resourceProcess
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Index\Model\EventFactory $indexEventFactory
      */
     public function __construct(
         \Magento\Index\Model\Resource\Process\CollectionFactory $collectionFactory,
         \Magento\Index\Model\Resource\Process $resourceProcess,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Index\Model\EventFactory $indexEventFactory
     ) {
         $this->_collectionFactory = $collectionFactory;
diff --git a/app/code/Magento/Index/Model/Lock/Storage.php b/app/code/Magento/Index/Model/Lock/Storage.php
index b21b07addfb..cb5d9cfd46a 100644
--- a/app/code/Magento/Index/Model/Lock/Storage.php
+++ b/app/code/Magento/Index/Model/Lock/Storage.php
@@ -32,7 +32,7 @@ namespace Magento\Index\Model\Lock;
 class Storage
 {
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -49,11 +49,11 @@ class Storage
     protected $_fileHandlers = array();
 
     /**
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Index\Model\Process\FileFactory $fileFactory
      */
     public function __construct(
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Index\Model\Process\FileFactory $fileFactory
     ) {
         $this->_dirs = $dirs;
@@ -70,7 +70,7 @@ class Storage
     {
         if (!isset($this->_fileHandlers[$processId])) {
             $file = $this->_fileFactory->create();
-            $varDirectory = $this->_dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'locks';
+            $varDirectory = $this->_dirs->getDir(\Magento\App\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'locks';
             $file->setAllowCreateFolders(true);
 
             $file->open(array('path' => $varDirectory));
diff --git a/app/code/Magento/Index/Model/Process.php b/app/code/Magento/Index/Model/Process.php
index 452c9921d6c..800068cf3dd 100644
--- a/app/code/Magento/Index/Model/Process.php
+++ b/app/code/Magento/Index/Model/Process.php
@@ -99,7 +99,7 @@ class Process extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -127,7 +127,7 @@ class Process extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Index\Model\Resource\Event $resourceEvent
      * @param \Magento\Index\Model\Indexer\Factory $indexerFactory
      * @param \Magento\Index\Model\Indexer $indexer
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Index\Model\Indexer\ConfigInterface $indexerConfig
      * @param \Magento\Core\Model\Registry $registry
@@ -143,7 +143,7 @@ class Process extends \Magento\Core\Model\AbstractModel
         \Magento\Index\Model\Resource\Event $resourceEvent,
         \Magento\Index\Model\Indexer\Factory $indexerFactory,
         \Magento\Index\Model\Indexer $indexer,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Index\Model\Indexer\ConfigInterface $indexerConfig,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/Index/Model/Shell.php b/app/code/Magento/Index/Model/Shell.php
index c9317a43ab2..b3822a9f143 100644
--- a/app/code/Magento/Index/Model/Shell.php
+++ b/app/code/Magento/Index/Model/Shell.php
@@ -51,13 +51,13 @@ class Shell extends \Magento\Core\Model\AbstractShell
      * @param \Magento\Index\Model\Indexer $indexer
      * @param \Magento\Filesystem $filesystem
      * @param string $entryPoint
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      */
     public function __construct(
         \Magento\Index\Model\Indexer $indexer,
         \Magento\Filesystem $filesystem,
         $entryPoint,
-        \Magento\Core\Model\Dir $dir
+        \Magento\App\Dir $dir
     ) {
         $this->_indexer = $indexer;
         parent::__construct($filesystem, $entryPoint, $dir);
diff --git a/app/code/Magento/Index/Model/System/Message/IndexOutdated.php b/app/code/Magento/Index/Model/System/Message/IndexOutdated.php
index a194f1e4187..7321b1d3e8a 100644
--- a/app/code/Magento/Index/Model/System/Message/IndexOutdated.php
+++ b/app/code/Magento/Index/Model/System/Message/IndexOutdated.php
@@ -31,7 +31,7 @@ class IndexOutdated implements \Magento\AdminNotification\Model\System\MessageIn
     protected $_indexer;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -47,12 +47,12 @@ class IndexOutdated implements \Magento\AdminNotification\Model\System\MessageIn
 
     /**
      * @param \Magento\Index\Model\Indexer $indexer
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\AuthorizationInterface $authorization
      */
     public function __construct(
         \Magento\Index\Model\Indexer $indexer,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\AuthorizationInterface $authorization
     ) {
         $this->_indexer = $indexer;
diff --git a/app/code/Magento/Index/etc/di.xml b/app/code/Magento/Index/etc/di.xml
index c9943f1663b..ed8c9c225cb 100644
--- a/app/code/Magento/Index/etc/di.xml
+++ b/app/code/Magento/Index/etc/di.xml
@@ -25,18 +25,8 @@
 -->
 <config>
     <preference for="Magento\Index\Model\Indexer\ConfigInterface" type="Magento\Index\Model\Indexer\Config" />
-    <type name="Magento\Index\Model\Indexer">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Index\Model\Process">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <index_setup>Magento\Index\Model\Resource\Setup</index_setup>
             </value>
diff --git a/app/code/Magento/Install/Controller/Action.php b/app/code/Magento/Install/Controller/Action.php
index 08b4771dbaf..208b96f10b2 100644
--- a/app/code/Magento/Install/Controller/Action.php
+++ b/app/code/Magento/Install/Controller/Action.php
@@ -30,12 +30,12 @@ namespace Magento\Install\Controller;
 class Action extends \Magento\Core\Controller\Varien\Action
 {
     /**
-     * @var \Magento\Core\Model\Config\Scope
+     * @var \Magento\Config\Scope
      */
     protected $_configScope;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_viewDesign;
 
@@ -54,25 +54,25 @@ class Action extends \Magento\Core\Controller\Varien\Action
     /**
      * Application state
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
-     * @param \Magento\Core\Model\Config\Scope $configScope
-     * @param \Magento\Core\Model\View\DesignInterface $viewDesign
+     * @param \Magento\Config\Scope $configScope
+     * @param \Magento\View\DesignInterface $viewDesign
      * @param \Magento\Core\Model\Theme\CollectionFactory $collectionFactory
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      */
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\Config\Scope $configScope,
-        \Magento\Core\Model\View\DesignInterface $viewDesign,
+        \Magento\Config\Scope $configScope,
+        \Magento\View\DesignInterface $viewDesign,
         \Magento\Core\Model\Theme\CollectionFactory $collectionFactory,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\App\State $appState
+        \Magento\App\State $appState
     ) {
         $this->_configScope = $configScope;
         $this->_viewDesign = $viewDesign;
diff --git a/app/code/Magento/Install/Controller/Index.php b/app/code/Magento/Install/Controller/Index.php
index 577385efaaf..b7169cfa109 100644
--- a/app/code/Magento/Install/Controller/Index.php
+++ b/app/code/Magento/Install/Controller/Index.php
@@ -35,27 +35,27 @@ class Index extends \Magento\Install\Controller\Action
     /**
      * Core directory model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
-     * @param \Magento\Core\Model\Config\Scope $configScope
-     * @param \Magento\Core\Model\View\DesignInterface $viewDesign
+     * @param \Magento\Config\Scope $configScope
+     * @param \Magento\View\DesignInterface $viewDesign
      * @param \Magento\Core\Model\Theme\CollectionFactory $collectionFactory
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\State $appState
+     * @param \Magento\App\Dir $coreDir
      */
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\Config\Scope $configScope,
-        \Magento\Core\Model\View\DesignInterface $viewDesign,
+        \Magento\Config\Scope $configScope,
+        \Magento\View\DesignInterface $viewDesign,
         \Magento\Core\Model\Theme\CollectionFactory $collectionFactory,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\Dir $coreDir
+        \Magento\App\State $appState,
+        \Magento\App\Dir $coreDir
     ) {
         parent::__construct($context, $configScope, $viewDesign, $collectionFactory, $app, $appState);
         $this->_coreDir = $coreDir;
@@ -68,7 +68,7 @@ class Index extends \Magento\Install\Controller\Action
     {
         $this->setFlag('', self::FLAG_NO_CHECK_INSTALLATION, true);
         if (!$this->_appState->isInstalled()) {
-            foreach (glob($this->_coreDir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . '/*', GLOB_ONLYDIR) as $dir) {
+            foreach (glob($this->_coreDir->getDir(\Magento\App\Dir::VAR_DIR) . '/*', GLOB_ONLYDIR) as $dir) {
                 \Magento\Io\File::rmdirRecursive($dir);
             }
         }
diff --git a/app/code/Magento/Install/Controller/Wizard.php b/app/code/Magento/Install/Controller/Wizard.php
index 7eebb257a9c..363d8b6fc9e 100644
--- a/app/code/Magento/Install/Controller/Wizard.php
+++ b/app/code/Magento/Install/Controller/Wizard.php
@@ -55,7 +55,7 @@ class Wizard extends \Magento\Install\Controller\Action
     /**
      * DB Updater
      *
-     * @var \Magento\Core\Model\Db\UpdaterInterface
+     * @var \Magento\App\UpdaterInterface
      */
     protected $_dbUpdater;
 
@@ -68,28 +68,28 @@ class Wizard extends \Magento\Install\Controller\Action
 
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
-     * @param \Magento\Core\Model\Config\Scope $configScope
-     * @param \Magento\Core\Model\View\DesignInterface $viewDesign
+     * @param \Magento\Config\Scope $configScope
+     * @param \Magento\View\DesignInterface $viewDesign
      * @param \Magento\Core\Model\Theme\CollectionFactory $collectionFactory
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Install\Model\Installer $installer
      * @param \Magento\Install\Model\Wizard $wizard
      * @param \Magento\Core\Model\Session\Generic $session
-     * @param \Magento\Core\Model\Db\UpdaterInterface $dbUpdater
+     * @param \Magento\App\UpdaterInterface $dbUpdater
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\Config\Scope $configScope,
-        \Magento\Core\Model\View\DesignInterface $viewDesign,
+        \Magento\Config\Scope $configScope,
+        \Magento\View\DesignInterface $viewDesign,
         \Magento\Core\Model\Theme\CollectionFactory $collectionFactory,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Install\Model\Installer $installer,
         \Magento\Install\Model\Wizard $wizard,
         \Magento\Core\Model\Session\Generic $session,
-        \Magento\Core\Model\Db\UpdaterInterface $dbUpdater,
+        \Magento\App\UpdaterInterface $dbUpdater,
         \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         parent::__construct($context, $configScope, $viewDesign, $collectionFactory, $app, $appState);
diff --git a/app/code/Magento/Install/Model/Config.php b/app/code/Magento/Install/Model/Config.php
index c94a3d77d13..16aeea67b0e 100644
--- a/app/code/Magento/Install/Model/Config.php
+++ b/app/code/Magento/Install/Model/Config.php
@@ -46,7 +46,7 @@ class Config
     /**
      * Directory model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
@@ -54,9 +54,9 @@ class Config
 
     /**
      * @param \Magento\Install\Model\Config\Data $dataStorage
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      */
-    public function __construct(\Magento\Install\Model\Config\Data $dataStorage, \Magento\Core\Model\Dir $coreDir)
+    public function __construct(\Magento\Install\Model\Config\Data $dataStorage, \Magento\App\Dir $coreDir)
     {
         $this->_dataStorage = $dataStorage;
         $this->_coreDir = $coreDir;
diff --git a/app/code/Magento/Install/Model/EntryPoint/Upgrade.php b/app/code/Magento/Install/Model/EntryPoint/Upgrade.php
index a02dcdc9554..3c357ab43d8 100644
--- a/app/code/Magento/Install/Model/EntryPoint/Upgrade.php
+++ b/app/code/Magento/Install/Model/EntryPoint/Upgrade.php
@@ -51,8 +51,8 @@ class Upgrade extends \Magento\Core\Model\AbstractEntryPoint
             $cacheFrontend->clean();
         }
 
-        /** @var $updater \Magento\Core\Model\Db\Updater */
-        $updater = $this->_objectManager->get('Magento\Core\Model\Db\Updater');
+        /** @var $updater \Magento\App\Updater */
+        $updater = $this->_objectManager->get('Magento\App\Updater');
         $updater->updateScheme();
         $updater->updateData();
 
diff --git a/app/code/Magento/Install/Model/Installer.php b/app/code/Magento/Install/Model/Installer.php
index 256b4c69473..74c5037923e 100644
--- a/app/code/Magento/Install/Model/Installer.php
+++ b/app/code/Magento/Install/Model/Installer.php
@@ -42,7 +42,7 @@ class Installer extends \Magento\Object
     /**
      * DB updated model
      *
-     * @var \Magento\Core\Model\Db\UpdaterInterface
+     * @var \Magento\App\UpdaterInterface
      */
     protected $_dbUpdater;
 
@@ -78,7 +78,7 @@ class Installer extends \Magento\Object
     protected $_coreData = null;
 
     /**
-     * @var \Magento\Core\Model\Resource\SetupFactory
+     * @var \Magento\App\Updater\SetupFactory
      */
     protected $_setupFactory;
 
@@ -113,7 +113,7 @@ class Installer extends \Magento\Object
     /**
      * Application
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -155,15 +155,15 @@ class Installer extends \Magento\Object
     /**
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\ConfigInterface $config
-     * @param \Magento\Core\Model\Db\UpdaterInterface $dbUpdater
+     * @param \Magento\App\UpdaterInterface $dbUpdater
      * @param \Magento\Core\Model\CacheInterface $cache
      * @param \Magento\Core\Model\Cache\TypeListInterface $cacheTypeList
      * @param \Magento\Core\Model\Cache\StateInterface $cacheState
-     * @param \Magento\Core\Model\Resource\SetupFactory $setupFactory
+     * @param \Magento\App\Updater\SetupFactory $setupFactory
      * @param \Magento\Core\Model\Config\Primary $primaryConfig
      * @param \Magento\Core\Model\Config\Local $localConfig
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\User\Model\UserFactory $userModelFactory
      * @param \Magento\Install\Model\Installer\Filesystem $filesystem
@@ -176,15 +176,15 @@ class Installer extends \Magento\Object
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\ConfigInterface $config,
-        \Magento\Core\Model\Db\UpdaterInterface $dbUpdater,
+        \Magento\App\UpdaterInterface $dbUpdater,
         \Magento\Core\Model\CacheInterface $cache,
         \Magento\Core\Model\Cache\TypeListInterface $cacheTypeList,
         \Magento\Core\Model\Cache\StateInterface $cacheState,
-        \Magento\Core\Model\Resource\SetupFactory $setupFactory,
+        \Magento\App\Updater\SetupFactory $setupFactory,
         \Magento\Core\Model\Config\Primary $primaryConfig,
         \Magento\Core\Model\Config\Local $localConfig,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\User\Model\UserFactory $userModelFactory,
         \Magento\Install\Model\Installer\Filesystem $filesystem,
@@ -336,9 +336,7 @@ class Installer extends \Magento\Object
          * Saving host information into DB
          */
         /** @var $setupModel \Magento\Core\Model\Resource\Setup */
-        $setupModel = $this->_setupFactory->create(
-            'Magento\Core\Model\Resource\Setup', array('resourceName' => 'core_setup', 'moduleName' => 'Magento_Core')
-        );
+        $setupModel = $this->_setupFactory->create('core_setup', 'Magento_Core');
 
         if (!empty($data['use_rewrites'])) {
             $setupModel->setConfigData(\Magento\Core\Model\Store::XML_PATH_USE_REWRITES, 1);
diff --git a/app/code/Magento/Install/Model/Installer/Config.php b/app/code/Magento/Install/Model/Installer/Config.php
index afcd2ab5d62..15e3c728588 100644
--- a/app/code/Magento/Install/Model/Installer/Config.php
+++ b/app/code/Magento/Install/Model/Installer/Config.php
@@ -45,12 +45,12 @@ class Config extends \Magento\Install\Model\Installer\AbstractInstaller
     protected $_localConfigFile;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -70,20 +70,20 @@ class Config extends \Magento\Install\Model\Installer\AbstractInstaller
 
     /**
      * @param \Magento\Install\Model\Installer $installer
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
         \Magento\Install\Model\Installer $installer,
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\RequestInterface $request,
+        \Magento\App\Dir $dirs,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         parent::__construct($installer);
-        $this->_localConfigFile = $dirs->getDir(\Magento\Core\Model\Dir::CONFIG) . DIRECTORY_SEPARATOR . 'local.xml';
+        $this->_localConfigFile = $dirs->getDir(\Magento\App\Dir::CONFIG) . DIRECTORY_SEPARATOR . 'local.xml';
         $this->_dirs = $dirs;
         $this->_request = $request;
         $this->_filesystem = $filesystem;
@@ -111,9 +111,9 @@ class Config extends \Magento\Install\Model\Installer\AbstractInstaller
         $data = $this->getConfigData();
 
         $defaults = array(
-            'root_dir' => $this->_dirs->getDir(\Magento\Core\Model\Dir::ROOT),
-            'app_dir'  => $this->_dirs->getDir(\Magento\Core\Model\Dir::APP),
-            'var_dir'  => $this->_dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR),
+            'root_dir' => $this->_dirs->getDir(\Magento\App\Dir::ROOT),
+            'app_dir'  => $this->_dirs->getDir(\Magento\App\Dir::APP),
+            'var_dir'  => $this->_dirs->getDir(\Magento\App\Dir::VAR_DIR),
             'base_url' => $this->_request->getDistroBaseUrl(),
         );
         foreach ($defaults as $index => $value) {
@@ -151,7 +151,7 @@ class Config extends \Magento\Install\Model\Installer\AbstractInstaller
 
         $this->_getInstaller()->getDataModel()->setConfigData($data);
 
-        $path = $this->_dirs->getDir(\Magento\Core\Model\Dir::CONFIG) . DIRECTORY_SEPARATOR . 'local.xml.template';
+        $path = $this->_dirs->getDir(\Magento\App\Dir::CONFIG) . DIRECTORY_SEPARATOR . 'local.xml.template';
         $contents = $this->_filesystem->read($path);
         foreach ($data as $index => $value) {
             $contents = str_replace('{{' . $index . '}}', '<![CDATA[' . $value . ']]>', $contents);
@@ -197,9 +197,9 @@ class Config extends \Magento\Install\Model\Installer\AbstractInstaller
     protected function _checkUrl($baseUrl)
     {
         try {
-            $pubLibDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::PUB_LIB);
+            $pubLibDir = $this->_dirs->getDir(\Magento\App\Dir::PUB_LIB);
             $staticFile = $this->_findFirstFileRelativePath($pubLibDir, '/.+\.(html?|js|css|gif|jpe?g|png)$/');
-            $staticUrl = $baseUrl . $this->_dirs->getUri(\Magento\Core\Model\Dir::PUB_LIB) . '/' . $staticFile;
+            $staticUrl = $baseUrl . $this->_dirs->getUri(\Magento\App\Dir::PUB_LIB) . '/' . $staticFile;
             $client = new \Magento\HTTP\ZendClient($staticUrl);
             $response = $client->request('GET');
         } catch (\Exception $e){
diff --git a/app/code/Magento/Install/Model/Installer/Console.php b/app/code/Magento/Install/Model/Installer/Console.php
index fb0d59ee3d9..e6f031c5e27 100644
--- a/app/code/Magento/Install/Model/Installer/Console.php
+++ b/app/code/Magento/Install/Model/Installer/Console.php
@@ -96,7 +96,7 @@ class Console extends \Magento\Install\Model\Installer\AbstractInstaller
     /**
      * DB updater
      *
-     * @var \Magento\Core\Model\Db\UpdaterInterface
+     * @var \Magento\App\UpdaterInterface
      */
     protected $_dbUpdater;
 
@@ -110,14 +110,14 @@ class Console extends \Magento\Install\Model\Installer\AbstractInstaller
     /**
      * Application State
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
      * Core Dir model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
@@ -138,22 +138,22 @@ class Console extends \Magento\Install\Model\Installer\AbstractInstaller
     /**
      * @param \Magento\Install\Model\Installer $installer
      * @param \Magento\Core\Model\Config\Resource $resourceConfig
-     * @param \Magento\Core\Model\Db\UpdaterInterface $dbUpdater
+     * @param \Magento\App\UpdaterInterface $dbUpdater
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Install\Model\Installer\Data $installerData
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\State $appState
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\ObjectManager $objectManager
      */
     public function __construct(
         \Magento\Install\Model\Installer $installer,
         \Magento\Core\Model\Config\Resource $resourceConfig,
-        \Magento\Core\Model\Db\UpdaterInterface $dbUpdater,
+        \Magento\App\UpdaterInterface $dbUpdater,
         \Magento\Filesystem $filesystem,
         \Magento\Install\Model\Installer\Data $installerData,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\State $appState,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\ObjectManager $objectManager
     ) {
@@ -409,10 +409,10 @@ class Console extends \Magento\Install\Model\Installer\AbstractInstaller
         $this->_cleanUpDatabase();
 
         /* Remove temporary directories and local.xml */
-        foreach (glob($this->_coreDir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . '/*', GLOB_ONLYDIR) as $dir) {
+        foreach (glob($this->_coreDir->getDir(\Magento\App\Dir::VAR_DIR) . '/*', GLOB_ONLYDIR) as $dir) {
             $this->_filesystem->delete($dir);
         }
-        $this->_filesystem->delete($this->_coreDir->getDir(\Magento\Core\Model\Dir::CONFIG)
+        $this->_filesystem->delete($this->_coreDir->getDir(\Magento\App\Dir::CONFIG)
             . DIRECTORY_SEPARATOR . '/local.xml');
         return true;
     }
diff --git a/app/code/Magento/Install/Model/Installer/Filesystem.php b/app/code/Magento/Install/Model/Installer/Filesystem.php
index a8554112e43..687d2275147 100644
--- a/app/code/Magento/Install/Model/Installer/Filesystem.php
+++ b/app/code/Magento/Install/Model/Installer/Filesystem.php
@@ -55,7 +55,7 @@ class Filesystem extends \Magento\Install\Model\Installer\AbstractInstaller
     protected $_installConfig;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -70,13 +70,13 @@ class Filesystem extends \Magento\Install\Model\Installer\AbstractInstaller
      * @param \Magento\Install\Model\Installer $installer
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Install\Model\Config $installConfig
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      */
     public function __construct(
         \Magento\Install\Model\Installer $installer,
         \Magento\Filesystem $filesystem,
         \Magento\Install\Model\Config $installConfig,
-        \Magento\Core\Model\Dir $dir
+        \Magento\App\Dir $dir
     ) {
         parent::__construct($installer);
         $this->_filesystem = $filesystem;
diff --git a/app/code/Magento/Install/Model/Wizard.php b/app/code/Magento/Install/Model/Wizard.php
index 3d3e4c1a1a0..7efa2688855 100644
--- a/app/code/Magento/Install/Model/Wizard.php
+++ b/app/code/Magento/Install/Model/Wizard.php
@@ -41,14 +41,14 @@ class Wizard
     /**
      * Url builder
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
     /**
      * Init install wizard
      */
-    public function __construct(\Magento\Core\Model\UrlInterface $urlBuilder, \Magento\Install\Model\Config $installConfig)
+    public function __construct(\Magento\UrlInterface $urlBuilder, \Magento\Install\Model\Config $installConfig)
     {
         $this->_steps = $installConfig->getWizardSteps();
         $this->_urlBuilder = $urlBuilder;
diff --git a/app/code/Magento/Log/Model/Resource/Log.php b/app/code/Magento/Log/Model/Resource/Log.php
index 8a52c8e2c1b..0215c8d55ec 100644
--- a/app/code/Magento/Log/Model/Resource/Log.php
+++ b/app/code/Magento/Log/Model/Resource/Log.php
@@ -39,7 +39,7 @@ class Log extends \Magento\Core\Model\Resource\Db\AbstractDb
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -50,12 +50,12 @@ class Log extends \Magento\Core\Model\Resource\Db\AbstractDb
 
     /**
      * @param \Magento\Core\Model\Date $date
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Resource $resource
      */
     public function __construct(
         \Magento\Core\Model\Date $date,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Resource $resource
     ) {
         $this->_date = $date;
diff --git a/app/code/Magento/Log/Model/Resource/Visitor/Online/Collection.php b/app/code/Magento/Log/Model/Resource/Visitor/Online/Collection.php
index 8b3e8d1a708..18d724d14e2 100644
--- a/app/code/Magento/Log/Model/Resource/Visitor/Online/Collection.php
+++ b/app/code/Magento/Log/Model/Resource/Visitor/Online/Collection.php
@@ -50,7 +50,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
 
     /**
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -58,7 +58,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      */
     public function __construct(
         \Magento\Customer\Model\CustomerFactory $customerFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Log/Model/Resource/Visitor/Online/Grid/Collection.php b/app/code/Magento/Log/Model/Resource/Visitor/Online/Grid/Collection.php
index 34204d6e09c..08217b631be 100644
--- a/app/code/Magento/Log/Model/Resource/Visitor/Online/Grid/Collection.php
+++ b/app/code/Magento/Log/Model/Resource/Visitor/Online/Grid/Collection.php
@@ -35,7 +35,7 @@ class Collection extends \Magento\Log\Model\Resource\Visitor\Online\Collection
     /**
      * @param \Magento\Log\Model\Visitor\OnlineFactory $onlineFactory
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -44,7 +44,7 @@ class Collection extends \Magento\Log\Model\Resource\Visitor\Online\Collection
     public function __construct(
         \Magento\Log\Model\Visitor\OnlineFactory $onlineFactory,
         \Magento\Customer\Model\CustomerFactory $customerFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Log/Model/Shell.php b/app/code/Magento/Log/Model/Shell.php
index acec697b53a..8172d9c5d1c 100644
--- a/app/code/Magento/Log/Model/Shell.php
+++ b/app/code/Magento/Log/Model/Shell.php
@@ -43,14 +43,14 @@ class Shell extends \Magento\Core\Model\AbstractShell
     /**
      * @param \Magento\Log\Model\Shell\Command\Factory $commandFactory
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $entryPoint
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $entryPoint
+     * @param \Magento\App\Dir $dir
      */
     public function __construct(
         \Magento\Log\Model\Shell\Command\Factory $commandFactory,
         \Magento\Filesystem $filesystem,
         $entryPoint,
-        \Magento\Core\Model\Dir $dir
+        \Magento\App\Dir $dir
     ) {
         parent::__construct($filesystem, $entryPoint, $dir);
         $this->_commandFactory = $commandFactory;
diff --git a/app/code/Magento/Log/Model/Visitor.php b/app/code/Magento/Log/Model/Visitor.php
index 1b55a934aee..33d3a4775ab 100644
--- a/app/code/Magento/Log/Model/Visitor.php
+++ b/app/code/Magento/Log/Model/Visitor.php
@@ -69,7 +69,7 @@ class Visitor extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -116,7 +116,7 @@ class Visitor extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Core\Model\Context               $context
      * @param \Magento\Core\Model\Registry              $registry
      * @param \Magento\Core\Model\Store\Config          $coreStoreConfig
-     * @param \Magento\Core\Model\Event\Manager         $eventManager
+     * @param \Magento\Event\ManagerInterface         $eventManager
      * @param \Magento\Customer\Model\CustomerFactory   $customerFactory
      * @param \Magento\Sales\Model\QuoteFactory         $quoteFactory
      * @param \Magento\Core\Model\Session               $session
@@ -135,7 +135,7 @@ class Visitor extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Customer\Model\CustomerFactory $customerFactory,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Core\Model\Session $session,
diff --git a/app/code/Magento/Log/etc/di.xml b/app/code/Magento/Log/etc/di.xml
index 755ba033659..2b08c245291 100644
--- a/app/code/Magento/Log/etc/di.xml
+++ b/app/code/Magento/Log/etc/di.xml
@@ -30,9 +30,6 @@
         </param>
     </type>
     <type name="Magento\Log\Model\Visitor">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="ignoredUserAgents">
             <value>
                 <google1>Googlebot/1.0 (googlebot@googlebot.com http://googlebot.com/)</google1>
@@ -41,16 +38,4 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Log\Model\Resource\Log">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-        <param name="ignores">
-            <value>
-                <install>install</install>
-                <adminhtml>adminhtml</adminhtml>
-                <admin>admin</admin>
-            </value>
-        </param>
-    </type>
 </config>
diff --git a/app/code/Magento/Newsletter/Helper/Data.php b/app/code/Magento/Newsletter/Helper/Data.php
index b51604f303d..1111128060d 100644
--- a/app/code/Magento/Newsletter/Helper/Data.php
+++ b/app/code/Magento/Newsletter/Helper/Data.php
@@ -39,7 +39,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Url
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_url;
 
@@ -47,11 +47,11 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * Constructor
      *
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\UrlInterface $url
+     * @param \Magento\UrlInterface $url
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\UrlInterface $url
+        \Magento\UrlInterface $url
     ) {
         parent::__construct($context);
         $this->_url = $url;
diff --git a/app/code/Magento/Newsletter/Model/Queue.php b/app/code/Magento/Newsletter/Model/Queue.php
index 77b0ed99abc..ae8e581e959 100644
--- a/app/code/Magento/Newsletter/Model/Queue.php
+++ b/app/code/Magento/Newsletter/Model/Queue.php
@@ -139,7 +139,7 @@ class Queue extends \Magento\Core\Model\Template
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\App\Emulation $appEmulation
@@ -154,7 +154,7 @@ class Queue extends \Magento\Core\Model\Template
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\App\Emulation $appEmulation,
diff --git a/app/code/Magento/Newsletter/Model/Resource/Problem/Collection.php b/app/code/Magento/Newsletter/Model/Resource/Problem/Collection.php
index 0817e7a1e9d..818ff4a80a3 100644
--- a/app/code/Magento/Newsletter/Model/Resource/Problem/Collection.php
+++ b/app/code/Magento/Newsletter/Model/Resource/Problem/Collection.php
@@ -57,7 +57,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -65,7 +65,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Newsletter/Model/Resource/Queue/Collection.php b/app/code/Magento/Newsletter/Model/Resource/Queue/Collection.php
index c8d19e9e262..42d5499f175 100644
--- a/app/code/Magento/Newsletter/Model/Resource/Queue/Collection.php
+++ b/app/code/Magento/Newsletter/Model/Resource/Queue/Collection.php
@@ -60,7 +60,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -68,7 +68,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Newsletter/Model/Resource/Subscriber/Collection.php b/app/code/Magento/Newsletter/Model/Resource/Subscriber/Collection.php
index 20a687ced5f..de21c679c74 100644
--- a/app/code/Magento/Newsletter/Model/Resource/Subscriber/Collection.php
+++ b/app/code/Magento/Newsletter/Model/Resource/Subscriber/Collection.php
@@ -82,7 +82,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -90,7 +90,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Newsletter/Model/Template.php b/app/code/Magento/Newsletter/Model/Template.php
index fc73a0c80ea..680a6729621 100644
--- a/app/code/Magento/Newsletter/Model/Template.php
+++ b/app/code/Magento/Newsletter/Model/Template.php
@@ -82,7 +82,7 @@ class Template extends \Magento\Core\Model\Template
     /**
      * Http-request, used to determine current store in multi-store mode
      *
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -108,11 +108,11 @@ class Template extends \Magento\Core\Model\Template
     protected $_templateFactory;
 
     /**
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Newsletter\Model\Template\Filter $filter
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Newsletter\Model\TemplateFactory $templateFactory
@@ -120,11 +120,11 @@ class Template extends \Magento\Core\Model\Template
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Newsletter\Model\Template\Filter $filter,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Newsletter\Model\TemplateFactory $templateFactory,
diff --git a/app/code/Magento/Newsletter/etc/di.xml b/app/code/Magento/Newsletter/etc/di.xml
index 807ef648c1a..b428f17ca3f 100644
--- a/app/code/Magento/Newsletter/etc/di.xml
+++ b/app/code/Magento/Newsletter/etc/di.xml
@@ -24,8 +24,8 @@
  */
 -->
 <config>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <newsletter_setup>Magento\Newsletter\Model\Resource\Setup</newsletter_setup>
             </value>
diff --git a/app/code/Magento/Oauth/Helper/Data.php b/app/code/Magento/Oauth/Helper/Data.php
index 6bee4929e0e..cc60e4f4059 100644
--- a/app/code/Magento/Oauth/Helper/Data.php
+++ b/app/code/Magento/Oauth/Helper/Data.php
@@ -103,7 +103,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Process HTTP request object and prepare for token validation
      *
-     * @param \Zend_Controller_Request_Http $httpRequest
+     * @param \Magento\App\RequestInterface $httpRequest
      * @param array $bodyParams array of key value body parameters
      * @return array
      */
@@ -255,12 +255,12 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * Create response string for problem during request and set HTTP error code
      *
      * @param \Exception $exception
-     * @param \Zend_Controller_Response_Http $response OPTIONAL If NULL - will use internal getter
+     * @param \Magento\App\ResponseInterface $response OPTIONAL If NULL - will use internal getter
      * @return string
      */
     public function prepareErrorResponse(
         \Exception $exception,
-        \Zend_Controller_Response_Http $response = null
+        \Magento\App\ResponseInterface $response = null
     ) {
         $errorMap = $this->_errors;
         $errorsToHttpCode = $this->_errorsToHttpCode;
diff --git a/app/code/Magento/Oauth/Model/Consumer.php b/app/code/Magento/Oauth/Model/Consumer.php
index 025bd7ab90b..958bfb9380d 100644
--- a/app/code/Magento/Oauth/Model/Consumer.php
+++ b/app/code/Magento/Oauth/Model/Consumer.php
@@ -58,7 +58,7 @@ class Consumer extends \Magento\Core\Model\AbstractModel
     const SECRET_LENGTH = 32;
 
     /**
-     * @var \Magento\Core\Model\Url\Validator
+     * @var \Magento\Url\Validator
      */
     protected $urlValidator;
 
@@ -69,7 +69,7 @@ class Consumer extends \Magento\Core\Model\AbstractModel
 
     /**
      * @param \Magento\Oauth\Model\Consumer\Validator\KeyLengthFactory $keyLengthFactory
-     * @param \Magento\Core\Model\Url\Validator $urlValidator
+     * @param \Magento\Url\Validator $urlValidator
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -78,7 +78,7 @@ class Consumer extends \Magento\Core\Model\AbstractModel
      */
     public function __construct(
         \Magento\Oauth\Model\Consumer\Validator\KeyLengthFactory $keyLengthFactory,
-        \Magento\Core\Model\Url\Validator $urlValidator,
+        \Magento\Url\Validator $urlValidator,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Oauth/Model/Token.php b/app/code/Magento/Oauth/Model/Token.php
index c37daa3b383..2b521313ba7 100644
--- a/app/code/Magento/Oauth/Model/Token.php
+++ b/app/code/Magento/Oauth/Model/Token.php
@@ -87,7 +87,7 @@ class Token extends \Magento\Core\Model\AbstractModel
     protected $_consumerFactory;
 
     /**
-     * @var \Magento\Core\Model\Url\Validator
+     * @var \Magento\Url\Validator
      */
     protected $urlValidator;
 
@@ -98,7 +98,7 @@ class Token extends \Magento\Core\Model\AbstractModel
 
     /**
      * @param \Magento\Oauth\Model\Consumer\Validator\KeyLengthFactory $keyLengthFactory
-     * @param \Magento\Core\Model\Url\Validator $urlValidator
+     * @param \Magento\Url\Validator $urlValidator
      * @param \Magento\Oauth\Model\Consumer\Factory $consumerFactory
      * @param \Magento\Oauth\Helper\Service $oauthData
      * @param \Magento\Core\Model\Context $context
@@ -109,7 +109,7 @@ class Token extends \Magento\Core\Model\AbstractModel
      */
     public function __construct(
         \Magento\Oauth\Model\Consumer\Validator\KeyLengthFactory $keyLengthFactory,
-        \Magento\Core\Model\Url\Validator $urlValidator,
+        \Magento\Url\Validator $urlValidator,
         \Magento\Oauth\Model\Consumer\Factory $consumerFactory,
         \Magento\Oauth\Helper\Service $oauthData,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Ogone/Block/Placeform.php b/app/code/Magento/Ogone/Block/Placeform.php
index 499337ffd8f..8ceb4e11a34 100644
--- a/app/code/Magento/Ogone/Block/Placeform.php
+++ b/app/code/Magento/Ogone/Block/Placeform.php
@@ -77,7 +77,7 @@ class Placeform extends \Magento\Core\Block\Template
     }
 
     /**
-     * Return order instance with loaded onformation by increment id
+     * Return order instance with loaded information by increment id
      *
      * @return \Magento\Sales\Model\Order
      */
diff --git a/app/code/Magento/Ogone/Model/Api.php b/app/code/Magento/Ogone/Model/Api.php
index dc45938c57d..1c0008bf831 100644
--- a/app/code/Magento/Ogone/Model/Api.php
+++ b/app/code/Magento/Ogone/Model/Api.php
@@ -189,7 +189,7 @@ class Api extends \Magento\Payment\Model\Method\AbstractMethod
     protected $_coreString = null;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -206,24 +206,24 @@ class Api extends \Magento\Payment\Model\Method\AbstractMethod
     /**
      * Construct
      * 
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Helper\String $coreString
      * @param \Magento\Ogone\Model\Config $config
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Helper\String $coreString,
         \Magento\Ogone\Model\Config $config,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
@@ -433,9 +433,9 @@ class Api extends \Magento\Payment\Model\Method\AbstractMethod
     protected function _getOgonePaymentOperation()
     {
         $value = $this->getPaymentAction();
-        if ($value==Magento_Payment_Model_Method_AbstractMethod::ACTION_AUTHORIZE) {
+        if ($value == \Magento\Payment\Model\Method\AbstractMethod::ACTION_AUTHORIZE) {
             $value = \Magento\Ogone\Model\Api::OGONE_AUTHORIZE_ACTION;
-        } elseif ($value==Magento_Payment_Model_Method_AbstractMethod::ACTION_AUTHORIZE_CAPTURE) {
+        } elseif ($value == \Magento\Payment\Model\Method\AbstractMethod::ACTION_AUTHORIZE_CAPTURE) {
             $value = \Magento\Ogone\Model\Api::OGONE_AUTHORIZE_CAPTURE_ACTION;
         }
         return $value;
diff --git a/app/code/Magento/Ogone/Model/Config.php b/app/code/Magento/Ogone/Model/Config.php
index 7dc096c362e..7539df6ea65 100644
--- a/app/code/Magento/Ogone/Model/Config.php
+++ b/app/code/Magento/Ogone/Model/Config.php
@@ -41,18 +41,29 @@ class Config extends \Magento\Payment\Model\Config
     protected $_coreData = null;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
     /**
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Store\Config $coreStoreConfig
+     * @param \Magento\Core\Model\Config $coreConfig
+     * @param \Magento\Payment\Model\Method\Factory $paymentMethodFactory
+     * @param \Magento\Core\Model\LocaleInterface $locale
+     * @param \Magento\Config\DataInterface $dataStorage
      */
     public function __construct(
-        \Magento\Core\Model\UrlInterface $urlBuilder,
-        \Magento\Core\Helper\Data $coreData
+        \Magento\UrlInterface $urlBuilder,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Store\Config $coreStoreConfig,
+        \Magento\Core\Model\Config $coreConfig,
+        \Magento\Payment\Model\Method\Factory $paymentMethodFactory,
+        \Magento\Core\Model\LocaleInterface $locale,
+        \Magento\Config\DataInterface $dataStorage
     ) {
+        parent::__construct($coreStoreConfig, $coreConfig, $paymentMethodFactory, $locale, $dataStorage);
         $this->_urlBuilder = $urlBuilder;
         $this->_coreData = $coreData;
     }
diff --git a/app/code/Magento/Page/Block/Html/Head.php b/app/code/Magento/Page/Block/Html/Head.php
index 9e9715f762d..9a920200f54 100644
--- a/app/code/Magento/Page/Block/Html/Head.php
+++ b/app/code/Magento/Page/Block/Html/Head.php
@@ -90,7 +90,7 @@ class Head extends \Magento\Core\Block\Template
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -101,7 +101,7 @@ class Head extends \Magento\Core\Block\Template
 
     /**
      * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase
      * @param \Magento\Core\Helper\Data $coreData
@@ -114,7 +114,7 @@ class Head extends \Magento\Core\Block\Template
      */
     public function __construct(
         \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase,
         \Magento\Core\Helper\Data $coreData,
diff --git a/app/code/Magento/Page/Block/Html/Header.php b/app/code/Magento/Page/Block/Html/Header.php
index 9c72976000e..4028d10002b 100644
--- a/app/code/Magento/Page/Block/Html/Header.php
+++ b/app/code/Magento/Page/Block/Html/Header.php
@@ -41,19 +41,19 @@ class Header extends \Magento\Core\Block\Template
     protected $_customerSession;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Block\Template\Context $context
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Block\Template\Context $context,
@@ -131,7 +131,7 @@ class Header extends \Magento\Core\Block\Template
         $storeLogoPath = $this->_storeConfig->getConfig('design/header/logo_src');
         $logoUrl = $this->_urlBuilder->getBaseUrl(array('_type' => \Magento\Core\Model\Store::URL_TYPE_MEDIA))
             . $folderName . '/' . $storeLogoPath;
-        $absolutePath = $this->_dirs->getDir(\Magento\Core\Model\Dir::MEDIA) . DIRECTORY_SEPARATOR
+        $absolutePath = $this->_dirs->getDir(\Magento\App\Dir::MEDIA) . DIRECTORY_SEPARATOR
             . $folderName . DIRECTORY_SEPARATOR . $storeLogoPath;
 
         if (!is_null($storeLogoPath) && $this->_isFile($absolutePath)) {
diff --git a/app/code/Magento/Page/Block/Html/Welcome.php b/app/code/Magento/Page/Block/Html/Welcome.php
index 099fae0df0f..e9588db92f7 100644
--- a/app/code/Magento/Page/Block/Html/Welcome.php
+++ b/app/code/Magento/Page/Block/Html/Welcome.php
@@ -36,18 +36,18 @@ namespace Magento\Page\Block\Html;
 class Welcome extends \Magento\Core\Block\Template
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Block\Template\Context $context
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Block\Template\Context $context,
         array $data = array()
diff --git a/app/code/Magento/Page/Block/Js/Components.php b/app/code/Magento/Page/Block/Js/Components.php
index 41b2c7e2f6f..1c1e3116fbf 100644
--- a/app/code/Magento/Page/Block/Js/Components.php
+++ b/app/code/Magento/Page/Block/Js/Components.php
@@ -29,20 +29,20 @@ namespace Magento\Page\Block\Js;
 class Components extends \Magento\Core\Block\Template
 {
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         array $data = array()
     ) {
         parent::__construct($coreData, $context, $data);
@@ -54,6 +54,6 @@ class Components extends \Magento\Core\Block\Template
      */
     public function isDeveloperMode()
     {
-        return $this->_appState->getMode() == \Magento\Core\Model\App\State::MODE_DEVELOPER;
+        return $this->_appState->getMode() == \Magento\App\State::MODE_DEVELOPER;
     }
 }
diff --git a/app/code/Magento/Page/Helper/Layout.php b/app/code/Magento/Page/Helper/Layout.php
index d0f750cbda1..10986749410 100644
--- a/app/code/Magento/Page/Helper/Layout.php
+++ b/app/code/Magento/Page/Helper/Layout.php
@@ -36,7 +36,7 @@ namespace Magento\Page\Helper;
 class Layout extends \Magento\Core\Helper\AbstractHelper
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -47,12 +47,12 @@ class Layout extends \Magento\Core\Helper\AbstractHelper
 
     /**
      * @param \Magento\Page\Model\Config $config
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Core\Helper\Context $context
      */
     public function __construct(
         \Magento\Page\Model\Config $config,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Core\Helper\Context $context
     ) {
         parent::__construct($context);
diff --git a/app/code/Magento/Paygate/Model/Authorizenet.php b/app/code/Magento/Paygate/Model/Authorizenet.php
index a5951a0a4f1..c79fd2a9da4 100644
--- a/app/code/Magento/Paygate/Model/Authorizenet.php
+++ b/app/code/Magento/Paygate/Model/Authorizenet.php
@@ -239,9 +239,9 @@ class Authorizenet extends \Magento\Payment\Model\Method\Cc
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Core\Model\Session\AbstractSession $session
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Paygate\Helper\Data $paygateData
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
@@ -256,9 +256,9 @@ class Authorizenet extends \Magento\Payment\Model\Method\Cc
         \Magento\Sales\Model\OrderFactory $orderFactory,
         \Magento\Core\Model\Session\AbstractSession $session,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Paygate\Helper\Data $paygateData,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
diff --git a/app/code/Magento/Payment/Helper/Data.php b/app/code/Magento/Payment/Helper/Data.php
index 51423c76a49..c8abd936ef1 100644
--- a/app/code/Magento/Payment/Helper/Data.php
+++ b/app/code/Magento/Payment/Helper/Data.php
@@ -44,7 +44,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Layout
      *
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -74,7 +74,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      *
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Payment\Model\Method\Factory $paymentMethodFactory
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\App\Emulation $appEmulation
@@ -83,7 +83,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     public function __construct(
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Payment\Model\Method\Factory $paymentMethodFactory,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\App\Emulation $appEmulation,
diff --git a/app/code/Magento/Payment/Model/Method/AbstractMethod.php b/app/code/Magento/Payment/Model/Method/AbstractMethod.php
index e32b415b960..8bb3acd26fa 100644
--- a/app/code/Magento/Payment/Model/Method/AbstractMethod.php
+++ b/app/code/Magento/Payment/Model/Method/AbstractMethod.php
@@ -122,7 +122,7 @@ abstract class AbstractMethod extends \Magento\Object
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -136,14 +136,14 @@ abstract class AbstractMethod extends \Magento\Object
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
diff --git a/app/code/Magento/Payment/Model/Method/Cc.php b/app/code/Magento/Payment/Model/Method/Cc.php
index 3925b4065c8..577b38313c7 100644
--- a/app/code/Magento/Payment/Model/Method/Cc.php
+++ b/app/code/Magento/Payment/Model/Method/Cc.php
@@ -33,7 +33,7 @@ class Cc extends \Magento\Payment\Model\Method\AbstractMethod
     protected $_canSaveCc     = false;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleList;
 
@@ -62,9 +62,9 @@ class Cc extends \Magento\Payment\Model\Method\AbstractMethod
      * Construct
      *
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
@@ -73,9 +73,9 @@ class Cc extends \Magento\Payment\Model\Method\AbstractMethod
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Core\Model\LocaleInterface $locale,
diff --git a/app/code/Magento/Payment/Model/Method/Free.php b/app/code/Magento/Payment/Model/Method/Free.php
index e359032fc86..da2eb6c120e 100644
--- a/app/code/Magento/Payment/Model/Method/Free.php
+++ b/app/code/Magento/Payment/Model/Method/Free.php
@@ -61,7 +61,7 @@ class Free extends \Magento\Payment\Model\Method\AbstractMethod
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
@@ -69,7 +69,7 @@ class Free extends \Magento\Payment\Model\Method\AbstractMethod
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
diff --git a/app/code/Magento/Payment/etc/di.xml b/app/code/Magento/Payment/etc/di.xml
index 6a264f78790..e2e5198884e 100644
--- a/app/code/Magento/Payment/etc/di.xml
+++ b/app/code/Magento/Payment/etc/di.xml
@@ -24,21 +24,6 @@
  */
 -->
 <config>
-    <type name="Magento\Payment\Model\Method\AbstractMethod">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Paypal\Model\Cart">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Paypal\Model\Payment\Transaction">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Payment\Model\Config\Reader">
         <param name="fileName">
             <value>payment.xml</value>
diff --git a/app/code/Magento/Paypal/Controller/Express.php b/app/code/Magento/Paypal/Controller/Express.php
index ac44a462e64..8445f06224e 100644
--- a/app/code/Magento/Paypal/Controller/Express.php
+++ b/app/code/Magento/Paypal/Controller/Express.php
@@ -63,7 +63,7 @@ class Express extends \Magento\Paypal\Controller\Express\AbstractExpress
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
@@ -77,7 +77,7 @@ class Express extends \Magento\Paypal\Controller\Express\AbstractExpress
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Sales\Model\OrderFactory $orderFactory,
diff --git a/app/code/Magento/Paypal/Controller/Express/AbstractExpress.php b/app/code/Magento/Paypal/Controller/Express/AbstractExpress.php
index b2427eaf694..2ceb1810858 100644
--- a/app/code/Magento/Paypal/Controller/Express/AbstractExpress.php
+++ b/app/code/Magento/Paypal/Controller/Express/AbstractExpress.php
@@ -80,7 +80,7 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
     protected $_customerSession;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -112,7 +112,7 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
@@ -122,7 +122,7 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Sales\Model\OrderFactory $orderFactory,
diff --git a/app/code/Magento/Paypal/Controller/Payflowadvanced.php b/app/code/Magento/Paypal/Controller/Payflowadvanced.php
index bc453b5f527..e47af1598a8 100644
--- a/app/code/Magento/Paypal/Controller/Payflowadvanced.php
+++ b/app/code/Magento/Paypal/Controller/Payflowadvanced.php
@@ -63,7 +63,7 @@ class Payflowadvanced extends \Magento\Paypal\Controller\Express\AbstractExpress
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
@@ -76,7 +76,7 @@ class Payflowadvanced extends \Magento\Paypal\Controller\Express\AbstractExpress
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Sales\Model\OrderFactory $orderFactory,
diff --git a/app/code/Magento/Paypal/Controller/Standard.php b/app/code/Magento/Paypal/Controller/Standard.php
index b461e833636..067d2eb018a 100644
--- a/app/code/Magento/Paypal/Controller/Standard.php
+++ b/app/code/Magento/Paypal/Controller/Standard.php
@@ -93,7 +93,7 @@ class Standard extends \Magento\Core\Controller\Front\Action
             $order = $this->_objectManager->create('Magento\Sales\Model\Order')
                 ->loadByIncrementId($session->getLastRealOrderId());
             if ($order->getId()) {
-                $this->_objectManager->get('Magento\Core\Model\Event\Manager')->dispatch(
+                $this->_objectManager->get('Magento\Event\ManagerInterface')->dispatch(
                     'paypal_payment_cancel',
                     array(
                         'order' => $order,
diff --git a/app/code/Magento/Paypal/Helper/Hss.php b/app/code/Magento/Paypal/Helper/Hss.php
index 2da590c3e79..01fa0368572 100644
--- a/app/code/Magento/Paypal/Helper/Hss.php
+++ b/app/code/Magento/Paypal/Helper/Hss.php
@@ -46,19 +46,19 @@ class Hss extends \Magento\Core\Helper\AbstractHelper
     protected $_checkoutSession;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Checkout\Model\Session $checkoutSession
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
         \Magento\Checkout\Model\Session $checkoutSession,
-        \Magento\Core\Model\Layout $layout
+        \Magento\View\LayoutInterface $layout
     ) {
         $this->_checkoutSession = $checkoutSession;
         $this->_layout = $layout;
diff --git a/app/code/Magento/Paypal/Model/Cart.php b/app/code/Magento/Paypal/Model/Cart.php
index 18b4c918d59..b805e7236a5 100644
--- a/app/code/Magento/Paypal/Model/Cart.php
+++ b/app/code/Magento/Paypal/Model/Cart.php
@@ -111,7 +111,7 @@ class Cart
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -121,13 +121,13 @@ class Cart
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param array $params
      * @throws \Exception
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         $params = array()
     ) {
diff --git a/app/code/Magento/Paypal/Model/Cert.php b/app/code/Magento/Paypal/Model/Cert.php
index 4b12a573464..b6d50975ff9 100644
--- a/app/code/Magento/Paypal/Model/Cert.php
+++ b/app/code/Magento/Paypal/Model/Cert.php
@@ -44,7 +44,7 @@ class Cert extends \Magento\Core\Model\AbstractModel
     protected $_coreData;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
@@ -52,7 +52,7 @@ class Cert extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -61,7 +61,7 @@ class Cert extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -157,7 +157,7 @@ class Cert extends \Magento\Core\Model\AbstractModel
      */
     protected function _getBaseDir()
     {
-        return $this->_coreDir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . self::BASEPATH_PAYPAL_CERT;
+        return $this->_coreDir->getDir(\Magento\App\Dir::VAR_DIR) . DS . self::BASEPATH_PAYPAL_CERT;
     }
 
     /**
diff --git a/app/code/Magento/Paypal/Model/Direct.php b/app/code/Magento/Paypal/Model/Direct.php
index dc5f2936c14..f671cdad2b9 100644
--- a/app/code/Magento/Paypal/Model/Direct.php
+++ b/app/code/Magento/Paypal/Model/Direct.php
@@ -84,12 +84,12 @@ class Direct extends \Magento\Payment\Model\Method\Cc
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_requestHttp;
 
@@ -100,17 +100,17 @@ class Direct extends \Magento\Payment\Model\Method\Cc
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Centinel\Model\Service $centinelService
      * @param \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
-     * @param \Magento\Core\Controller\Request\Http $requestHttp
+     * @param \Magento\UrlInterface $urlBuilder
+     * @param \Magento\App\RequestInterface $requestHttp
      * @param \Magento\Paypal\Model\CartFactory $cartFactory
      * @param array $data
      *
@@ -118,17 +118,17 @@ class Direct extends \Magento\Payment\Model\Method\Cc
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Centinel\Model\Service $centinelService,
         \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
-        \Magento\Core\Controller\Request\Http $requestHttp,
+        \Magento\UrlInterface $urlBuilder,
+        \Magento\App\RequestInterface $requestHttp,
         \Magento\Paypal\Model\CartFactory $cartFactory,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Paypal/Model/Express.php b/app/code/Magento/Paypal/Model/Express.php
index 40def386897..fa9cac4cf23 100644
--- a/app/code/Magento/Paypal/Model/Express.php
+++ b/app/code/Magento/Paypal/Model/Express.php
@@ -103,7 +103,7 @@ class Express extends \Magento\Payment\Model\Method\AbstractMethod
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -113,24 +113,24 @@ class Express extends \Magento\Payment\Model\Method\AbstractMethod
     protected $_cartFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Paypal\Model\CartFactory $cartFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Paypal\Model\CartFactory $cartFactory,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Paypal/Model/Hostedpro.php b/app/code/Magento/Paypal/Model/Hostedpro.php
index 324b76e18db..9a70f8e3944 100644
--- a/app/code/Magento/Paypal/Model/Hostedpro.php
+++ b/app/code/Magento/Paypal/Model/Hostedpro.php
@@ -79,17 +79,17 @@ class Hostedpro extends \Magento\Paypal\Model\Direct
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Centinel\Model\Service $centinelService
      * @param \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
-     * @param \Magento\Core\Controller\Request\Http $requestHttp
+     * @param \Magento\UrlInterface $urlBuilder
+     * @param \Magento\App\RequestInterface $requestHttp
      * @param \Magento\Paypal\Model\CartFactory $cartFactory
      * @param \Magento\Paypal\Model\Hostedpro\RequestFactory $hostedproRequestFactory
      * @param array $data
@@ -98,17 +98,17 @@ class Hostedpro extends \Magento\Paypal\Model\Direct
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Centinel\Model\Service $centinelService,
         \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
-        \Magento\Core\Controller\Request\Http $requestHttp,
+        \Magento\UrlInterface $urlBuilder,
+        \Magento\App\RequestInterface $requestHttp,
         \Magento\Paypal\Model\CartFactory $cartFactory,
         \Magento\Paypal\Model\Hostedpro\RequestFactory $hostedproRequestFactory,
         array $data = array()
diff --git a/app/code/Magento/Paypal/Model/Ipn.php b/app/code/Magento/Paypal/Model/Ipn.php
index d62553639b3..a4930e9350b 100644
--- a/app/code/Magento/Paypal/Model/Ipn.php
+++ b/app/code/Magento/Paypal/Model/Ipn.php
@@ -80,7 +80,7 @@ class Ipn
     protected $_orderFactory;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http
+     * @var \Magento\App\ResponseInterface
      */
     protected $_responseHttp;
 
@@ -96,7 +96,7 @@ class Ipn
 
     /**
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
-     * @param \Magento\Core\Controller\Response\Http $responseHttp
+     * @param \Magento\App\ResponseInterface $responseHttp
      * @param \Magento\Paypal\Model\ConfigFactory $configFactory
      * @param \Magento\Sales\Model\Recurring\ProfileFactory $profileFactory
      * @param \Magento\Paypal\Model\Info $paypalInfo
@@ -104,7 +104,7 @@ class Ipn
      */
     public function __construct(
         \Magento\Sales\Model\OrderFactory $orderFactory,
-        \Magento\Core\Controller\Response\Http $responseHttp,
+        \Magento\App\ResponseInterface $responseHttp,
         \Magento\Paypal\Model\ConfigFactory $configFactory,
         \Magento\Sales\Model\Recurring\ProfileFactory $profileFactory,
         \Magento\Paypal\Model\Info $paypalInfo,
diff --git a/app/code/Magento/Paypal/Model/Method/Agreement.php b/app/code/Magento/Paypal/Model/Method/Agreement.php
index b9ac4d1f23f..1f539b47215 100644
--- a/app/code/Magento/Paypal/Model/Method/Agreement.php
+++ b/app/code/Magento/Paypal/Model/Method/Agreement.php
@@ -66,7 +66,7 @@ class Agreement extends \Magento\Sales\Model\Payment\Method\Billing\AbstractAgre
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -76,28 +76,28 @@ class Agreement extends \Magento\Sales\Model\Payment\Method\Billing\AbstractAgre
     protected $_cartFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory
      * @param \Magento\Sales\Model\Billing\AgreementFactory $agreementFactory
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Paypal\Model\CartFactory $cartFactory
      * @param array $data
      *
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Sales\Model\Billing\AgreementFactory $agreementFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Paypal\Model\CartFactory $cartFactory,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Paypal/Model/Payflowlink.php b/app/code/Magento/Paypal/Model/Payflowlink.php
index 8dd2b00938b..61410d9f25a 100644
--- a/app/code/Magento/Paypal/Model/Payflowlink.php
+++ b/app/code/Magento/Paypal/Model/Payflowlink.php
@@ -141,9 +141,9 @@ class Payflowlink extends \Magento\Paypal\Model\Payflowpro
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
@@ -154,7 +154,7 @@ class Payflowlink extends \Magento\Paypal\Model\Payflowpro
      * @param \Magento\Paypal\Model\Payflow\RequestFactory $requestFactory
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
-     * @param \Magento\Core\Controller\Request\Http $requestHttp
+     * @param \Magento\App\RequestInterface $requestHttp
      * @param \Magento\Core\Model\WebsiteFactory $websiteFactory
      * @param array $data
      *
@@ -162,9 +162,9 @@ class Payflowlink extends \Magento\Paypal\Model\Payflowpro
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Core\Model\LocaleInterface $locale,
@@ -175,7 +175,7 @@ class Payflowlink extends \Magento\Paypal\Model\Payflowpro
         \Magento\Paypal\Model\Payflow\RequestFactory $requestFactory,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Sales\Model\OrderFactory $orderFactory,
-        \Magento\Core\Controller\Request\Http $requestHttp,
+        \Magento\App\RequestInterface $requestHttp,
         \Magento\Core\Model\WebsiteFactory $websiteFactory,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Paypal/Model/Payflowpro.php b/app/code/Magento/Paypal/Model/Payflowpro.php
index 7640898d2a5..5f2496cc756 100644
--- a/app/code/Magento/Paypal/Model/Payflowpro.php
+++ b/app/code/Magento/Paypal/Model/Payflowpro.php
@@ -132,9 +132,9 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
@@ -148,9 +148,9 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Core\Model\LocaleInterface $locale,
@@ -214,7 +214,7 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
     /**
      * Authorize payment
      *
-     * @param \\Magento\Object|\\Magento\Sales\Model\Order\Payment $payment
+     * @param \Magento\Object|\Magento\Sales\Model\Order\Payment $payment
      * @param float $amount
      * @return \Magento\Paypal\Model\Payflowpro
      */
@@ -244,7 +244,7 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
     /**
      * Capture payment
      *
-     * @param \\Magento\Object|\\Magento\Sales\Model\Order\Payment $payment
+     * @param \Magento\Object|\Magento\Sales\Model\Order\Payment $payment
      * @param float $amount
      * @return \Magento\Paypal\Model\Payflowpro
      */
@@ -284,7 +284,7 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
     /**
      * Void payment
      *
-     * @param \\Magento\Object|\\Magento\Sales\Model\Order\Payment $payment
+     * @param \Magento\Object|\Magento\Sales\Model\Order\Payment $payment
      * @return \Magento\Paypal\Model\Payflowpro
      */
     public function void(\Magento\Object $payment)
@@ -318,7 +318,7 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
     /**
      * Refund capture
      *
-     * @param \\Magento\Object|\\Magento\Sales\Model\Order\Payment $payment
+     * @param \Magento\Object|\Magento\Sales\Model\Order\Payment $payment
      * @param float $amount
      * @return \Magento\Paypal\Model\Payflowpro
      */
@@ -472,7 +472,7 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
     /**
      * Return request object with information for 'authorization' or 'sale' action
      *
-     * @param \\Magento\Object|\\Magento\Sales\Model\Order\Payment $payment
+     * @param \Magento\Object|\Magento\Sales\Model\Order\Payment $payment
      * @param float $amount
      * @return \Magento\Object
      */
@@ -527,7 +527,7 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
     /**
      * Return request object with basic information for gateway request
      *
-     * @param \\Magento\Object|\\Magento\Sales\Model\Order\Payment $payment
+     * @param \Magento\Object|\Magento\Sales\Model\Order\Payment $payment
      * @return \Magento\Object
      */
     protected function _buildBasicRequest(\Magento\Object $payment)
diff --git a/app/code/Magento/Paypal/Model/Payment/Transaction.php b/app/code/Magento/Paypal/Model/Payment/Transaction.php
index 505b756eaae..2c7533f7cb4 100644
--- a/app/code/Magento/Paypal/Model/Payment/Transaction.php
+++ b/app/code/Magento/Paypal/Model/Payment/Transaction.php
@@ -69,7 +69,7 @@ class Transaction extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -79,7 +79,7 @@ class Transaction extends \Magento\Core\Model\AbstractModel
     protected $_dateFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\DateFactory $dateFactory
@@ -88,7 +88,7 @@ class Transaction extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\DateFactory $dateFactory,
diff --git a/app/code/Magento/Paypal/Model/Report/Settlement.php b/app/code/Magento/Paypal/Model/Report/Settlement.php
index 52bf7100bda..ea17542067c 100644
--- a/app/code/Magento/Paypal/Model/Report/Settlement.php
+++ b/app/code/Magento/Paypal/Model/Report/Settlement.php
@@ -159,7 +159,7 @@ class Settlement extends \Magento\Core\Model\AbstractModel
     );
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
@@ -171,7 +171,7 @@ class Settlement extends \Magento\Core\Model\AbstractModel
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -180,7 +180,7 @@ class Settlement extends \Magento\Core\Model\AbstractModel
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
@@ -231,7 +231,7 @@ class Settlement extends \Magento\Core\Model\AbstractModel
         $fetched = 0;
         $listing = $this->_filterReportsList($connection->rawls());
         foreach ($listing as $filename => $attributes) {
-            $localCsv = tempnam($this->_coreDir->getDir(\Magento\Core\Model\Dir::TMP), 'PayPal_STL');
+            $localCsv = tempnam($this->_coreDir->getDir(\Magento\App\Dir::TMP), 'PayPal_STL');
             if ($connection->read($filename, $localCsv)) {
                 if (!is_writable($localCsv)) {
                     throw new \Magento\Core\Exception(__('We cannot create a target file for reading reports.'));
diff --git a/app/code/Magento/Paypal/Model/Standard.php b/app/code/Magento/Paypal/Model/Standard.php
index cead16f362b..1b25bc6b720 100644
--- a/app/code/Magento/Paypal/Model/Standard.php
+++ b/app/code/Magento/Paypal/Model/Standard.php
@@ -68,7 +68,7 @@ class Standard extends \Magento\Payment\Model\Method\AbstractMethod
     protected $_checkoutSession;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -98,13 +98,13 @@ class Standard extends \Magento\Payment\Model\Method\AbstractMethod
     protected $_configFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Core\Model\Session\Generic $paypalSession
      * @param \Magento\Checkout\Model\Session $checkoutSession
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Paypal\Model\Api\StandardFactory $apiStandardFactory
@@ -115,13 +115,13 @@ class Standard extends \Magento\Payment\Model\Method\AbstractMethod
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Core\Model\Session\Generic $paypalSession,
         \Magento\Checkout\Model\Session $checkoutSession,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Sales\Model\OrderFactory $orderFactory,
         \Magento\Paypal\Model\Api\StandardFactory $apiStandardFactory,
diff --git a/app/code/Magento/Paypal/etc/di.xml b/app/code/Magento/Paypal/etc/di.xml
index dd6094b824f..8fdbdbc7fd9 100644
--- a/app/code/Magento/Paypal/etc/di.xml
+++ b/app/code/Magento/Paypal/etc/di.xml
@@ -24,8 +24,8 @@
  */
 -->
 <config>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <paypal_setup>Magento\Sales\Model\Resource\Setup</paypal_setup>
             </value>
diff --git a/app/code/Magento/PaypalUk/Model/Express.php b/app/code/Magento/PaypalUk/Model/Express.php
index 2bf1884d635..155b82aa0e4 100644
--- a/app/code/Magento/PaypalUk/Model/Express.php
+++ b/app/code/Magento/PaypalUk/Model/Express.php
@@ -57,25 +57,25 @@ class Express extends \Magento\Paypal\Model\Express
 
     /**
      * @param \Magento\Paypal\Model\InfoFactory $paypalInfoFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Paypal\Model\CartFactory $cartFactory
      * @param array $data
      */
     public function __construct(
         \Magento\Paypal\Model\InfoFactory $paypalInfoFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Paypal\Model\CartFactory $cartFactory,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Persistent/Helper/Data.php b/app/code/Magento/Persistent/Helper/Data.php
index 1d5dd26675f..22107706a0d 100644
--- a/app/code/Magento/Persistent/Helper/Data.php
+++ b/app/code/Magento/Persistent/Helper/Data.php
@@ -68,14 +68,14 @@ class Data extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Core\Helper\Url $coreUrl
      * @param \Magento\Checkout\Helper\Data $checkoutData
@@ -84,14 +84,14 @@ class Data extends \Magento\Core\Helper\Data
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\Core\Helper\Url $coreUrl,
         \Magento\Checkout\Helper\Data $checkoutData,
diff --git a/app/code/Magento/Persistent/Helper/Session.php b/app/code/Magento/Persistent/Helper/Session.php
index 3310699d036..b28b2b32d7f 100644
--- a/app/code/Magento/Persistent/Helper/Session.php
+++ b/app/code/Magento/Persistent/Helper/Session.php
@@ -82,14 +82,14 @@ class Session extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Persistent\Helper\Data $persistentData
      * @param \Magento\Checkout\Model\Session $checkoutSession
@@ -99,14 +99,14 @@ class Session extends \Magento\Core\Helper\Data
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\Persistent\Helper\Data $persistentData,
         \Magento\Checkout\Model\Session $checkoutSession,
diff --git a/app/code/Magento/Persistent/Model/Observer.php b/app/code/Magento/Persistent/Model/Observer.php
index ad2fe4cd08e..07d256bef1e 100644
--- a/app/code/Magento/Persistent/Model/Observer.php
+++ b/app/code/Magento/Persistent/Model/Observer.php
@@ -64,21 +64,21 @@ class Observer
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
      * Layout model
      *
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
      * Request http
      *
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_requestHttp;
 
@@ -113,7 +113,7 @@ class Observer
     /**
      * Url model
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_url;
 
@@ -146,9 +146,7 @@ class Observer
     protected $_websiteCollectionFactory;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Persistent\Helper\Session $persistentSession
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Persistent\Helper\Data $persistentData
@@ -156,18 +154,18 @@ class Observer
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\UrlInterface $url
-     * @param \Magento\Persistent\Model\SessionFactory $sessionFactory
+     * @param \Magento\UrlInterface $url
+     * @param SessionFactory $sessionFactory
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
-     * @param \Magento\Persistent\Model\Persistent\ConfigFactory $persistentConfigFactory
-     * @param \Magento\Core\Controller\Request\Http $requestHttp
-     * @param \Magento\Core\Model\Layout $layout
-     *
+     * @param Persistent\ConfigFactory $persistentConfigFactory
+     * @param \Magento\App\RequestInterface $requestHttp
+     * @param \Magento\View\LayoutInterface $layout
+     * 
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Persistent\Helper\Session $persistentSession,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Persistent\Helper\Data $persistentData,
@@ -175,13 +173,13 @@ class Observer
         \Magento\Core\Model\Session $session,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\UrlInterface $url,
+        \Magento\UrlInterface $url,
         \Magento\Persistent\Model\SessionFactory $sessionFactory,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Customer\Model\CustomerFactory $customerFactory,
         \Magento\Persistent\Model\Persistent\ConfigFactory $persistentConfigFactory,
-        \Magento\Core\Controller\Request\Http $requestHttp,
-        \Magento\Core\Model\Layout $layout
+        \Magento\App\RequestInterface $requestHttp,
+        \Magento\View\LayoutInterface $layout
     ) {
         $this->_eventManager = $eventManager;
         $this->_persistentSession = $persistentSession;
diff --git a/app/code/Magento/Persistent/Model/Observer/Session.php b/app/code/Magento/Persistent/Model/Observer/Session.php
index f782830eaa3..9ff965a3d5d 100644
--- a/app/code/Magento/Persistent/Model/Observer/Session.php
+++ b/app/code/Magento/Persistent/Model/Observer/Session.php
@@ -195,7 +195,7 @@ class Session
         /** @var $sessionModel \Magento\Persistent\Model\Session */
         $sessionModel = $this->_persistentSession->getSession();
 
-        /** @var $request \Magento\Core\Controller\Request\Http */
+        /** @var $request \Magento\App\RequestInterface */
         $request = $observer->getEvent()->getFront()->getRequest();
 
         // Quote Id could be changed only by logged in customer
diff --git a/app/code/Magento/Persistent/Model/Persistent/Config.php b/app/code/Magento/Persistent/Model/Persistent/Config.php
index a28921f2c6b..e890c87ff90 100644
--- a/app/code/Magento/Persistent/Model/Persistent/Config.php
+++ b/app/code/Magento/Persistent/Model/Persistent/Config.php
@@ -51,14 +51,14 @@ class Config
     /**
      * Layout model
      *
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
      * App state model
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -70,19 +70,17 @@ class Config
     protected $_persistentFactory;
 
     /**
-     * Construct
-     *
      * @param \Magento\Config\DomFactory $domFactory
      * @param \Magento\Core\Model\Config\Modules\Reader $moduleReader
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\App\State $appState
      * @param \Magento\Persistent\Model\Factory $persistentFactory
      */
     public function __construct(
         \Magento\Config\DomFactory $domFactory,
         \Magento\Core\Model\Config\Modules\Reader $moduleReader,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\App\State $appState,
         \Magento\Persistent\Model\Factory $persistentFactory
     ) {
         $this->_domFactory = $domFactory;
@@ -234,7 +232,7 @@ class Config
 
         if (method_exists($object, $method)) {
             $object->$method($instance);
-        } elseif ($this->_appState->getMode() == \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        } elseif ($this->_appState->getMode() == \Magento\App\State::MODE_DEVELOPER) {
             throw new \Magento\Core\Exception('Method "' . $method.'" is not defined in "' . get_class($object) . '"');
         }
 
diff --git a/app/code/Magento/Persistent/etc/di.xml b/app/code/Magento/Persistent/etc/di.xml
index c7f561c5e64..1328c683ff4 100644
--- a/app/code/Magento/Persistent/etc/di.xml
+++ b/app/code/Magento/Persistent/etc/di.xml
@@ -32,9 +32,4 @@
             <instance type="Magento\Core\Model\ConfigProxy" />
         </param>
     </type>
-    <type name="Magento\Persistent\Model\Observer">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
 </config>
diff --git a/app/code/Magento/ProductAlert/Helper/Data.php b/app/code/Magento/ProductAlert/Helper/Data.php
index dc030b92b3e..993bdfb520c 100644
--- a/app/code/Magento/ProductAlert/Helper/Data.php
+++ b/app/code/Magento/ProductAlert/Helper/Data.php
@@ -58,7 +58,7 @@ class Data extends \Magento\Core\Helper\Url
     protected $_coreStoreConfig;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -71,7 +71,7 @@ class Data extends \Magento\Core\Helper\Url
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Customer\Model\Session $session
      */
@@ -79,7 +79,7 @@ class Data extends \Magento\Core\Helper\Url
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Registry $coreRegistry,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Customer\Model\Session $session
     ) {
diff --git a/app/code/Magento/Rating/Model/Resource/Rating/Collection.php b/app/code/Magento/Rating/Model/Resource/Rating/Collection.php
index 2762780c626..215f1e57437 100644
--- a/app/code/Magento/Rating/Model/Resource/Rating/Collection.php
+++ b/app/code/Magento/Rating/Model/Resource/Rating/Collection.php
@@ -46,7 +46,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_ratingCollectionF;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -55,7 +55,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Rating/Model/Resource/Rating/Grid/Collection.php b/app/code/Magento/Rating/Model/Resource/Rating/Grid/Collection.php
index ef3cb4aa100..a7bd91c2c58 100644
--- a/app/code/Magento/Rating/Model/Resource/Rating/Grid/Collection.php
+++ b/app/code/Magento/Rating/Model/Resource/Rating/Grid/Collection.php
@@ -43,7 +43,7 @@ class Collection extends \Magento\Rating\Model\Resource\Rating\Collection
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -53,7 +53,7 @@ class Collection extends \Magento\Rating\Model\Resource\Rating\Collection
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Rating/Model/Resource/Rating/Option/Vote/Collection.php b/app/code/Magento/Rating/Model/Resource/Rating/Option/Vote/Collection.php
index f758284160d..e04759091c8 100644
--- a/app/code/Magento/Rating/Model/Resource/Rating/Option/Vote/Collection.php
+++ b/app/code/Magento/Rating/Model/Resource/Rating/Option/Vote/Collection.php
@@ -48,7 +48,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_ratingCollectionF;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -57,7 +57,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/Model/Resource/Customer/Collection.php b/app/code/Magento/Reports/Model/Resource/Customer/Collection.php
index d1f05e4a3ea..a71dc4f87f6 100644
--- a/app/code/Magento/Reports/Model/Resource/Customer/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Customer/Collection.php
@@ -88,7 +88,7 @@ class Collection extends \Magento\Customer\Model\Resource\Customer\Collection
     protected $_quoteItemFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -104,7 +104,7 @@ class Collection extends \Magento\Customer\Model\Resource\Customer\Collection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/Model/Resource/Order/Collection.php b/app/code/Magento/Reports/Model/Resource/Order/Collection.php
index 60f82642a2e..8ee0676fd40 100644
--- a/app/code/Magento/Reports/Model/Resource/Order/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Order/Collection.php
@@ -78,7 +78,7 @@ class Collection extends \Magento\Sales\Model\Resource\Order\Collection
     protected $_reportOrderFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
@@ -91,7 +91,7 @@ class Collection extends \Magento\Sales\Model\Resource\Order\Collection
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
diff --git a/app/code/Magento/Reports/Model/Resource/Product/Collection.php b/app/code/Magento/Reports/Model/Resource/Product/Collection.php
index 9fabb5e94e6..1c87e5a4e12 100644
--- a/app/code/Magento/Reports/Model/Resource/Product/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Product/Collection.php
@@ -79,7 +79,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -103,7 +103,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/Model/Resource/Product/Index/Collection/AbstractCollection.php b/app/code/Magento/Reports/Model/Resource/Product/Index/Collection/AbstractCollection.php
index 2dd78e3c1e1..45eca209d6e 100644
--- a/app/code/Magento/Reports/Model/Resource/Product/Index/Collection/AbstractCollection.php
+++ b/app/code/Magento/Reports/Model/Resource/Product/Index/Collection/AbstractCollection.php
@@ -52,7 +52,7 @@ abstract class AbstractCollection
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -74,7 +74,7 @@ abstract class AbstractCollection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/Model/Resource/Product/Lowstock/Collection.php b/app/code/Magento/Reports/Model/Resource/Product/Lowstock/Collection.php
index 2afeb3038db..257bddb3104 100644
--- a/app/code/Magento/Reports/Model/Resource/Product/Lowstock/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Product/Lowstock/Collection.php
@@ -65,7 +65,7 @@ class Collection extends \Magento\Reports\Model\Resource\Product\Collection
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -91,7 +91,7 @@ class Collection extends \Magento\Reports\Model\Resource\Product\Collection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/Model/Resource/Quote/Collection.php b/app/code/Magento/Reports/Model/Resource/Quote/Collection.php
index b09265518cd..bae1bc57c35 100644
--- a/app/code/Magento/Reports/Model/Resource/Quote/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Quote/Collection.php
@@ -66,7 +66,7 @@ class Collection extends \Magento\Sales\Model\Resource\Quote\Collection
     protected $_customerResource;
 
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/Model/Resource/Report/Product/Viewed/Collection.php b/app/code/Magento/Reports/Model/Resource/Report/Product/Viewed/Collection.php
index 7a1fa1e8710..ebdd74a71cc 100644
--- a/app/code/Magento/Reports/Model/Resource/Report/Product/Viewed/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Report/Product/Viewed/Collection.php
@@ -48,14 +48,14 @@ class Collection
     protected $_selectedColumns    = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/Model/Resource/Review/Customer/Collection.php b/app/code/Magento/Reports/Model/Resource/Review/Customer/Collection.php
index 8e449dd33ea..77380a7f39f 100644
--- a/app/code/Magento/Reports/Model/Resource/Review/Customer/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Review/Customer/Collection.php
@@ -42,7 +42,7 @@ class Collection extends \Magento\Review\Model\Resource\Review\Collection
     protected $_customerResource;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Review\Helper\Data $reviewData
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
@@ -53,7 +53,7 @@ class Collection extends \Magento\Review\Model\Resource\Review\Collection
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Review\Helper\Data $reviewData,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
diff --git a/app/code/Magento/Reports/Model/Resource/Wishlist/Collection.php b/app/code/Magento/Reports/Model/Resource/Wishlist/Collection.php
index 2b6aa325a14..24ed7cc5a23 100644
--- a/app/code/Magento/Reports/Model/Resource/Wishlist/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Wishlist/Collection.php
@@ -49,7 +49,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_customerResFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -57,7 +57,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/etc/di.xml b/app/code/Magento/Reports/etc/di.xml
index 22a81ff091f..2b2880ac3f0 100644
--- a/app/code/Magento/Reports/etc/di.xml
+++ b/app/code/Magento/Reports/etc/di.xml
@@ -27,8 +27,8 @@
     <type name="Magento\Log\Model\Resource\Log">
         <plugin name="reportLog" type="Magento\Reports\Model\Plugin\Log" />
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <reports_setup>Magento\Reports\Model\Resource\Setup</reports_setup>
             </value>
diff --git a/app/code/Magento/Review/Controller/Product.php b/app/code/Magento/Review/Controller/Product.php
index 86776f1f3ec..c502941b829 100644
--- a/app/code/Magento/Review/Controller/Product.php
+++ b/app/code/Magento/Review/Controller/Product.php
@@ -55,7 +55,7 @@ class Product extends \Magento\Core\Controller\Front\Action
     protected $_customerSession;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlModel;
 
@@ -108,7 +108,7 @@ class Product extends \Magento\Core\Controller\Front\Action
      * @param \Magento\Core\Controller\Varien\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\UrlInterface $urlModel
+     * @param \Magento\UrlInterface $urlModel
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
      * @param \Magento\Core\Model\Logger $logger
@@ -123,7 +123,7 @@ class Product extends \Magento\Core\Controller\Front\Action
         \Magento\Core\Controller\Varien\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\UrlInterface $urlModel,
+        \Magento\UrlInterface $urlModel,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\CategoryFactory $categoryFactory,
         \Magento\Core\Model\Logger $logger,
diff --git a/app/code/Magento/Review/Model/Resource/Review/Collection.php b/app/code/Magento/Review/Model/Resource/Review/Collection.php
index 572dd087836..d43ea819a42 100644
--- a/app/code/Magento/Review/Model/Resource/Review/Collection.php
+++ b/app/code/Magento/Review/Model/Resource/Review/Collection.php
@@ -95,7 +95,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Review\Helper\Data $reviewData
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
@@ -105,7 +105,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Review\Helper\Data $reviewData,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
diff --git a/app/code/Magento/Review/Model/Resource/Review/Product/Collection.php b/app/code/Magento/Review/Model/Resource/Review/Product/Collection.php
index 72ce1276950..63df93d72e4 100644
--- a/app/code/Magento/Review/Model/Resource/Review/Product/Collection.php
+++ b/app/code/Magento/Review/Model/Resource/Review/Product/Collection.php
@@ -83,7 +83,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -107,7 +107,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Review/Model/Review.php b/app/code/Magento/Review/Model/Review.php
index d2f81c76da1..2101d6f316a 100644
--- a/app/code/Magento/Review/Model/Review.php
+++ b/app/code/Magento/Review/Model/Review.php
@@ -95,7 +95,7 @@ class Review extends \Magento\Core\Model\AbstractModel
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlModel;
 
@@ -108,7 +108,7 @@ class Review extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Review\Model\Review\SummaryFactory $summaryModFactory
      * @param \Magento\Review\Model\Review\Summary $reviewSummary
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\UrlInterface $urlModel
+     * @param \Magento\UrlInterface $urlModel
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -122,7 +122,7 @@ class Review extends \Magento\Core\Model\AbstractModel
         \Magento\Review\Model\Review\SummaryFactory $summaryModFactory,
         \Magento\Review\Model\Review\Summary $reviewSummary,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\UrlInterface $urlModel,
+        \Magento\UrlInterface $urlModel,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
diff --git a/app/code/Magento/Rss/Controller/Catalog.php b/app/code/Magento/Rss/Controller/Catalog.php
index f2e9b0795d0..cd849b309d4 100644
--- a/app/code/Magento/Rss/Controller/Catalog.php
+++ b/app/code/Magento/Rss/Controller/Catalog.php
@@ -32,7 +32,7 @@ namespace Magento\Rss\Controller;
 class Catalog extends \Magento\Core\Controller\Front\Action
 {
     /**
-     * @var \Magento\Core\Model\Config\Scope
+     * @var \Magento\Config\Scope
      */
     protected $_configScope;
 
@@ -48,12 +48,12 @@ class Catalog extends \Magento\Core\Controller\Front\Action
 
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
-     * @param \Magento\Core\Model\Config\Scope $configScope
+     * @param \Magento\Config\Scope $configScope
      * @param \Magento\Core\Model\Store\Config $storeConfig
      */
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\Config\Scope $configScope,
+        \Magento\Config\Scope $configScope,
         \Magento\Core\Model\Store\Config $storeConfig
     ) {
         $this->_configScope = $configScope;
diff --git a/app/code/Magento/Rss/Controller/Order.php b/app/code/Magento/Rss/Controller/Order.php
index 10ab0d91281..d325e19d368 100644
--- a/app/code/Magento/Rss/Controller/Order.php
+++ b/app/code/Magento/Rss/Controller/Order.php
@@ -32,7 +32,7 @@ namespace Magento\Rss\Controller;
 class Order extends \Magento\Core\Controller\Front\Action
 {
     /**
-     * @var \Magento\Core\Model\Config\Scope
+     * @var \Magento\Config\Scope
      */
     protected $_configScope;
 
@@ -51,12 +51,12 @@ class Order extends \Magento\Core\Controller\Front\Action
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param \Magento\Core\Model\Config\Scope $configScope
+     * @param \Magento\Config\Scope $configScope
      */
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
-        \Magento\Core\Model\Config\Scope $configScope
+        \Magento\Config\Scope $configScope
     ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_configScope = $configScope;
diff --git a/app/code/Magento/Rule/Model/Action/AbstractAction.php b/app/code/Magento/Rule/Model/Action/AbstractAction.php
index b987ef49030..b99a41229d1 100644
--- a/app/code/Magento/Rule/Model/Action/AbstractAction.php
+++ b/app/code/Magento/Rule/Model/Action/AbstractAction.php
@@ -38,18 +38,18 @@ abstract class AbstractAction extends \Magento\Object implements \Magento\Rule\M
     protected $_viewUrl;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
      * @param \Magento\Core\Model\View\Url $viewUrl
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Model\View\Url $viewUrl,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         array $data = array()
     ) {
         $this->_viewUrl = $viewUrl;
diff --git a/app/code/Magento/Rule/Model/Action/Collection.php b/app/code/Magento/Rule/Model/Action/Collection.php
index 953f2a39ddd..abd79c793bb 100644
--- a/app/code/Magento/Rule/Model/Action/Collection.php
+++ b/app/code/Magento/Rule/Model/Action/Collection.php
@@ -37,13 +37,13 @@ class Collection extends \Magento\Rule\Model\Action\AbstractAction
     /**
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Rule\Model\ActionFactory $actionFactory
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Rule\Model\ActionFactory $actionFactory,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         array $data = array()
     ) {
         $this->_actionFactory = $actionFactory;
diff --git a/app/code/Magento/Rule/Model/Condition/AbstractCondition.php b/app/code/Magento/Rule/Model/Condition/AbstractCondition.php
index 439bd5c0c70..be07f40687a 100644
--- a/app/code/Magento/Rule/Model/Condition/AbstractCondition.php
+++ b/app/code/Magento/Rule/Model/Condition/AbstractCondition.php
@@ -72,7 +72,7 @@ abstract class AbstractCondition
     protected $_locale;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
diff --git a/app/code/Magento/Rule/Model/Condition/Context.php b/app/code/Magento/Rule/Model/Condition/Context.php
index 6d3b77a1c9b..4413e8d3ef5 100644
--- a/app/code/Magento/Rule/Model/Condition/Context.php
+++ b/app/code/Magento/Rule/Model/Condition/Context.php
@@ -41,7 +41,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_locale;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -58,14 +58,14 @@ class Context implements \Magento\ObjectManager\ContextInterface
     /**
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Rule\Model\ConditionFactory $conditionFactory
      * @param \Magento\Core\Model\Logger $logger
      */
     public function __construct(
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Rule\Model\ConditionFactory $conditionFactory,
         \Magento\Core\Model\Logger $logger
     ) {
@@ -93,7 +93,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     public function getLayout()
     {
@@ -101,7 +101,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\Rule\Model\ConditionFactory
      */
     public function getConditionFactory()
     {
diff --git a/app/code/Magento/Sales/Block/Items/AbstractItems.php b/app/code/Magento/Sales/Block/Items/AbstractItems.php
index 2852cd1266d..b1d66354193 100644
--- a/app/code/Magento/Sales/Block/Items/AbstractItems.php
+++ b/app/code/Magento/Sales/Block/Items/AbstractItems.php
@@ -65,7 +65,7 @@ class AbstractItems extends \Magento\Core\Block\Template
     public function getItemRenderer($type)
     {
         $renderer = $this->getChildBlock($type) ?: $this->getChildBlock(self::DEFAULT_TYPE);
-        if (!$renderer instanceof \Magento\Core\Block) {
+        if (!$renderer instanceof \Magento\View\Element\BlockInterface) {
             throw new \RuntimeException('Renderer for type "' . $type . '" does not exist.');
         }
         $renderer->setRenderedBlock($this);
diff --git a/app/code/Magento/Sales/Controller/Download.php b/app/code/Magento/Sales/Controller/Download.php
index 044c506707c..0e786bf34d8 100644
--- a/app/code/Magento/Sales/Controller/Download.php
+++ b/app/code/Magento/Sales/Controller/Download.php
@@ -48,12 +48,12 @@ class Download extends \Magento\Core\Controller\Front\Action
                 throw new \Exception();
             }
 
-            $filePath = $this->_objectManager->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::ROOT) . $info['order_path'];
+            $filePath = $this->_objectManager->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::ROOT) . $info['order_path'];
             if ((!is_file($filePath) || !is_readable($filePath)) && !$this->_processDatabaseFile($filePath)) {
                 //try get file from quote
-                $filePath = $this->_objectManager->get('Magento\Core\Model\Dir')
-                    ->getDir(\Magento\Core\Model\Dir::ROOT) . $info['quote_path'];
+                $filePath = $this->_objectManager->get('Magento\App\Dir')
+                    ->getDir(\Magento\App\Dir::ROOT) . $info['quote_path'];
                 if ((!is_file($filePath) || !is_readable($filePath)) && !$this->_processDatabaseFile($filePath)) {
                     throw new \Exception();
                 }
diff --git a/app/code/Magento/Sales/Helper/Guest.php b/app/code/Magento/Sales/Helper/Guest.php
index da38cdab8fc..7a704edae4b 100644
--- a/app/code/Magento/Sales/Helper/Guest.php
+++ b/app/code/Magento/Sales/Helper/Guest.php
@@ -80,14 +80,14 @@ class Guest extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Customer\Model\Session $customerSession
@@ -99,14 +99,14 @@ class Guest extends \Magento\Core\Helper\Data
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Customer\Model\Session $customerSession,
diff --git a/app/code/Magento/Sales/Helper/Reorder.php b/app/code/Magento/Sales/Helper/Reorder.php
index dc88730e09c..a8938a8a668 100644
--- a/app/code/Magento/Sales/Helper/Reorder.php
+++ b/app/code/Magento/Sales/Helper/Reorder.php
@@ -40,28 +40,28 @@ class Reorder extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Customer\Model\Session $customerSession
      * @param bool $dbCompatibleMode
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\Customer\Model\Session $customerSession,
         $dbCompatibleMode = true
diff --git a/app/code/Magento/Sales/Model/Convert/Order.php b/app/code/Magento/Sales/Model/Convert/Order.php
index 423af7c1d06..2f0187ea7dd 100644
--- a/app/code/Magento/Sales/Model/Convert/Order.php
+++ b/app/code/Magento/Sales/Model/Convert/Order.php
@@ -41,7 +41,7 @@ class Order extends \Magento\Object
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -91,7 +91,7 @@ class Order extends \Magento\Object
     protected $_creditmemoItemFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Sales\Model\Quote\AddressFactory $quoteAddressFactory
@@ -108,7 +108,7 @@ class Order extends \Magento\Object
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Sales\Model\Quote\AddressFactory $quoteAddressFactory,
diff --git a/app/code/Magento/Sales/Model/Convert/Quote.php b/app/code/Magento/Sales/Model/Convert/Quote.php
index 849b3d0b191..58f28d10775 100644
--- a/app/code/Magento/Sales/Model/Convert/Quote.php
+++ b/app/code/Magento/Sales/Model/Convert/Quote.php
@@ -41,7 +41,7 @@ class Quote extends \Magento\Object
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -66,7 +66,7 @@ class Quote extends \Magento\Object
     protected $_orderItemFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Sales\Model\Order\AddressFactory $orderAddressFactory
@@ -75,7 +75,7 @@ class Quote extends \Magento\Object
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Sales\Model\OrderFactory $orderFactory,
         \Magento\Sales\Model\Order\AddressFactory $orderAddressFactory,
diff --git a/app/code/Magento/Sales/Model/Observer.php b/app/code/Magento/Sales/Model/Observer.php
index 5e7b1b453cd..ce1f6fa184b 100644
--- a/app/code/Magento/Sales/Model/Observer.php
+++ b/app/code/Magento/Sales/Model/Observer.php
@@ -69,7 +69,7 @@ class Observer
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -94,7 +94,7 @@ class Observer
     protected $_resourceFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Customer\Helper\Data $customerData
      * @param \Magento\Customer\Helper\Address $customerAddress
@@ -105,7 +105,7 @@ class Observer
      * @param \Magento\Sales\Model\ResourceFactory $resourceFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Customer\Helper\Data $customerData,
         \Magento\Customer\Helper\Address $customerAddress,
diff --git a/app/code/Magento/Sales/Model/Order.php b/app/code/Magento/Sales/Model/Order.php
index 8c1649f554f..b16cbce4bf0 100644
--- a/app/code/Magento/Sales/Model/Order.php
+++ b/app/code/Magento/Sales/Model/Order.php
@@ -426,7 +426,7 @@ class Order extends \Magento\Sales\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -513,7 +513,7 @@ class Order extends \Magento\Sales\Model\AbstractModel
     protected $_carrierFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Sales\Helper\Data $salesData
@@ -543,7 +543,7 @@ class Order extends \Magento\Sales\Model\AbstractModel
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Sales\Helper\Data $salesData,
diff --git a/app/code/Magento/Sales/Model/Order/Address.php b/app/code/Magento/Sales/Model/Order/Address.php
index c5b4457f3ee..2678eef123c 100644
--- a/app/code/Magento/Sales/Model/Order/Address.php
+++ b/app/code/Magento/Sales/Model/Order/Address.php
@@ -91,7 +91,7 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
     protected $_orderFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Directory\Helper\Data $directoryData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -107,7 +107,7 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Directory\Helper\Data $directoryData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/Sales/Model/Order/Creditmemo.php b/app/code/Magento/Sales/Model/Order/Creditmemo.php
index 6ffd77b0a7b..df67a3c6e52 100644
--- a/app/code/Magento/Sales/Model/Order/Creditmemo.php
+++ b/app/code/Magento/Sales/Model/Order/Creditmemo.php
@@ -182,7 +182,7 @@ class Creditmemo extends \Magento\Sales\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -239,7 +239,7 @@ class Creditmemo extends \Magento\Sales\Model\AbstractModel
     protected $_emailInfoFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Sales\Helper\Data $salesData
      * @param \Magento\Core\Model\Context $context
@@ -262,7 +262,7 @@ class Creditmemo extends \Magento\Sales\Model\AbstractModel
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Sales\Helper\Data $salesData,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Sales/Model/Order/Invoice.php b/app/code/Magento/Sales/Model/Order/Invoice.php
index 2ca0d0cc187..f2ec9791457 100644
--- a/app/code/Magento/Sales/Model/Order/Invoice.php
+++ b/app/code/Magento/Sales/Model/Order/Invoice.php
@@ -188,7 +188,7 @@ class Invoice extends \Magento\Sales\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -245,7 +245,7 @@ class Invoice extends \Magento\Sales\Model\AbstractModel
     protected $_emailInfoFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Sales\Helper\Data $salesData
      * @param \Magento\Core\Model\Context $context
@@ -268,7 +268,7 @@ class Invoice extends \Magento\Sales\Model\AbstractModel
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Sales\Helper\Data $salesData,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Sales/Model/Order/Item.php b/app/code/Magento/Sales/Model/Order/Item.php
index 115f71eabb0..e24de1cdf3e 100644
--- a/app/code/Magento/Sales/Model/Order/Item.php
+++ b/app/code/Magento/Sales/Model/Order/Item.php
@@ -221,7 +221,7 @@ class Item extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -236,7 +236,7 @@ class Item extends \Magento\Core\Model\AbstractModel
     protected $_productFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
@@ -246,7 +246,7 @@ class Item extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Sales\Model\OrderFactory $orderFactory,
diff --git a/app/code/Magento/Sales/Model/Order/Payment.php b/app/code/Magento/Sales/Model/Order/Payment.php
index 9f306716556..e18714a3471 100644
--- a/app/code/Magento/Sales/Model/Order/Payment.php
+++ b/app/code/Magento/Sales/Model/Order/Payment.php
@@ -187,7 +187,7 @@ class Payment extends \Magento\Payment\Model\Info
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -217,7 +217,7 @@ class Payment extends \Magento\Payment\Model\Info
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Context $context
@@ -232,7 +232,7 @@ class Payment extends \Magento\Payment\Model\Info
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Sales/Model/Order/Payment/Transaction.php b/app/code/Magento/Sales/Model/Order/Payment/Transaction.php
index dc46a419733..98282ab5a12 100644
--- a/app/code/Magento/Sales/Model/Order/Payment/Transaction.php
+++ b/app/code/Magento/Sales/Model/Order/Payment/Transaction.php
@@ -148,7 +148,7 @@ class Transaction extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -168,7 +168,7 @@ class Transaction extends \Magento\Core\Model\AbstractModel
     protected $_dateFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Sales\Model\Order\PaymentFactory $paymentFactory
@@ -179,7 +179,7 @@ class Transaction extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Sales\Model\Order\PaymentFactory $paymentFactory,
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/AbstractPdf.php b/app/code/Magento/Sales/Model/Order/Pdf/AbstractPdf.php
index c0df016f7ec..7d458f828dd 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/AbstractPdf.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/AbstractPdf.php
@@ -103,7 +103,7 @@ abstract class AbstractPdf extends \Magento\Object
     protected $_translate;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
@@ -133,7 +133,7 @@ abstract class AbstractPdf extends \Magento\Object
      * @param \Magento\Core\Helper\String $coreString
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Translate $translate
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Shipping\Model\Config $shippingConfig
      * @param \Magento\Sales\Model\Order\Pdf\Config $pdfConfig
      * @param \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory
@@ -148,7 +148,7 @@ abstract class AbstractPdf extends \Magento\Object
         \Magento\Core\Helper\String $coreString,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Translate $translate,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Shipping\Model\Config $shippingConfig,
         \Magento\Sales\Model\Order\Pdf\Config $pdfConfig,
         \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory,
@@ -243,7 +243,7 @@ abstract class AbstractPdf extends \Magento\Object
         $this->y = $this->y ? $this->y : 815;
         $image = $this->_coreStoreConfig->getConfig('sales/identity/logo', $store);
         if ($image) {
-            $image = $this->_coreDir->getDir(\Magento\Core\Model\Dir::MEDIA) . '/sales/store/logo/' . $image;
+            $image = $this->_coreDir->getDir(\Magento\App\Dir::MEDIA) . '/sales/store/logo/' . $image;
             if (is_file($image)) {
                 $image       = \Zend_Pdf_Image::imageWithPath($image);
                 $top         = 830; //top border of the page
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Creditmemo.php b/app/code/Magento/Sales/Model/Order/Pdf/Creditmemo.php
index 89d2b367b61..75544a3f8ba 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Creditmemo.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Creditmemo.php
@@ -47,7 +47,7 @@ class Creditmemo extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
      * @param \Magento\Core\Helper\String $coreString
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Translate $translate
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Shipping\Model\Config $shippingConfig
      * @param \Magento\Sales\Model\Order\Pdf\Config $pdfConfig
      * @param \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory
@@ -64,7 +64,7 @@ class Creditmemo extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
         \Magento\Core\Helper\String $coreString,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Translate $translate,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Shipping\Model\Config $shippingConfig,
         \Magento\Sales\Model\Order\Pdf\Config $pdfConfig,
         \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory,
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Invoice.php b/app/code/Magento/Sales/Model/Order/Pdf/Invoice.php
index 81c0f73f471..da2b956eeb3 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Invoice.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Invoice.php
@@ -47,7 +47,7 @@ class Invoice extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
      * @param \Magento\Core\Helper\String $coreString
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Translate $translate
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Shipping\Model\Config $shippingConfig
      * @param \Magento\Sales\Model\Order\Pdf\Config $pdfConfig
      * @param \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory
@@ -64,7 +64,7 @@ class Invoice extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
         \Magento\Core\Helper\String $coreString,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Translate $translate,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Shipping\Model\Config $shippingConfig,
         \Magento\Sales\Model\Order\Pdf\Config $pdfConfig,
         \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory,
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Items/AbstractItems.php b/app/code/Magento/Sales/Model/Order/Pdf/Items/AbstractItems.php
index 2bdc37888a0..af20dc5e224 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Items/AbstractItems.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Items/AbstractItems.php
@@ -74,7 +74,7 @@ abstract class AbstractItems extends \Magento\Core\Model\AbstractModel
     protected $_taxData = null;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
@@ -82,7 +82,7 @@ abstract class AbstractItems extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -91,7 +91,7 @@ abstract class AbstractItems extends \Magento\Core\Model\AbstractModel
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -339,7 +339,7 @@ abstract class AbstractItems extends \Magento\Core\Model\AbstractModel
     protected function _setFontRegular($size = 7)
     {
         $font = \Zend_Pdf_Font::fontWithPath(
-            $this->_coreDir->getDir(\Magento\Core\Model\Dir::ROOT) . '/lib/LinLibertineFont/LinLibertine_Re-4.4.1.ttf'
+            $this->_coreDir->getDir(\Magento\App\Dir::ROOT) . '/lib/LinLibertineFont/LinLibertine_Re-4.4.1.ttf'
         );
         $this->getPage()->setFont($font, $size);
         return $font;
@@ -354,7 +354,7 @@ abstract class AbstractItems extends \Magento\Core\Model\AbstractModel
     protected function _setFontBold($size = 7)
     {
         $font = \Zend_Pdf_Font::fontWithPath(
-            $this->_coreDir->getDir(\Magento\Core\Model\Dir::ROOT) . '/lib/LinLibertineFont/LinLibertine_Bd-2.8.1.ttf'
+            $this->_coreDir->getDir(\Magento\App\Dir::ROOT) . '/lib/LinLibertineFont/LinLibertine_Bd-2.8.1.ttf'
         );
         $this->getPage()->setFont($font, $size);
         return $font;
@@ -369,7 +369,7 @@ abstract class AbstractItems extends \Magento\Core\Model\AbstractModel
     protected function _setFontItalic($size = 7)
     {
         $font = \Zend_Pdf_Font::fontWithPath(
-            $this->_coreDir->getDir(\Magento\Core\Model\Dir::ROOT) . '/lib/LinLibertineFont/LinLibertine_It-2.8.2.ttf'
+            $this->_coreDir->getDir(\Magento\App\Dir::ROOT) . '/lib/LinLibertineFont/LinLibertine_It-2.8.2.ttf'
         );
         $this->getPage()->setFont($font, $size);
         return $font;
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Items/Creditmemo/DefaultCreditmemo.php b/app/code/Magento/Sales/Model/Order/Pdf/Items/Creditmemo/DefaultCreditmemo.php
index ab280c8449a..c5d1f7bd831 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Items/Creditmemo/DefaultCreditmemo.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Items/Creditmemo/DefaultCreditmemo.php
@@ -47,7 +47,7 @@ class DefaultCreditmemo extends \Magento\Sales\Model\Order\Pdf\Items\AbstractIte
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -57,7 +57,7 @@ class DefaultCreditmemo extends \Magento\Sales\Model\Order\Pdf\Items\AbstractIte
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Items/Invoice/DefaultInvoice.php b/app/code/Magento/Sales/Model/Order/Pdf/Items/Invoice/DefaultInvoice.php
index 3675b52c47b..2c24cbce0f5 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Items/Invoice/DefaultInvoice.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Items/Invoice/DefaultInvoice.php
@@ -43,7 +43,7 @@ class DefaultInvoice extends \Magento\Sales\Model\Order\Pdf\Items\AbstractItems
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -53,7 +53,7 @@ class DefaultInvoice extends \Magento\Sales\Model\Order\Pdf\Items\AbstractItems
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Items/Shipment/DefaultShipment.php b/app/code/Magento/Sales/Model/Order/Pdf/Items/Shipment/DefaultShipment.php
index b985f50a937..cdd0c19b5f0 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Items/Shipment/DefaultShipment.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Items/Shipment/DefaultShipment.php
@@ -43,7 +43,7 @@ class DefaultShipment extends \Magento\Sales\Model\Order\Pdf\Items\AbstractItems
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -53,7 +53,7 @@ class DefaultShipment extends \Magento\Sales\Model\Order\Pdf\Items\AbstractItems
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Shipment.php b/app/code/Magento/Sales/Model/Order/Pdf/Shipment.php
index 7866cf30087..7c2ca422ac6 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Shipment.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Shipment.php
@@ -47,7 +47,7 @@ class Shipment extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
      * @param \Magento\Core\Helper\String $coreString
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Translate $translate
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Shipping\Model\Config $shippingConfig
      * @param \Magento\Sales\Model\Order\Pdf\Config $pdfConfig
      * @param \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory
@@ -64,7 +64,7 @@ class Shipment extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
         \Magento\Core\Helper\String $coreString,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Translate $translate,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Shipping\Model\Config $shippingConfig,
         \Magento\Sales\Model\Order\Pdf\Config $pdfConfig,
         \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory,
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Shipment/Packaging.php b/app/code/Magento/Sales/Model/Order/Pdf/Shipment/Packaging.php
index ebd0e8ad9a8..089804e800f 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Shipment/Packaging.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Shipment/Packaging.php
@@ -49,7 +49,7 @@ class Packaging extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -59,7 +59,7 @@ class Packaging extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
      * @param \Magento\Core\Helper\String $coreString
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Translate $translate
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Shipping\Model\Config $shippingConfig
      * @param \Magento\Sales\Model\Order\Pdf\Config $pdfConfig
      * @param \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory
@@ -67,7 +67,7 @@ class Packaging extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
      * @param \Magento\Usa\Helper\Data $usaData
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param array $data
      *
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
@@ -78,7 +78,7 @@ class Packaging extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
         \Magento\Core\Helper\String $coreString,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Translate $translate,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Shipping\Model\Config $shippingConfig,
         \Magento\Sales\Model\Order\Pdf\Config $pdfConfig,
         \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory,
@@ -86,7 +86,7 @@ class Packaging extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
         \Magento\Usa\Helper\Data $usaData,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         array $data = array()
     ) {
         $this->_usaData = $usaData;
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Total/Factory.php b/app/code/Magento/Sales/Model/Order/Pdf/Total/Factory.php
index eb48a607c48..6915f9d3cff 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Total/Factory.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Total/Factory.php
@@ -59,7 +59,8 @@ class Factory
         $class = $class ?: $this->_defaultTotalModel;
         if (!is_a($class, 'Magento\Sales\Model\Order\Pdf\Total\DefaultTotal', true)) {
             throw new \Magento\Core\Exception(
-                __("The PDF total model {$class} must be or extend \Magento\Sales\Model\Order\Pdf\Total\Default.")
+                __("The PDF total model {$class} must be or extend "
+                    . "\\Magento\\Sales\\Model\\Order\\Pdf\\Total\\DefaultTotal.")
             );
         }
         return $this->_objectManager->create($class, $arguments);
diff --git a/app/code/Magento/Sales/Model/Order/Total/Config/Base.php b/app/code/Magento/Sales/Model/Order/Total/Config/Base.php
index 4ec581eed7b..a47177b1160 100644
--- a/app/code/Magento/Sales/Model/Order/Total/Config/Base.php
+++ b/app/code/Magento/Sales/Model/Order/Total/Config/Base.php
@@ -89,7 +89,7 @@ class Base extends \Magento\Sales\Model\Config\Ordered
         $model = $this->_orderTotalFactory->create($class);
         if (!$model instanceof \Magento\Sales\Model\Order\Total\AbstractTotal) {
             throw new \Magento\Core\Exception(
-                __('The total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.')
+                __('The total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.')
             );
         }
 
diff --git a/app/code/Magento/Sales/Model/Payment/Method/Billing/AbstractAgreement.php b/app/code/Magento/Sales/Model/Payment/Method/Billing/AbstractAgreement.php
index 37a7bea9466..0c3ebc93583 100644
--- a/app/code/Magento/Sales/Model/Payment/Method/Billing/AbstractAgreement.php
+++ b/app/code/Magento/Sales/Model/Payment/Method/Billing/AbstractAgreement.php
@@ -54,7 +54,7 @@ abstract class AbstractAgreement
     protected $_agreementFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
@@ -62,7 +62,7 @@ abstract class AbstractAgreement
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
diff --git a/app/code/Magento/Sales/Model/Quote.php b/app/code/Magento/Sales/Model/Quote.php
index 581a8b853c2..13a50a9c432 100644
--- a/app/code/Magento/Sales/Model/Quote.php
+++ b/app/code/Magento/Sales/Model/Quote.php
@@ -217,7 +217,7 @@ class Quote extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -294,7 +294,7 @@ class Quote extends \Magento\Core\Model\AbstractModel
     protected $_recurringProfileFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Sales\Helper\Data $salesData
      * @param \Magento\Catalog\Helper\Product $catalogProduct
      * @param \Magento\Core\Helper\Data $coreData
@@ -321,7 +321,7 @@ class Quote extends \Magento\Core\Model\AbstractModel
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Sales\Helper\Data $salesData,
         \Magento\Catalog\Helper\Product $catalogProduct,
         \Magento\Core\Helper\Data $coreData,
diff --git a/app/code/Magento/Sales/Model/Quote/Address.php b/app/code/Magento/Sales/Model/Quote/Address.php
index ca08c703038..61fe7a91ef9 100644
--- a/app/code/Magento/Sales/Model/Quote/Address.php
+++ b/app/code/Magento/Sales/Model/Quote/Address.php
@@ -258,7 +258,7 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
 
     /**
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Directory\Helper\Data $directoryData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -284,7 +284,7 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Directory\Helper\Data $directoryData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/Sales/Model/Quote/Address/Total/Collector.php b/app/code/Magento/Sales/Model/Quote/Address/Total/Collector.php
index 991bf2706d0..f5664da02ab 100644
--- a/app/code/Magento/Sales/Model/Quote/Address/Total/Collector.php
+++ b/app/code/Magento/Sales/Model/Quote/Address/Total/Collector.php
@@ -144,7 +144,7 @@ class Collector extends \Magento\Sales\Model\Config\Ordered
         $model = $this->_totalFactory->create($class);
         if (!$model instanceof \Magento\Sales\Model\Quote\Address\Total\AbstractTotal) {
             throw new \Magento\Core\Exception(
-                __('The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.')
+                __('The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.')
             );
         }
 
diff --git a/app/code/Magento/Sales/Model/Quote/Address/Total/Discount.php b/app/code/Magento/Sales/Model/Quote/Address/Total/Discount.php
index 93e99bdb1db..5c17421c53e 100644
--- a/app/code/Magento/Sales/Model/Quote/Address/Total/Discount.php
+++ b/app/code/Magento/Sales/Model/Quote/Address/Total/Discount.php
@@ -31,7 +31,7 @@ class Discount extends \Magento\Sales\Model\Quote\Address\Total\AbstractTotal
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -41,11 +41,11 @@ class Discount extends \Magento\Sales\Model\Quote\Address\Total\AbstractTotal
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         $this->_eventManager = $eventManager;
diff --git a/app/code/Magento/Sales/Model/Quote/Item.php b/app/code/Magento/Sales/Model/Quote/Item.php
index 646d214148e..95199f73772 100644
--- a/app/code/Magento/Sales/Model/Quote/Item.php
+++ b/app/code/Magento/Sales/Model/Quote/Item.php
@@ -193,7 +193,7 @@ class Item extends \Magento\Sales\Model\Quote\Item\AbstractItem
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -208,7 +208,7 @@ class Item extends \Magento\Sales\Model\Quote\Item\AbstractItem
     protected $_itemOptionFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
@@ -222,7 +222,7 @@ class Item extends \Magento\Sales\Model\Quote\Item\AbstractItem
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Catalog\Model\ProductFactory $productFactory,
diff --git a/app/code/Magento/Sales/Model/Quote/Payment.php b/app/code/Magento/Sales/Model/Quote/Payment.php
index a5d77c7ee53..7c0b1634430 100644
--- a/app/code/Magento/Sales/Model/Quote/Payment.php
+++ b/app/code/Magento/Sales/Model/Quote/Payment.php
@@ -80,12 +80,12 @@ class Payment extends \Magento\Payment\Model\Info
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Context $context
@@ -95,7 +95,7 @@ class Payment extends \Magento\Payment\Model\Info
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Sales/Model/Resource/Billing/Agreement/Collection.php b/app/code/Magento/Sales/Model/Resource/Billing/Agreement/Collection.php
index 23f7b0698ec..a35bdbd104d 100644
--- a/app/code/Magento/Sales/Model/Resource/Billing/Agreement/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Billing/Agreement/Collection.php
@@ -51,7 +51,7 @@ class Collection
     protected $_customerResource;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -59,7 +59,7 @@ class Collection
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Order/AbstractOrder.php b/app/code/Magento/Sales/Model/Resource/Order/AbstractOrder.php
index 824d1239789..4dc27d23f9e 100644
--- a/app/code/Magento/Sales/Model/Resource/Order/AbstractOrder.php
+++ b/app/code/Magento/Sales/Model/Resource/Order/AbstractOrder.php
@@ -90,7 +90,7 @@ abstract class AbstractOrder extends \Magento\Sales\Model\Resource\AbstractResou
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -100,12 +100,12 @@ abstract class AbstractOrder extends \Magento\Sales\Model\Resource\AbstractResou
     protected $_eavEntityTypeFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Eav\Model\Entity\TypeFactory $eavEntityTypeFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Resource $resource,
         \Magento\Eav\Model\Entity\TypeFactory $eavEntityTypeFactory
     ) {
diff --git a/app/code/Magento/Sales/Model/Resource/Order/Address.php b/app/code/Magento/Sales/Model/Resource/Order/Address.php
index 3498e0f72ec..2b83f8ddc4b 100644
--- a/app/code/Magento/Sales/Model/Resource/Order/Address.php
+++ b/app/code/Magento/Sales/Model/Resource/Order/Address.php
@@ -44,13 +44,13 @@ class Address extends \Magento\Sales\Model\Resource\Order\AbstractOrder
     protected $_salesResourceFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Eav\Model\Entity\TypeFactory $eavEntityTypeFactory
      * @param \Magento\Sales\Model\Resource\Factory $salesResourceFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Resource $resource,
         \Magento\Eav\Model\Entity\TypeFactory $eavEntityTypeFactory,
         \Magento\Sales\Model\Resource\Factory $salesResourceFactory
diff --git a/app/code/Magento/Sales/Model/Resource/Order/Collection.php b/app/code/Magento/Sales/Model/Resource/Order/Collection.php
index 69cfdd0168c..e80a83337da 100644
--- a/app/code/Magento/Sales/Model/Resource/Order/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Order/Collection.php
@@ -56,7 +56,7 @@ class Collection extends \Magento\Sales\Model\Resource\Collection\AbstractCollec
     protected $_coreResourceHelper;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -64,7 +64,7 @@ class Collection extends \Magento\Sales\Model\Resource\Collection\AbstractCollec
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Order/Payment.php b/app/code/Magento/Sales/Model/Resource/Order/Payment.php
index fdb62b42976..b8a4ec6c56f 100644
--- a/app/code/Magento/Sales/Model/Resource/Order/Payment.php
+++ b/app/code/Magento/Sales/Model/Resource/Order/Payment.php
@@ -53,13 +53,13 @@ class Payment extends \Magento\Sales\Model\Resource\Order\AbstractOrder
     protected $_paymentConverter;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Eav\Model\Entity\TypeFactory $eavEntityTypeFactory
      * @param \Magento\Sales\Model\Payment\Method\Converter $paymentConverter
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Resource $resource,
         \Magento\Eav\Model\Entity\TypeFactory $eavEntityTypeFactory,
         \Magento\Sales\Model\Payment\Method\Converter $paymentConverter
diff --git a/app/code/Magento/Sales/Model/Resource/Order/Payment/Collection.php b/app/code/Magento/Sales/Model/Resource/Order/Payment/Collection.php
index 74c3344c7a1..5af83d740b7 100644
--- a/app/code/Magento/Sales/Model/Resource/Order/Payment/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Order/Payment/Collection.php
@@ -51,7 +51,7 @@ class Collection extends \Magento\Sales\Model\Resource\Order\Collection\Abstract
     protected $_converter;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -59,7 +59,7 @@ class Collection extends \Magento\Sales\Model\Resource\Order\Collection\Abstract
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Quote/Item/Collection.php b/app/code/Magento/Sales/Model/Resource/Quote/Item/Collection.php
index 995c5580726..fe6db927036 100644
--- a/app/code/Magento/Sales/Model/Resource/Quote/Item/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Quote/Item/Collection.php
@@ -61,7 +61,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_quoteConfig;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -71,7 +71,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Quote/Payment/Collection.php b/app/code/Magento/Sales/Model/Resource/Quote/Payment/Collection.php
index f03a5046f65..a278e255c46 100644
--- a/app/code/Magento/Sales/Model/Resource/Quote/Payment/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Quote/Payment/Collection.php
@@ -37,7 +37,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_converter;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -45,7 +45,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Bestsellers/Collection.php b/app/code/Magento/Sales/Model/Resource/Report/Bestsellers/Collection.php
index eaf69c68b82..7a3bede3d88 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Bestsellers/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Bestsellers/Collection.php
@@ -52,14 +52,14 @@ class Collection
     protected $_selectedColumns    = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Collection/AbstractCollection.php b/app/code/Magento/Sales/Model/Resource/Report/Collection/AbstractCollection.php
index 9d80f980bd3..129d3cd399e 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Collection/AbstractCollection.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Collection/AbstractCollection.php
@@ -45,14 +45,14 @@ class AbstractCollection
     protected $_orderStatus        = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Invoiced.php b/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Invoiced.php
index 31987c451ed..4e36236bfd4 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Invoiced.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Invoiced.php
@@ -38,14 +38,14 @@ class Invoiced
     extends \Magento\Sales\Model\Resource\Report\Invoiced\Collection\Order
 {
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Order.php b/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Order.php
index 0c8a5966014..2d36eaf0ed3 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Order.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Order.php
@@ -52,14 +52,14 @@ class Order
     protected $_selectedColumns    = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Order/Collection.php b/app/code/Magento/Sales/Model/Resource/Report/Order/Collection.php
index bd9e749075a..792d5fba8ed 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Order/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Order/Collection.php
@@ -58,14 +58,14 @@ class Collection extends \Magento\Sales\Model\Resource\Report\Collection\Abstrac
     protected $_selectedColumns    = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Order.php b/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Order.php
index 7a56b52862d..0c830145576 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Order.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Order.php
@@ -52,14 +52,14 @@ class Order
     protected $_selectedColumns    = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Refunded.php b/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Refunded.php
index 228c0dd1dec..04bdf59eefc 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Refunded.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Refunded.php
@@ -38,14 +38,14 @@ class Refunded
     extends \Magento\Sales\Model\Resource\Report\Refunded\Collection\Order
 {
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Order.php b/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Order.php
index 534c794bfe0..4b9ec8cae71 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Order.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Order.php
@@ -52,14 +52,14 @@ class Order
     protected $_selectedColumns    = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Shipment.php b/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Shipment.php
index 8b446ebc71e..06b973e480a 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Shipment.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Shipment.php
@@ -38,14 +38,14 @@ class Shipment
     extends \Magento\Sales\Model\Resource\Report\Shipping\Collection\Order
 {
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Sale/Collection.php b/app/code/Magento/Sales/Model/Resource/Sale/Collection.php
index 3663ec9150f..a8a6dbc34ae 100644
--- a/app/code/Magento/Sales/Model/Resource/Sale/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Sale/Collection.php
@@ -67,7 +67,7 @@ class Collection extends \Magento\Data\Collection\Db
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -89,7 +89,7 @@ class Collection extends \Magento\Data\Collection\Db
     /**
      * Set sales order entity and establish read connection
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -98,7 +98,7 @@ class Collection extends \Magento\Data\Collection\Db
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Service/Quote.php b/app/code/Magento/Sales/Model/Service/Quote.php
index ad3150838a1..eead70baac3 100644
--- a/app/code/Magento/Sales/Model/Service/Quote.php
+++ b/app/code/Magento/Sales/Model/Service/Quote.php
@@ -76,7 +76,7 @@ class Quote
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -93,14 +93,14 @@ class Quote
     /**
      * Class constructor
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Sales\Model\Quote $quote
      * @param \Magento\Sales\Model\Convert\QuoteFactory $convertQuoteFactory
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Core\Model\Resource\TransactionFactory $transactionFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Sales\Model\Quote $quote,
         \Magento\Sales\Model\Convert\QuoteFactory $convertQuoteFactory,
         \Magento\Customer\Model\Session $customerSession,
diff --git a/app/code/Magento/Sales/etc/di.xml b/app/code/Magento/Sales/etc/di.xml
index 524e97cfa0b..713cbb77489 100644
--- a/app/code/Magento/Sales/etc/di.xml
+++ b/app/code/Magento/Sales/etc/di.xml
@@ -25,91 +25,6 @@
 -->
 <config>
     <type name="Magento\Sales\Model\Resource\Report" shared="false" />
-    <type name="Magento\Sales\Model\Convert\Order">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Convert\Quote">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Observer">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Order\Creditmemo">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Order\Invoice">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Order\Item">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Order\Payment\Transaction">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Order\Payment">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Order">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Quote\Address\Total\Discount">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Quote\Config">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Quote\Item">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Quote\Payment">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Quote">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Resource\Order\AbstractOrder">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Resource\Sale\Collection">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Service\Quote">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Sales\Model\Order\Pdf\Config\Reader">
         <param name="fileName">
             <value>pdf.xml</value>
@@ -141,8 +56,8 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <sales_setup>Magento\Sales\Model\Resource\Setup</sales_setup>
             </value>
diff --git a/app/code/Magento/Sales/i18n/de_DE.csv b/app/code/Magento/Sales/i18n/de_DE.csv
index f806b65693b..f907cc1d624 100644
--- a/app/code/Magento/Sales/i18n/de_DE.csv
+++ b/app/code/Magento/Sales/i18n/de_DE.csv
@@ -472,7 +472,7 @@
 "PDF Print-outs","PDF Ausdrucke"
 "PDF object is not specified.","PDF Objekt ist nicht spezifiziert."
 "PDF page object is not specified.","PDF Seitenobjekt ist nicht spezifiziert"
-"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default","PDF Gesamtmodell sollte \Magento\Sales\Model\Order\Pdf\Total\Default erweitern"
+"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal","PDF Gesamtmodell sollte \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal erweitern"
 "Package","Paket"
 "Package types are disregarded for USPS domestic shipments.","Paket-Typen werden für den USPS Inlandsversand außer Acht gelassen."
 "Packages","Verpackungen"
@@ -723,7 +723,7 @@
 "Tax Percent","Steuer Prozent"
 "Telephone","Telefon"
 "The Order State ""%s"" must not be set manually.","Der Auftragsstatus ""%s"" darf nicht manuell festgelegt werden."
-"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.","Das adresse total model sollte von \Magento\Sales\Model\Quote\Address\Total\Abstract erweitert werden."
+"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.","Das adresse total model sollte von \Magento\Sales\Model\Quote\Address\Total\AbstractTotal erweitert werden."
 "The billing agreement ""%s"" has been canceled.","Die Rechnungsvereinbarung ""%s"" wurde annuliert."
 "The billing agreement ""%s"" has been created.","Die Rechnungsvereinbarung ""%s"" wurde erstellt."
 "The coupon code has been accepted.","Der Gutscheincode ist akzeptiert worden."
@@ -794,7 +794,7 @@
 "Total Shipping Charges","Gesamte Versandkosten"
 "Total Tax","Gesamtsteuern"
 "Total Weight","Gesamtgewicht"
-"Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.","Das Gesamtmodell ist um \Magento\Sales\Model\Order\Total\Abstract zu erweitern."
+"Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.","Das Gesamtmodell ist um \Magento\Sales\Model\Order\Total\AbstractTotal zu erweitern."
 "Track Order","Bestellung nachverfolgen"
 "Track all shipment(s)","Alle Sendungen nachverfolgen"
 "Track all shipments","Allen Versand verfolgen"
diff --git a/app/code/Magento/Sales/i18n/en_US.csv b/app/code/Magento/Sales/i18n/en_US.csv
index f45d44effad..b8f1d6296a0 100644
--- a/app/code/Magento/Sales/i18n/en_US.csv
+++ b/app/code/Magento/Sales/i18n/en_US.csv
@@ -475,7 +475,7 @@
 "PDF Print-outs","PDF Print-outs"
 "PDF object is not specified.","PDF object is not specified."
 "PDF page object is not specified.","PDF page object is not specified."
-"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default","PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default"
+"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal","PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal"
 "Package","Package"
 "Package types are disregarded for USPS domestic shipments.","Package types are disregarded for USPS domestic shipments."
 "Packages","Packages"
@@ -726,7 +726,7 @@
 "Tax Percent","Tax Percent"
 "Telephone","Telephone"
 "The Order State ""%s"" must not be set manually.","The Order State ""%s"" must not be set manually."
-"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.","The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract."
+"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.","The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal."
 "The billing agreement ""%s"" has been canceled.","The billing agreement ""%s"" has been canceled."
 "The billing agreement ""%s"" has been created.","The billing agreement ""%s"" has been created."
 "The coupon code has been accepted.","The coupon code has been accepted."
@@ -797,7 +797,7 @@
 "Total Shipping Charges","Total Shipping Charges"
 "Total Tax","Total Tax"
 "Total Weight","Total Weight"
-"Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.","Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract."
+"Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.","Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal."
 "Track Order","Track Order"
 "Track all shipment(s)","Track all shipment(s)"
 "Track all shipments","Track all shipments"
diff --git a/app/code/Magento/Sales/i18n/es_ES.csv b/app/code/Magento/Sales/i18n/es_ES.csv
index 44dec421b4a..bc1d43e119b 100644
--- a/app/code/Magento/Sales/i18n/es_ES.csv
+++ b/app/code/Magento/Sales/i18n/es_ES.csv
@@ -472,7 +472,7 @@
 "PDF Print-outs","Impresos en PDF"
 "PDF object is not specified.","Objeto en PDF no especificado."
 "PDF page object is not specified.","Objeto de página en PDF no especificado."
-"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default","Módelo total en PDF debería extenderse Gestionar_Ventas_Modelo_Pedido_PDF_Total_Defecto"
+"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal","Módelo total en PDF debería extenderse \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal"
 "Package","Paquete"
 "Package types are disregarded for USPS domestic shipments.","Los tipos de paquetes no serán tenidos en cuenta por el servicio postal de USA para envíos nacionales."
 "Packages","Paquetes"
@@ -723,7 +723,7 @@
 "Tax Percent","Porcentaje de impuestos"
 "Telephone","Teléfono"
 "The Order State ""%s"" must not be set manually.","El estado del pedido ""%s"" no se debe establecer manualmente."
-"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.","El modelo de dirección total debería extenderse desde \Magento\Sales\Model\Quote\Address\Total\Abstract."
+"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.","El modelo de dirección total debería extenderse desde \Magento\Sales\Model\Quote\Address\Total\AbstractTotal."
 "The billing agreement ""%s"" has been canceled.","El acuerdo de facturación ""%s"" se ha cancelado."
 "The billing agreement ""%s"" has been created.","El acuerdo de facturación ""%s"" se ha creado."
 "The coupon code has been accepted.","El código del cupón se ha aceptado"
@@ -795,7 +795,7 @@ No hay etiquetas de envío para las %s seleccionadas. [[[if %s is feminine]]]"
 "Total Shipping Charges","Total de gastos de envío"
 "Total Tax","Impuesto Total"
 "Total Weight","Peso total"
-"Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.","El modelo total debe anpliarse desde \Magento\Sales\Model\Order\Total\Abstract"
+"Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.","El modelo total debe anpliarse desde \Magento\Sales\Model\Order\Total\AbstractTotal"
 "Track Order","Rastrear un Pedido"
 "Track all shipment(s)","Siga su envío(s)"
 "Track all shipments","Seguir todos los envíos"
diff --git a/app/code/Magento/Sales/i18n/fr_FR.csv b/app/code/Magento/Sales/i18n/fr_FR.csv
index 8eb39729130..8d1e957d987 100644
--- a/app/code/Magento/Sales/i18n/fr_FR.csv
+++ b/app/code/Magento/Sales/i18n/fr_FR.csv
@@ -472,7 +472,7 @@
 "PDF Print-outs","Impressions de PDF"
 "PDF object is not specified.","L'objet PDF n'est pas spécifié."
 "PDF page object is not specified.","La page de l'objet PDF n'est pas spécifiée."
-"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default","Modèle total de PDF devrait étendre \Magento\Sales\Model\Order\Pdf\Total\Default"
+"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal","Modèle total de PDF devrait étendre \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal"
 "Package","Colis"
 "Package types are disregarded for USPS domestic shipments.","Il n'est pas tenu compte du type de paquet  pour les expéditions nationales par UPS."
 "Packages","Paquets"
@@ -723,7 +723,7 @@
 "Tax Percent","Pourcentage de taxe"
 "Telephone","Téléphone"
 "The Order State ""%s"" must not be set manually.","L’État de la commande ""%s"" ne doit pas être défini manuellement."
-"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.","Le modèle total de l'adresse devrait être étendu à partir de \Magento\Sales\Model\Quote\Address\Total\Abstract."
+"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.","Le modèle total de l'adresse devrait être étendu à partir de \Magento\Sales\Model\Quote\Address\Total\AbstractTotal."
 "The billing agreement ""%s"" has been canceled.","L'accord de facturation ""%s"" a été annulé."
 "The billing agreement ""%s"" has been created.","L'accord de facturation ""%s"" a été créé."
 "The coupon code has been accepted.","Le code de coupon a été accepté"
@@ -794,7 +794,7 @@
 "Total Shipping Charges","Charges totales expédition"
 "Total Tax","Taxe totale"
 "Total Weight","Poids total"
-"Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.","Le modèle complet devrait étendu à partir de Magento_Ventes_Modèle_Commande_Total_Résumé."
+"Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.","Le modèle complet devrait étendu à partir de \Magento\Sales\Model\Order\Total\AbstractTotal."
 "Track Order","Suivre la commande"
 "Track all shipment(s)","Suivre toutes les commandes"
 "Track all shipments","Suivre toutes les livraisons"
diff --git a/app/code/Magento/Sales/i18n/nl_NL.csv b/app/code/Magento/Sales/i18n/nl_NL.csv
index 95471712352..3a3af6ce018 100644
--- a/app/code/Magento/Sales/i18n/nl_NL.csv
+++ b/app/code/Magento/Sales/i18n/nl_NL.csv
@@ -472,7 +472,7 @@
 "PDF Print-outs","PDF Print-outs"
 "PDF object is not specified.","PDF-object is niet gespecificeerd."
 "PDF page object is not specified.","PDF-pagina object wordt niet gespecificeerd."
-"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default","PDF totaal model moet het volgende uitbreiden: \Magento\Sales\Model\Order\Pdf\Total\Default"
+"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal","PDF totaal model moet het volgende uitbreiden: \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal"
 "Package","Pakket"
 "Package types are disregarded for USPS domestic shipments.","Pakketten worden buiten beschouwing gelaten voor binnenlandse zendingen van USPS."
 "Packages","Pakketen"
@@ -723,7 +723,7 @@
 "Tax Percent","Belastingspercentage"
 "Telephone","telefoon"
 "The Order State ""%s"" must not be set manually.","De bestellingsstaat ""%s"" moet niet handmatig ingesteld worden."
-"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.","Het totale adresmodel moet uitgebreid worden van \Magento\Sales\Model\Quote\Address\Total\Abstract."
+"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.","Het totale adresmodel moet uitgebreid worden van \Magento\Sales\Model\Quote\Address\Total\AbstractTotal."
 "The billing agreement ""%s"" has been canceled.","De afrekeningsovereenkomst ""%s"" is geannuleerd."
 "The billing agreement ""%s"" has been created.","De afrekeningsovereenkomst ""%s"" is aangemaakt."
 "The coupon code has been accepted.","De kortingsboncode is geaccepteerd."
@@ -794,7 +794,7 @@
 "Total Shipping Charges","Totaal Verzendkosten"
 "Total Tax","Totale Belasting"
 "Total Weight","Totaal Gewicht"
-"Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.","Totaal model moet worden uitgebreid van \Magento\Sales\Model\Order\Total\Abstract."
+"Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.","Totaal model moet worden uitgebreid van \Magento\Sales\Model\Order\Total\AbstractTotal."
 "Track Order","Track zending"
 "Track all shipment(s)","Volg alle zending(en)"
 "Track all shipments","Alle verzendingen volgen"
diff --git a/app/code/Magento/Sales/i18n/pt_BR.csv b/app/code/Magento/Sales/i18n/pt_BR.csv
index 2985ae65175..ce8f5786e1f 100644
--- a/app/code/Magento/Sales/i18n/pt_BR.csv
+++ b/app/code/Magento/Sales/i18n/pt_BR.csv
@@ -472,7 +472,7 @@
 "PDF Print-outs","Impressões de PDF"
 "PDF object is not specified.","Objeto de PDF não especificado."
 "PDF page object is not specified.","Página do objeto em PDF não especificado."
-"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default","A extensão total do modelo de PDF deve ser \Magento\Sales\Model\Order\Pdf\Total\Default"
+"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal","A extensão total do modelo de PDF deve ser \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal"
 "Package","Embalagem"
 "Package types are disregarded for USPS domestic shipments.","Desconsidera-se o tipo de encomenda para frete doméstico do correio dos EUA."
 "Packages","Embalagens"
@@ -723,7 +723,7 @@
 "Tax Percent","Porcentagem de Imposto"
 "Telephone","Telefone"
 "The Order State ""%s"" must not be set manually.","O Estado do Pedido ""%s"" não pode ser alterado manualmente"
-"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.","O modelo de endereço total deve ser alargado de \Magento\Sales\Model\Quote\Address\Total\Abstract."
+"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.","O modelo de endereço total deve ser alargado de \Magento\Sales\Model\Quote\Address\Total\AbstractTotal."
 "The billing agreement ""%s"" has been canceled.","O contrato de faturamento ""%s"" foi cancelado."
 "The billing agreement ""%s"" has been created.","O contrato de faturamento ""%s"" foi criado."
 "The coupon code has been accepted.","O código do cupão foi aceite."
@@ -794,7 +794,7 @@
 "Total Shipping Charges","Total dos Gastos de Envio"
 "Total Tax","Total dos Impostos"
 "Total Weight","Peso Total"
-"Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.","O modelo de total deve ser ampliado a partir de \Magento\Sales\Model\Order\Total\Abstract."
+"Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.","O modelo de total deve ser ampliado a partir de \Magento\Sales\Model\Order\Total\AbstractTotal."
 "Track Order","Rastrear Ordem"
 "Track all shipment(s)","Rastrear todas as remessas"
 "Track all shipments","Rastrear todos os envios"
diff --git a/app/code/Magento/Sales/i18n/zh_CN.csv b/app/code/Magento/Sales/i18n/zh_CN.csv
index 54750f6ac92..c74f9e5d29c 100644
--- a/app/code/Magento/Sales/i18n/zh_CN.csv
+++ b/app/code/Magento/Sales/i18n/zh_CN.csv
@@ -472,7 +472,7 @@
 "PDF Print-outs","PDF版打印输出"
 "PDF object is not specified.","PDF对象未指定。"
 "PDF page object is not specified.","PDF页面对象未指定。"
-"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default","PDF总模块必须扩展\Magento\Sales\Model\Order\Pdf\Total\Default"
+"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal","PDF总模块必须扩展\Magento\Sales\Model\Order\Pdf\Total\DefaultTotal"
 "Package","包裹"
 "Package types are disregarded for USPS domestic shipments.","USPS国内发货将忽略包装类型。"
 "Packages","包裹"
@@ -723,7 +723,7 @@
 "Tax Percent","税率"
 "Telephone","电话"
 "The Order State ""%s"" must not be set manually.","订单状态 ""%s"" 必须手工设置。"
-"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.","地址总模块应扩展自\Magento\Sales\Model\Quote\Address\Total\Abstract。"
+"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.","地址总模块应扩展自\Magento\Sales\Model\Quote\Address\Total\AbstractTotal。"
 "The billing agreement ""%s"" has been canceled.","该记账协议 ""%s"" 已被取消。"
 "The billing agreement ""%s"" has been created.","该记账协议 ""%s"" 已被创建。"
 "The coupon code has been accepted.","该代金券代码已被使用。"
@@ -794,7 +794,7 @@
 "Total Shipping Charges","总运费"
 "Total Tax","总税款"
 "Total Weight","总高度"
-"Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.","总模型应延长自 \Magento\Sales\Model\Order\Total\Abstract。"
+"Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.","总模型应延长自 \Magento\Sales\Model\Order\Total\AbstractTotal。"
 "Track Order","追踪订单"
 "Track all shipment(s)","追踪所有运送"
 "Track all shipments","追踪所有运单"
diff --git a/app/code/Magento/SalesRule/Model/Quote/Discount.php b/app/code/Magento/SalesRule/Model/Quote/Discount.php
index 70e73090bad..70c72d1f204 100644
--- a/app/code/Magento/SalesRule/Model/Quote/Discount.php
+++ b/app/code/Magento/SalesRule/Model/Quote/Discount.php
@@ -39,7 +39,7 @@ class Discount extends \Magento\Sales\Model\Quote\Address\Total\AbstractTotal
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -49,12 +49,12 @@ class Discount extends \Magento\Sales\Model\Quote\Address\Total\AbstractTotal
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\SalesRule\Model\Validator $validator
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\SalesRule\Model\Validator $validator
     ) {
diff --git a/app/code/Magento/SalesRule/Model/Resource/Report/Collection.php b/app/code/Magento/SalesRule/Model/Resource/Report/Collection.php
index d7e7d12df04..ddc9cd413f3 100644
--- a/app/code/Magento/SalesRule/Model/Resource/Report/Collection.php
+++ b/app/code/Magento/SalesRule/Model/Resource/Report/Collection.php
@@ -66,7 +66,7 @@ class Collection extends \Magento\Sales\Model\Resource\Report\Collection\Abstrac
 
     /**
      * @param \Magento\SalesRule\Model\Resource\Report\RuleFactory $ruleFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -74,7 +74,7 @@ class Collection extends \Magento\Sales\Model\Resource\Report\Collection\Abstrac
      */
     public function __construct(
         \Magento\SalesRule\Model\Resource\Report\RuleFactory $ruleFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/SalesRule/Model/Resource/Rule/Collection.php b/app/code/Magento/SalesRule/Model/Resource/Rule/Collection.php
index 210795e59be..7abb61b1d40 100644
--- a/app/code/Magento/SalesRule/Model/Resource/Rule/Collection.php
+++ b/app/code/Magento/SalesRule/Model/Resource/Rule/Collection.php
@@ -60,7 +60,7 @@ class Collection extends \Magento\Rule\Model\Resource\Rule\Collection\AbstractCo
     protected $_date;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -68,7 +68,7 @@ class Collection extends \Magento\Rule\Model\Resource\Rule\Collection\AbstractCo
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/SalesRule/Model/Rule.php b/app/code/Magento/SalesRule/Model/Rule.php
index 9910d3ffdd8..856b6198ee3 100644
--- a/app/code/Magento/SalesRule/Model/Rule.php
+++ b/app/code/Magento/SalesRule/Model/Rule.php
@@ -180,7 +180,7 @@ class Rule extends \Magento\Rule\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -215,7 +215,7 @@ class Rule extends \Magento\Rule\Model\AbstractModel
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Data\Form\Factory $formFactory
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -231,7 +231,7 @@ class Rule extends \Magento\Rule\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Data\Form\Factory $formFactory,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/SalesRule/Model/Rule/Action/Collection.php b/app/code/Magento/SalesRule/Model/Rule/Action/Collection.php
index eb321392176..0f3314c01b1 100644
--- a/app/code/Magento/SalesRule/Model/Rule/Action/Collection.php
+++ b/app/code/Magento/SalesRule/Model/Rule/Action/Collection.php
@@ -32,13 +32,13 @@ class Collection extends \Magento\Rule\Model\Action\Collection
     /**
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Rule\Model\ActionFactory $actionFactory
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Rule\Model\ActionFactory $actionFactory,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         array $data = array()
     ) {
         parent::__construct($viewUrl, $actionFactory, $layout, $data);
diff --git a/app/code/Magento/SalesRule/Model/Rule/Condition/Combine.php b/app/code/Magento/SalesRule/Model/Rule/Condition/Combine.php
index 18a046ad8f2..ad3d052bac0 100644
--- a/app/code/Magento/SalesRule/Model/Rule/Condition/Combine.php
+++ b/app/code/Magento/SalesRule/Model/Rule/Condition/Combine.php
@@ -32,7 +32,7 @@ class Combine extends \Magento\Rule\Model\Condition\Combine
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -42,13 +42,13 @@ class Combine extends \Magento\Rule\Model\Condition\Combine
     protected $_conditionAddress;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Rule\Model\Condition\Context $context
      * @param \Magento\SalesRule\Model\Rule\Condition\Address $conditionAddress
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Rule\Model\Condition\Context $context,
         \Magento\SalesRule\Model\Rule\Condition\Address $conditionAddress,
         array $data = array()
diff --git a/app/code/Magento/SalesRule/Model/Validator.php b/app/code/Magento/SalesRule/Model/Validator.php
index c6990303ddc..217433cadc9 100644
--- a/app/code/Magento/SalesRule/Model/Validator.php
+++ b/app/code/Magento/SalesRule/Model/Validator.php
@@ -87,7 +87,7 @@ class Validator extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -113,7 +113,7 @@ class Validator extends \Magento\Core\Model\AbstractModel
     /**
      * @param \Magento\SalesRule\Model\Resource\Coupon\UsageFactory $usageFactory
      * @param \Magento\SalesRule\Model\Resource\Rule\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -126,7 +126,7 @@ class Validator extends \Magento\Core\Model\AbstractModel
     public function __construct(
         \Magento\SalesRule\Model\Resource\Coupon\UsageFactory $usageFactory,
         \Magento\SalesRule\Model\Resource\Rule\CollectionFactory $collectionFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/SalesRule/etc/di.xml b/app/code/Magento/SalesRule/etc/di.xml
index 50f59b8a8d9..5b7b9e81705 100644
--- a/app/code/Magento/SalesRule/etc/di.xml
+++ b/app/code/Magento/SalesRule/etc/di.xml
@@ -28,33 +28,13 @@
     <type name="Magento\Sales\Model\Quote\Config">
         <plugin name="append_sales_rule_keys_to_quote" type="Magento\SalesRule\Model\Plugin\QuoteConfigProductAttributes"/>
     </type>
-    <type name="Magento\SalesRule\Model\Quote\Discount">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\SalesRule\Model\Rule\Condition\Combine">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\SalesRule\Model\Rule">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\SalesRule\Model\Validator">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\SalesRule\Model\Observer">
         <param name="backendSession">
             <instance type="Magento\Backend\Model\Session\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <salesrule_setup>Magento\SalesRule\Model\Resource\Setup</salesrule_setup>
             </value>
diff --git a/app/code/Magento/Sitemap/Model/Sitemap.php b/app/code/Magento/Sitemap/Model/Sitemap.php
index a5f44deca1b..a039fe8e276 100644
--- a/app/code/Magento/Sitemap/Model/Sitemap.php
+++ b/app/code/Magento/Sitemap/Model/Sitemap.php
@@ -150,7 +150,7 @@ class Sitemap extends \Magento\Core\Model\AbstractModel
     protected $_dateModel;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirModel;
 
@@ -160,7 +160,7 @@ class Sitemap extends \Magento\Core\Model\AbstractModel
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -174,9 +174,9 @@ class Sitemap extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Sitemap\Model\Resource\Catalog\ProductFactory $productFactory
      * @param \Magento\Sitemap\Model\Resource\Cms\PageFactory $cmsFactory
      * @param \Magento\Core\Model\Date $modelDate
-     * @param \Magento\Core\Model\Dir $dirModel
+     * @param \Magento\App\Dir $dirModel
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -191,9 +191,9 @@ class Sitemap extends \Magento\Core\Model\AbstractModel
         \Magento\Sitemap\Model\Resource\Catalog\ProductFactory $productFactory,
         \Magento\Sitemap\Model\Resource\Cms\PageFactory $cmsFactory,
         \Magento\Core\Model\Date $modelDate,
-        \Magento\Core\Model\Dir $dirModel,
+        \Magento\App\Dir $dirModel,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -574,7 +574,7 @@ class Sitemap extends \Magento\Core\Model\AbstractModel
      */
     protected function _getBaseDir()
     {
-        return $this->_dirModel->getDir(\Magento\Core\Model\Dir::ROOT);
+        return $this->_dirModel->getDir(\Magento\App\Dir::ROOT);
     }
 
     /**
diff --git a/app/code/Magento/Tax/Model/Calculation/Rate.php b/app/code/Magento/Tax/Model/Calculation/Rate.php
index 633398e1fc2..5f03df955fd 100644
--- a/app/code/Magento/Tax/Model/Calculation/Rate.php
+++ b/app/code/Magento/Tax/Model/Calculation/Rate.php
@@ -56,7 +56,7 @@ class Rate extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -71,7 +71,7 @@ class Rate extends \Magento\Core\Model\AbstractModel
     protected $_titleFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Directory\Model\RegionFactory $regionFactory
@@ -81,7 +81,7 @@ class Rate extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Directory\Model\RegionFactory $regionFactory,
diff --git a/app/code/Magento/Tax/Model/Calculation/Rule.php b/app/code/Magento/Tax/Model/Calculation/Rule.php
index be5a75deca6..b47da0fc18d 100644
--- a/app/code/Magento/Tax/Model/Calculation/Rule.php
+++ b/app/code/Magento/Tax/Model/Calculation/Rule.php
@@ -72,7 +72,7 @@ class Rule extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -82,7 +82,7 @@ class Rule extends \Magento\Core\Model\AbstractModel
     protected $_calculation;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxHelper
@@ -93,7 +93,7 @@ class Rule extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxHelper,
diff --git a/app/code/Magento/Tax/Model/Resource/Calculation/Rate/Collection.php b/app/code/Magento/Tax/Model/Resource/Calculation/Rate/Collection.php
index dc132fff1da..9bd5ec15ec5 100644
--- a/app/code/Magento/Tax/Model/Resource/Calculation/Rate/Collection.php
+++ b/app/code/Magento/Tax/Model/Resource/Calculation/Rate/Collection.php
@@ -38,7 +38,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
@@ -46,7 +46,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
diff --git a/app/code/Magento/Tax/Model/Resource/Report/Collection.php b/app/code/Magento/Tax/Model/Resource/Report/Collection.php
index d693f8076f7..59befbb9f76 100644
--- a/app/code/Magento/Tax/Model/Resource/Report/Collection.php
+++ b/app/code/Magento/Tax/Model/Resource/Report/Collection.php
@@ -54,14 +54,14 @@ class Collection extends \Magento\Sales\Model\Resource\Report\Collection\Abstrac
     protected $_selectedColumns    = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Tax/etc/di.xml b/app/code/Magento/Tax/etc/di.xml
index 6d801af8a74..1c1db1c00b2 100644
--- a/app/code/Magento/Tax/etc/di.xml
+++ b/app/code/Magento/Tax/etc/di.xml
@@ -29,18 +29,8 @@
             <instance type="Magento\Tax\Model\ConfigProxy" />
         </param>
     </type>
-    <type name="Magento\Tax\Model\Calculation\Rate">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Tax\Model\Calculation\Rule">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <tax_setup>Magento\Tax\Model\Resource\Setup</tax_setup>
             </value>
diff --git a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit.php b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit.php
index 1ab169911ee..05b45b24077 100644
--- a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit.php
+++ b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit.php
@@ -69,7 +69,7 @@ class Edit extends \Magento\Backend\Block\Widget\Form\Container
             $this->getLayout()->getBlock('page-title')->setPageTitle($this->getHeaderText());
         }
 
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = $this->_getCurrentTheme();
         if ($theme) {
             if ($theme->isEditable()) {
@@ -114,7 +114,7 @@ class Edit extends \Magento\Backend\Block\Widget\Form\Container
      */
     public function getHeaderText()
     {
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = $this->_getCurrentTheme();
         if ($theme->getId()) {
             $header = __('Theme: %1', $theme->getThemeTitle());
diff --git a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Form/Element/Image.php b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Form/Element/Image.php
index c7cee73b5bf..508abefa80f 100644
--- a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Form/Element/Image.php
+++ b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Form/Element/Image.php
@@ -40,7 +40,7 @@ class Image extends \Magento\Data\Form\Element\Image
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Data\Form\Element\Factory $factoryElement
      * @param \Magento\Data\Form\Element\CollectionFactory $factoryCollection
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\Theme\Image\Path $imagePath
      * @param array $attributes
      */
@@ -48,7 +48,7 @@ class Image extends \Magento\Data\Form\Element\Image
         \Magento\Core\Helper\Data $coreData,
         \Magento\Data\Form\Element\Factory $factoryElement,
         \Magento\Data\Form\Element\CollectionFactory $factoryCollection,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\Theme\Image\Path $imagePath,
         $attributes = array()
     ) {
diff --git a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/General.php b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/General.php
index d3d923ecb07..7cf6e9486f7 100644
--- a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/General.php
+++ b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/General.php
@@ -140,8 +140,8 @@ class General
             '"', '\'', $helper->jsonEncode($this->_getDefaultsInherited($themesCollections->addDefaultPattern()))
         ));
 
-        /** @var $parentTheme \Magento\Core\Model\Theme */
-        $parentTheme = $this->_objectManager->create('Magento\Core\Model\Theme');
+        /** @var $parentTheme \Magento\View\Design\ThemeInterface */
+        $parentTheme = $this->_objectManager->create('Magento\View\Design\ThemeInterface');
         if (!empty($formData['parent_id'])) {
             $parentTheme->load($formData['parent_id']);
         }
@@ -296,7 +296,7 @@ class General
     {
         $data = array('' => $this->_getDefaults());
 
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themesCollections as $theme) {
             $theme->load($theme->getThemePath(), 'theme_path');
             if (!$theme->getId()) {
diff --git a/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Theme.php b/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Theme.php
index 7076603b7c5..bee1b30b336 100644
--- a/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Theme.php
+++ b/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Theme.php
@@ -84,8 +84,8 @@ class Theme extends \Magento\Adminhtml\Controller\Action
     public function editAction()
     {
         $themeId = (int)$this->getRequest()->getParam('id');
-        /** @var $theme \Magento\Core\Model\Theme */
-        $theme = $this->_objectManager->create('Magento\Core\Model\Theme');
+        /** @var $theme \Magento\View\Design\ThemeInterface */
+        $theme = $this->_objectManager->create('Magento\View\Design\ThemeInterface');
         try {
             $theme->setType(\Magento\Core\Model\Theme::TYPE_VIRTUAL);
             if ($themeId && (!$theme->load($themeId)->getId() || !$theme->isVisible())) {
@@ -178,8 +178,8 @@ class Theme extends \Magento\Adminhtml\Controller\Action
         $themeId = $this->getRequest()->getParam('id');
         try {
             if ($themeId) {
-                /** @var $theme \Magento\Core\Model\Theme */
-                $theme = $this->_objectManager->create('Magento\Core\Model\Theme')->load($themeId);
+                /** @var $theme \Magento\View\Design\ThemeInterface */
+                $theme = $this->_objectManager->create('Magento\View\Design\ThemeInterface')->load($themeId);
                 if (!$theme->getId()) {
                     throw new \InvalidArgumentException(sprintf('We cannot find a theme with id "%1".', $themeId));
                 }
@@ -309,8 +309,8 @@ class Theme extends \Magento\Adminhtml\Controller\Action
         $helper = $this->_objectManager->get('Magento\Core\Helper\Theme');
         $fileName = $helper->urlDecode($file);
         try {
-            /** @var $theme \Magento\Core\Model\Theme */
-            $theme = $this->_objectManager->create('Magento\Core\Model\Theme')->load($themeId);
+            /** @var $theme \Magento\View\Design\ThemeInterface */
+            $theme = $this->_objectManager->create('Magento\View\Design\ThemeInterface')->load($themeId);
             if (!$theme->getId()) {
                 throw new \InvalidArgumentException(sprintf('We cannot find a theme with id "%1".', $themeId));
             }
diff --git a/app/code/Magento/Theme/Model/Config.php b/app/code/Magento/Theme/Model/Config.php
index 41f009df2d4..45d9a961678 100644
--- a/app/code/Magento/Theme/Model/Config.php
+++ b/app/code/Magento/Theme/Model/Config.php
@@ -49,7 +49,7 @@ class Config
     /**
      * Application event manager
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -67,7 +67,7 @@ class Config
      * @param \Magento\Core\Model\Config\Value $configData
      * @param \Magento\Core\Model\Config\Storage\WriterInterface $configWriter
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Cache\FrontendInterface $configCache
      * @param \Magento\Cache\FrontendInterface $layoutCache
      */
@@ -75,7 +75,7 @@ class Config
         \Magento\Core\Model\Config\Value $configData,
         \Magento\Core\Model\Config\Storage\WriterInterface $configWriter,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Cache\FrontendInterface $configCache,
         \Magento\Cache\FrontendInterface $layoutCache
     ) {
@@ -90,7 +90,7 @@ class Config
     /**
      * Assign theme to the stores
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param array $stores
      * @param string $scope
      * @return $this
diff --git a/app/code/Magento/Theme/Model/Config/Customization.php b/app/code/Magento/Theme/Model/Config/Customization.php
index c488faf17de..e86ad5868cb 100644
--- a/app/code/Magento/Theme/Model/Config/Customization.php
+++ b/app/code/Magento/Theme/Model/Config/Customization.php
@@ -37,7 +37,7 @@ class Customization
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -64,12 +64,12 @@ class Customization
 
     /**
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager,
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Resource\Theme\CollectionFactory $collectionFactory
      */
     public function __construct(
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Resource\Theme\CollectionFactory $collectionFactory
     ) {
         $this->_storeManager    = $storeManager;
@@ -128,7 +128,7 @@ class Customization
     /**
      * Check if current theme has assigned to any store
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param null|\Magento\Core\Model\Store $store
      * @return bool
      */
@@ -154,7 +154,7 @@ class Customization
     /**
      * Is theme assigned to specific store
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param \Magento\Core\Model\Store $store
      * @return bool
      */
@@ -197,7 +197,7 @@ class Customization
         $this->_assignedTheme = array();
         $this->_unassignedTheme = array();
 
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themeCollection as $theme) {
             if (isset($assignedThemes[$theme->getId()])) {
                 $theme->setAssignedStores($assignedThemes[$theme->getId()]);
diff --git a/app/code/Magento/Theme/Model/Theme/SingleFile.php b/app/code/Magento/Theme/Model/Theme/SingleFile.php
index e63926c8cec..7fba79bb644 100644
--- a/app/code/Magento/Theme/Model/Theme/SingleFile.php
+++ b/app/code/Magento/Theme/Model/Theme/SingleFile.php
@@ -47,11 +47,11 @@ class SingleFile
     /**
      * Creates or updates custom single file which belong to a selected theme
      *
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $fileContent
      * @return \Magento\Core\Model\Theme\FileInterface
      */
-    public function update(\Magento\Core\Model\Theme $themeModel, $fileContent)
+    public function update(\Magento\View\Design\ThemeInterface $themeModel, $fileContent)
     {
         $customFiles = $themeModel->getCustomization()->getFilesByType($this->_fileService->getType());
         $customCss = reset($customFiles);
diff --git a/app/code/Magento/Core/Model/Url/Validator.php b/app/code/Magento/Url/Validator.php
similarity index 98%
rename from app/code/Magento/Core/Model/Url/Validator.php
rename to app/code/Magento/Url/Validator.php
index aebca7215ef..53fc99aeb03 100644
--- a/app/code/Magento/Core/Model/Url/Validator.php
+++ b/app/code/Magento/Url/Validator.php
@@ -31,7 +31,7 @@
  * @package    Magento_Core
  * @author     Magento Core Team <core@magentocommerce.com>
  */
-namespace Magento\Core\Model\Url;
+namespace Magento\Url;
 
 class Validator extends \Zend_Validate_Abstract
 {
diff --git a/app/code/Magento/User/Model/User.php b/app/code/Magento/User/Model/User.php
index 04ce6a8df50..2d2f3b918b1 100644
--- a/app/code/Magento/User/Model/User.php
+++ b/app/code/Magento/User/Model/User.php
@@ -124,7 +124,7 @@ class User
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -161,7 +161,7 @@ class User
      *
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\User\Helper\Data $userData
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Sender $sender
@@ -179,7 +179,7 @@ class User
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\User\Helper\Data $userData,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Sender $sender,
@@ -232,7 +232,7 @@ class User
     {
         parent::__wakeup();
         $objectManager = \Magento\Core\Model\ObjectManager::getInstance();
-        $this->_eventManager    = $objectManager->get('Magento\Core\Model\Event\Manager');
+        $this->_eventManager    = $objectManager->get('Magento\Event\ManagerInterface');
         $this->_sender          = $objectManager->get('Magento\Core\Model\Sender');
         $this->_coreData        = $objectManager->get('Magento\Core\Helper\Data');
         $this->_userData        = $objectManager->get('Magento\User\Helper\Data');
diff --git a/app/code/Magento/User/etc/adminhtml/di.xml b/app/code/Magento/User/etc/adminhtml/di.xml
index 0b52ec3eb00..3e4b2790284 100644
--- a/app/code/Magento/User/etc/adminhtml/di.xml
+++ b/app/code/Magento/User/etc/adminhtml/di.xml
@@ -24,6 +24,7 @@
  */
 -->
 <config>
+    <preference for="Magento\Backend\Model\Auth\Credential\StorageInterface" type="Magento\User\Model\User" />
     <type name="Magento\Acl\Builder">
         <param name="ruleLoader">
             <instance type="Magento\User\Model\Acl\Loader\Rule" />
diff --git a/app/code/Magento/User/etc/di.xml b/app/code/Magento/User/etc/di.xml
index 8c4fd483e26..624736d04c8 100644
--- a/app/code/Magento/User/etc/di.xml
+++ b/app/code/Magento/User/etc/di.xml
@@ -24,11 +24,6 @@
  */
 -->
 <config>
-    <type name="Magento\User\Model\User" shared="false">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\User\Model\Role" shared="false" />
     <type name="Magento\User\Model\Resource\Rules">
         <param name="rootResource">
@@ -43,18 +38,8 @@
             <instance type="Magento\Core\Model\Acl\Cache\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Config">
-        <param name="areas">
-            <value>
-                <adminhtml>
-                    <auth_credential_storage>Magento\User\Model\User</auth_credential_storage>
-                </adminhtml>
-            </value>
-        </param>
-    </type>
-    <preference for="Magento\Backend\Model\Auth\Credential\StorageInterface" type="Magento\User\Model\User" />
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <user_setup>Magento\User\Model\Resource\Setup</user_setup>
             </value>
diff --git a/app/code/Magento/Webapi/Controller/Request.php b/app/code/Magento/Webapi/Controller/Request.php
index 86d50a8e7d9..0e951a658b3 100644
--- a/app/code/Magento/Webapi/Controller/Request.php
+++ b/app/code/Magento/Webapi/Controller/Request.php
@@ -25,20 +25,25 @@
  */
 namespace Magento\Webapi\Controller;
 
-class Request extends \Zend_Controller_Request_Http
+class Request extends \Zend_Controller_Request_Http implements \Magento\App\RequestInterface
 {
     /**
      * Modify pathInfo: strip down the front name and query parameters.
      *
-     * @param \Magento\Core\Model\App $app
-     * @param null|string|Zend_Uri $uri
+     * @param \Magento\App\AreaList $areaList
+     * @param \Magento\Config\ScopeInterface $configScope
+     * @param null|string|\Zend_Uri $uri
      */
-    public function __construct(\Magento\Core\Model\App $app, $uri = null)
-    {
+    public function __construct(
+        \Magento\App\AreaList $areaList,
+        \Magento\Config\ScopeInterface $configScope,
+        $uri = null
+    ) {
         parent::__construct($uri);
+        $areaFrontName = $areaList->getFrontName($configScope->getCurrentScope());
         $this->_pathInfo = $this->_requestUri;
         /** Remove base url and area from path */
-        $this->_pathInfo = preg_replace("#.*?/{$app->getConfig()->getAreaFrontName()}/?#", '/', $this->_pathInfo);
+        $this->_pathInfo = preg_replace("#.*?/{$areaFrontName}/?#", '/', $this->_pathInfo);
         /** Remove GET parameters from path */
         $this->_pathInfo = preg_replace('#\?.*#', '', $this->_pathInfo);
     }
diff --git a/app/code/Magento/Webapi/Controller/Response.php b/app/code/Magento/Webapi/Controller/Response.php
index 2216ac18424..602b8688d9f 100644
--- a/app/code/Magento/Webapi/Controller/Response.php
+++ b/app/code/Magento/Webapi/Controller/Response.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\Webapi\Controller;
 
-class Response extends \Zend_Controller_Response_Http
+class Response extends \Zend_Controller_Response_Http implements \Magento\App\ResponseInterface
 {
     /**
      * Character set which must be used in response.
diff --git a/app/code/Magento/Webapi/Controller/Rest.php b/app/code/Magento/Webapi/Controller/Rest.php
index 7cdd4ccb85a..c90f2a46d9b 100644
--- a/app/code/Magento/Webapi/Controller/Rest.php
+++ b/app/code/Magento/Webapi/Controller/Rest.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\Webapi\Controller;
 
-class Rest implements \Magento\Core\Controller\FrontInterface
+class Rest implements \Magento\App\FrontControllerInterface
 {
     /** @var \Magento\Webapi\Controller\Rest\Router */
     protected $_router;
@@ -39,7 +39,7 @@ class Rest implements \Magento\Core\Controller\FrontInterface
     /** @var \Magento\ObjectManager */
     protected $_objectManager;
 
-    /** @var \Magento\Core\Model\App\State */
+    /** @var \Magento\App\State */
     protected $_appState;
 
     /** @var \Magento\Oauth\Service\OauthV1Interface */
@@ -55,7 +55,7 @@ class Rest implements \Magento\Core\Controller\FrontInterface
      * @param \Magento\Webapi\Controller\Rest\Response $response
      * @param \Magento\Webapi\Controller\Rest\Router $router
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Oauth\Service\OauthV1Interface $oauthService
      * @param \Magento\Oauth\Helper\Data $oauthHelper
      */
@@ -64,7 +64,7 @@ class Rest implements \Magento\Core\Controller\FrontInterface
         \Magento\Webapi\Controller\Rest\Response $response,
         \Magento\Webapi\Controller\Rest\Router $router,
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Oauth\Service\OauthV1Interface $oauthService,
         \Magento\Oauth\Helper\Data $oauthHelper
     ) {
@@ -88,12 +88,16 @@ class Rest implements \Magento\Core\Controller\FrontInterface
     }
 
     /**
-     * Handle REST request.
+     * Handle REST request
      *
-     * @return \Magento\Webapi\Controller\Rest
+     * @param \Magento\App\RequestInterface $request
+     * @return $this
      */
-    public function dispatch()
+    public function dispatch(\Magento\App\RequestInterface $request)
     {
+        $pathParts = explode('/', trim($request->getPathInfo(), '/'));
+        array_shift($pathParts);
+        $request->setPathInfo('/' . implode('/', $pathParts));
         try {
             if (!$this->_appState->isInstalled()) {
                 throw new \Magento\Webapi\Exception(__('Magento is not yet installed'));
diff --git a/app/code/Magento/Webapi/Controller/Rest/Request.php b/app/code/Magento/Webapi/Controller/Rest/Request.php
index 43710adcbd8..111ac968cac 100644
--- a/app/code/Magento/Webapi/Controller/Rest/Request.php
+++ b/app/code/Magento/Webapi/Controller/Rest/Request.php
@@ -47,22 +47,21 @@ class Request extends \Magento\Webapi\Controller\Request
     /** @var \Magento\Webapi\Controller\Rest\Request\Deserializer\Factory */
     protected $_deserializerFactory;
 
-    /** @var \Magento\Core\Model\App */
-    protected $_application;
-
     /**
-     * Initialize dependencies.
+     * Initialize dependencies
      *
-     * @param \Magento\Core\Model\App $application
+     * @param \Magento\App\AreaList $areaList
+     * @param \Magento\Config\ScopeInterface $configScope
      * @param \Magento\Webapi\Controller\Rest\Request\Deserializer\Factory $deserializerFactory
-     * @param string|null $uri
+     * @param null|string $uri
      */
     public function __construct(
-        \Magento\Core\Model\App $application,
+        \Magento\App\AreaList $areaList,
+        \Magento\Config\ScopeInterface $configScope,
         \Magento\Webapi\Controller\Rest\Request\Deserializer\Factory $deserializerFactory,
         $uri = null
     ) {
-        parent::__construct($application, $uri);
+        parent::__construct($areaList, $configScope, $uri);
         $this->_deserializerFactory = $deserializerFactory;
     }
 
diff --git a/app/code/Magento/Webapi/Controller/Soap.php b/app/code/Magento/Webapi/Controller/Soap.php
index 63b1ce8de61..174c12e804f 100644
--- a/app/code/Magento/Webapi/Controller/Soap.php
+++ b/app/code/Magento/Webapi/Controller/Soap.php
@@ -25,7 +25,10 @@
  */
 namespace Magento\Webapi\Controller;
 
-class Soap implements \Magento\Core\Controller\FrontInterface
+/**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+class Soap implements \Magento\App\FrontControllerInterface
 {
     /**#@+
      * Content types used for responses processed by SOAP web API.
@@ -49,7 +52,7 @@ class Soap implements \Magento\Core\Controller\FrontInterface
     /** @var \Magento\Webapi\Controller\ErrorProcessor */
     protected $_errorProcessor;
 
-    /** @var \Magento\Core\Model\App\State */
+    /** @var \Magento\App\State */
     protected $_appState;
 
     /** @var \Magento\Core\Model\App */
@@ -69,7 +72,7 @@ class Soap implements \Magento\Core\Controller\FrontInterface
      * @param \Magento\Webapi\Model\Soap\Wsdl\Generator $wsdlGenerator
      * @param \Magento\Webapi\Model\Soap\Server $soapServer
      * @param \Magento\Webapi\Controller\ErrorProcessor $errorProcessor
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\App $application
      * @param \Magento\Oauth\Service\OauthV1Interface $oauthService
      * @param \Magento\Oauth\Helper\Service $oauthHelper
@@ -80,7 +83,7 @@ class Soap implements \Magento\Core\Controller\FrontInterface
         \Magento\Webapi\Model\Soap\Wsdl\Generator $wsdlGenerator,
         \Magento\Webapi\Model\Soap\Server $soapServer,
         \Magento\Webapi\Controller\ErrorProcessor $errorProcessor,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\App $application,
         \Magento\Oauth\Service\OauthV1Interface $oauthService,
         \Magento\Oauth\Helper\Service $oauthHelper
@@ -107,12 +110,14 @@ class Soap implements \Magento\Core\Controller\FrontInterface
     }
 
     /**
-     * Dispatch request to SOAP endpoint.
-     *
-     * @return \Magento\Webapi\Controller\Soap
+     * @param \Magento\App\RequestInterface $request
+     * @return $this
      */
-    public function dispatch()
+    public function dispatch(\Magento\App\RequestInterface $request)
     {
+        $pathParts = explode('/', trim($request->getPathInfo(), '/'));
+        array_shift($pathParts);
+        $request->setPathInfo('/' . implode('/', $pathParts));
         try {
             if (!$this->_appState->isInstalled()) {
                 throw new \Magento\Webapi\Exception(__('Magento is not yet installed'));
diff --git a/app/code/Magento/Webapi/Controller/Soap/Request.php b/app/code/Magento/Webapi/Controller/Soap/Request.php
index 199b8215bc8..20e6e32b799 100644
--- a/app/code/Magento/Webapi/Controller/Soap/Request.php
+++ b/app/code/Magento/Webapi/Controller/Soap/Request.php
@@ -27,20 +27,6 @@ namespace Magento\Webapi\Controller\Soap;
 
 class Request extends \Magento\Webapi\Controller\Request
 {
-    /** @var \Magento\Core\Model\App */
-    protected $_application;
-
-    /**
-     * Initialize dependencies.
-     *
-     * @param \Magento\Core\Model\App $application
-     * @param string|null $uri
-     */
-    public function __construct(\Magento\Core\Model\App $application, $uri = null)
-    {
-        parent::__construct($application, $uri);
-    }
-
     /**
      * Identify versions of resources that should be used for API configuration generation.
      * TODO : This is getting called twice within a single request. Need to cache.
diff --git a/app/code/Magento/Webapi/Model/Acl/Role/InRoleUserUpdater.php b/app/code/Magento/Webapi/Model/Acl/Role/InRoleUserUpdater.php
index f424c4653da..76b6d57ce5b 100644
--- a/app/code/Magento/Webapi/Model/Acl/Role/InRoleUserUpdater.php
+++ b/app/code/Magento/Webapi/Model/Acl/Role/InRoleUserUpdater.php
@@ -40,11 +40,11 @@ class InRoleUserUpdater implements \Magento\Core\Model\Layout\Argument\UpdaterIn
     /**
      * Constructor.
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Webapi\Model\Resource\Acl\User $userResource
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Webapi\Model\Resource\Acl\User $userResource
     ) {
         $this->_roleId = (int)$request->getParam('role_id');
diff --git a/app/code/Magento/Webapi/Model/Acl/Role/UsersUpdater.php b/app/code/Magento/Webapi/Model/Acl/Role/UsersUpdater.php
index 687706bfdf1..cefc4bfa970 100644
--- a/app/code/Magento/Webapi/Model/Acl/Role/UsersUpdater.php
+++ b/app/code/Magento/Webapi/Model/Acl/Role/UsersUpdater.php
@@ -46,18 +46,18 @@ class UsersUpdater implements \Magento\Core\Model\Layout\Argument\UpdaterInterfa
     protected $_roleId;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_inRoleUsersFilter;
 
     /**
      * Constructor.
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Backend\Helper\Data $backendHelper
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Backend\Helper\Data $backendHelper
     ) {
         $this->_roleId = (int)$request->getParam('role_id');
@@ -67,12 +67,12 @@ class UsersUpdater implements \Magento\Core\Model\Layout\Argument\UpdaterInterfa
     /**
      * Parse $_inRoleUsersFilter value from request
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Backend\Helper\Data $backendHelper
      * @return int
      */
     protected function _parseInRoleUsersFilter(
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Backend\Helper\Data $backendHelper
     ) {
         $result = self::IN_ROLE_USERS_ANY;
diff --git a/app/code/Magento/Webapi/Model/Acl/User/RoleUpdater.php b/app/code/Magento/Webapi/Model/Acl/User/RoleUpdater.php
index 28ce952be5e..5e3b3e31009 100644
--- a/app/code/Magento/Webapi/Model/Acl/User/RoleUpdater.php
+++ b/app/code/Magento/Webapi/Model/Acl/User/RoleUpdater.php
@@ -40,11 +40,11 @@ class RoleUpdater implements \Magento\Core\Model\Layout\Argument\UpdaterInterfac
     /**
      * Constructor.
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Webapi\Model\Acl\User\Factory $userFactory
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Webapi\Model\Acl\User\Factory $userFactory
     ) {
         $this->_userId = (int)$request->getParam('user_id');
diff --git a/app/code/Magento/Webapi/Model/Soap/Config.php b/app/code/Magento/Webapi/Model/Soap/Config.php
index fb72756022e..dc1053dbdcf 100644
--- a/app/code/Magento/Webapi/Model/Soap/Config.php
+++ b/app/code/Magento/Webapi/Model/Soap/Config.php
@@ -39,7 +39,7 @@ class Config
     /** @var \Magento\Filesystem */
     protected $_filesystem;
 
-    /** @var \Magento\Core\Model\Dir */
+    /** @var \Magento\App\Dir */
     protected $_dir;
 
     /** @var \Magento\Webapi\Model\Config */
@@ -66,13 +66,13 @@ class Config
     /**
      * @param \Magento\Core\Model\ObjectManager $objectManager
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Webapi\Model\Config $config
      */
     public function __construct(
         \Magento\Core\Model\ObjectManager $objectManager,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Webapi\Model\Config $config
     ) {
         $this->_filesystem = $filesystem;
@@ -209,7 +209,7 @@ class Config
     public function getServiceSchemaDOM($serviceClass)
     {
          // TODO: Check if Service specific XSD is already cached
-        $modulesDir = $this->_dir->getDir(\Magento\Core\Model\Dir::MODULES);
+        $modulesDir = $this->_dir->getDir(\Magento\App\Dir::MODULES);
 
         // TODO: Change pattern to match interface instead of class. Think about sub-services.
         if (!preg_match(\Magento\Webapi\Model\Config::SERVICE_CLASS_PATTERN, $serviceClass, $matches)) {
diff --git a/app/code/Magento/Webapi/Model/Soap/Server.php b/app/code/Magento/Webapi/Model/Soap/Server.php
index adfeb3159e7..79d149eaecd 100644
--- a/app/code/Magento/Webapi/Model/Soap/Server.php
+++ b/app/code/Magento/Webapi/Model/Soap/Server.php
@@ -39,8 +39,15 @@ class Server
     const REQUEST_PARAM_SERVICES = 'services';
     const REQUEST_PARAM_WSDL = 'wsdl';
 
-    /** @var \Magento\Core\Model\Config */
-    protected $_applicationConfig;
+    /**
+     * @var \Magento\App\AreaLIst
+     */
+    protected $_areaList;
+
+    /**
+     * @var \Magento\Config\ScopeInterface
+     */
+    protected $_configScope;
 
     /** @var \Magento\DomDocument\Factory */
     protected $_domDocumentFactory;
@@ -57,15 +64,17 @@ class Server
     /**
      * Initialize dependencies, initialize WSDL cache.
      *
-     * @param \Magento\Core\Model\Config $applicationConfig
+     * @param \Magento\App\AreaList $areaList
+     * @param \Magento\Config\ScopeInterface $configScope
      * @param \Magento\Webapi\Controller\Soap\Request $request
      * @param \Magento\DomDocument\Factory $domDocumentFactory
-     * @param \Magento\Core\Model\StoreManagerInterface
-     * @param \Magento\Webapi\Model\Soap\Server\Factory
-     * @throws \Magento\Webapi\Exception with invalid SOAP extension
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\Webapi\Model\Soap\Server\Factory $soapServerFactory
+     * @throws \Magento\Webapi\Exception
      */
     public function __construct(
-        \Magento\Core\Model\Config $applicationConfig,
+        \Magento\App\AreaList $areaList,
+        \Magento\Config\ScopeInterface $configScope,
         \Magento\Webapi\Controller\Soap\Request $request,
         \Magento\DomDocument\Factory $domDocumentFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
@@ -75,7 +84,8 @@ class Server
             throw new \Magento\Webapi\Exception('SOAP extension is not loaded.', 0,
                 \Magento\Webapi\Exception::HTTP_INTERNAL_ERROR);
         }
-        $this->_applicationConfig = $applicationConfig;
+        $this->_areaList = $areaList;
+        $this->_configScope = $configScope;
         $this->_request = $request;
         $this->_domDocumentFactory = $domDocumentFactory;
         $this->_storeManager = $storeManager;
@@ -144,7 +154,8 @@ class Server
      */
     public function getEndpointUri()
     {
-        return $this->_storeManager->getStore()->getBaseUrl() . $this->_applicationConfig->getAreaFrontName();
+        return $this->_storeManager->getStore()->getBaseUrl()
+            . $this->_areaList->getFrontName($this->_configScope->getCurrentScope());
     }
 
     /**
diff --git a/app/code/Magento/Webapi/etc/di.xml b/app/code/Magento/Webapi/etc/di.xml
index 6272d448a15..f217e427c6b 100644
--- a/app/code/Magento/Webapi/etc/di.xml
+++ b/app/code/Magento/Webapi/etc/di.xml
@@ -135,18 +135,14 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Config">
+    <type name="Magento\App\AreaList">
         <param name="areas">
             <value>
                 <webapi_rest>
                     <frontName>rest</frontName>
-                    <front_controller>Magento\Webapi\Controller\Rest</front_controller>
-                    <request_object>Magento\Webapi\Controller\Rest\Request</request_object>
                 </webapi_rest>
                 <webapi_soap>
                     <frontName>soap</frontName>
-                    <front_controller>Magento\Webapi\Controller\Soap</front_controller>
-                    <request_object>Magento\Webapi\Controller\Soap\Request</request_object>
                 </webapi_soap>
             </value>
         </param>
diff --git a/app/code/Magento/CurrencySymbol/etc/di.xml b/app/code/Magento/Webapi/etc/webapi_rest/di.xml
similarity index 82%
rename from app/code/Magento/CurrencySymbol/etc/di.xml
rename to app/code/Magento/Webapi/etc/webapi_rest/di.xml
index 30e1df568a5..82ddb2984fc 100644
--- a/app/code/Magento/CurrencySymbol/etc/di.xml
+++ b/app/code/Magento/Webapi/etc/webapi_rest/di.xml
@@ -24,9 +24,5 @@
  */
 -->
 <config>
-    <type name="Magento\CurrencySymbol\Model\System\Currencysymbol">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
+    <preference for="Magento\App\FrontControllerInterface" type="Magento\Webapi\Controller\Rest" />
 </config>
diff --git a/app/code/Magento/Webapi/etc/webapi_soap/di.xml b/app/code/Magento/Webapi/etc/webapi_soap/di.xml
new file mode 100644
index 00000000000..1173aa145ee
--- /dev/null
+++ b/app/code/Magento/Webapi/etc/webapi_soap/di.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<config>
+    <preference for="Magento\App\FrontControllerInterface" type="Magento\Webapi\Controller\Soap" />
+</config>
diff --git a/app/code/Magento/Webhook/Model/Resource/Event/Collection.php b/app/code/Magento/Webhook/Model/Resource/Event/Collection.php
index b521fde0509..6c96625c687 100644
--- a/app/code/Magento/Webhook/Model/Resource/Event/Collection.php
+++ b/app/code/Magento/Webhook/Model/Resource/Event/Collection.php
@@ -43,7 +43,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_timeoutIdling;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -51,7 +51,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param null $timeoutIdling
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Webhook/Model/Resource/Job/Collection.php b/app/code/Magento/Webhook/Model/Resource/Job/Collection.php
index ae805172f7f..604bad8b35b 100644
--- a/app/code/Magento/Webhook/Model/Resource/Job/Collection.php
+++ b/app/code/Magento/Webhook/Model/Resource/Job/Collection.php
@@ -43,7 +43,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_timeoutIdling;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -51,7 +51,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param null $timeoutIdling
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Webhook/Model/Resource/Subscription/Collection.php b/app/code/Magento/Webhook/Model/Resource/Subscription/Collection.php
index e1dfc30c332..e8511b73377 100644
--- a/app/code/Magento/Webhook/Model/Resource/Subscription/Collection.php
+++ b/app/code/Magento/Webhook/Model/Resource/Subscription/Collection.php
@@ -38,7 +38,7 @@ class Collection
 
     /**
      * @param \Magento\Webhook\Model\Resource\Endpoint $endpointResource
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -46,7 +46,7 @@ class Collection
      */
     public function __construct(
         \Magento\Webhook\Model\Resource\Endpoint $endpointResource,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Webhook/Model/Resource/Subscription/Grid/Collection.php b/app/code/Magento/Webhook/Model/Resource/Subscription/Grid/Collection.php
index 78b0a91fd2d..4fae380813b 100644
--- a/app/code/Magento/Webhook/Model/Resource/Subscription/Grid/Collection.php
+++ b/app/code/Magento/Webhook/Model/Resource/Subscription/Grid/Collection.php
@@ -33,7 +33,7 @@ class Collection
     /**
      * @param \Magento\Webhook\Model\Subscription\Config $subscriptionConfig
      * @param \Magento\Webhook\Model\Resource\Endpoint $endpointResource
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -42,7 +42,7 @@ class Collection
     public function __construct(
         \Magento\Webhook\Model\Subscription\Config $subscriptionConfig,
         \Magento\Webhook\Model\Resource\Endpoint $endpointResource,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Weee/Model/Observer.php b/app/code/Magento/Weee/Model/Observer.php
index 19dd75fa139..bc5b7a1543d 100644
--- a/app/code/Magento/Weee/Model/Observer.php
+++ b/app/code/Magento/Weee/Model/Observer.php
@@ -46,12 +46,12 @@ class Observer extends \Magento\Core\Model\AbstractModel
     protected $_weeeTax;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Weee\Model\Tax $weeeTax
      * @param \Magento\Weee\Helper\Data $weeeData
      * @param \Magento\Core\Model\Context $context
@@ -62,7 +62,7 @@ class Observer extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Weee\Model\Tax $weeeTax,
         \Magento\Weee\Helper\Data $weeeData,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Weee/etc/di.xml b/app/code/Magento/Weee/etc/di.xml
index 2a731efda32..fb4b4836fa5 100644
--- a/app/code/Magento/Weee/etc/di.xml
+++ b/app/code/Magento/Weee/etc/di.xml
@@ -40,8 +40,8 @@
             <instance type="Magento\Weee\Helper\Data\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <weee_setup>Magento\Sales\Model\Resource\Setup</weee_setup>
             </value>
diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Container.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Container.php
index 0111d866002..b8a9d8f80bb 100644
--- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Container.php
+++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Container.php
@@ -37,9 +37,9 @@ namespace Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser;
 class Container extends \Magento\Core\Block\Html\Select
 {
     /**
-     * @var \Magento\Core\Model\Layout\MergeFactory
+     * @var \Magento\View\Layout\ProcessorFactory
      */
-    protected $_layoutMergeFactory;
+    protected $_layoutProcessorFactory;
 
     /**
      * @var \Magento\Core\Model\Resource\Theme\CollectionFactory
@@ -48,17 +48,18 @@ class Container extends \Magento\Core\Block\Html\Select
 
     /**
      * @param \Magento\Core\Block\Context $context
-     * @param \Magento\Core\Model\Layout\MergeFactory $layoutMergeFactory
+     * @param \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory
      * @param \Magento\Core\Model\Resource\Theme\CollectionFactory $themesFactory
      * @param array $data
      */
+
     public function __construct(
         \Magento\Core\Block\Context $context,
-        \Magento\Core\Model\Layout\MergeFactory $layoutMergeFactory,
+        \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory,
         \Magento\Core\Model\Resource\Theme\CollectionFactory $themesFactory,
         array $data = array()
     ) {
-        $this->_layoutMergeFactory = $layoutMergeFactory;
+        $this->_layoutProcessorFactory = $layoutProcessorFactory;
         $this->_themesFactory = $themesFactory;
         parent::__construct($context, $data);
     }
@@ -85,12 +86,12 @@ class Container extends \Magento\Core\Block\Html\Select
             $layoutMergeParams = array(
                 'theme' => $this->_getThemeInstance($this->getTheme()),
             );
-            /** @var $layoutMerge \Magento\Core\Model\Layout\Merge */
-            $layoutMerge = $this->_layoutMergeFactory->create($layoutMergeParams);
-            $layoutMerge->addPageHandles(array($this->getLayoutHandle()));
-            $layoutMerge->load();
+            /** @var $layoutProcessor \Magento\View\Layout\ProcessorInterface */
+            $layoutProcessor = $this->_layoutProcessorFactory->create($layoutMergeParams);
+            $layoutProcessor->addPageHandles(array($this->getLayoutHandle()));
+            $layoutProcessor->load();
 
-            $containers = $layoutMerge->getContainers();
+            $containers = $layoutProcessor->getContainers();
             if ($this->getAllowedContainers()) {
                 foreach (array_keys($containers) as $containerName) {
                     if (!in_array($containerName, $this->getAllowedContainers())) {
diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Layout.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Layout.php
index 5b54f159156..c0e1f9d9ae6 100644
--- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Layout.php
+++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Layout.php
@@ -35,9 +35,9 @@ namespace Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser;
 class Layout extends \Magento\Core\Block\Html\Select
 {
     /**
-     * @var \Magento\Core\Model\Layout\MergeFactory
+     * @var \Magento\View\Layout\ProcessorFactory
      */
-    protected $_layoutMergeFactory;
+    protected $_layoutProcessorFactory;
 
     /**
      * @var \Magento\Core\Model\Resource\Theme\CollectionFactory
@@ -46,17 +46,17 @@ class Layout extends \Magento\Core\Block\Html\Select
 
     /**
      * @param \Magento\Core\Block\Context $context
-     * @param \Magento\Core\Model\Layout\MergeFactory $layoutMergeFactory
+     * @param \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory
      * @param \Magento\Core\Model\Resource\Theme\CollectionFactory $themesFactory
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Block\Context $context,
-        \Magento\Core\Model\Layout\MergeFactory $layoutMergeFactory,
+        \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory,
         \Magento\Core\Model\Resource\Theme\CollectionFactory $themesFactory,
         array $data = array()
     ) {
-        $this->_layoutMergeFactory = $layoutMergeFactory;
+        $this->_layoutProcessorFactory = $layoutProcessorFactory;
         $this->_themesFactory = $themesFactory;
         parent::__construct($context, $data);
     }
@@ -70,13 +70,13 @@ class Layout extends \Magento\Core\Block\Html\Select
     {
         if (!$this->getOptions()) {
             $this->addOption('', __('-- Please Select --'));
-            $layoutMergeParams = array(
+            $layoutUpdateParams = array(
                 'theme' => $this->_getThemeInstance($this->getTheme()),
             );
             $pageTypes = array();
-            $pageTypesAll = $this->_getLayoutMerge($layoutMergeParams)->getPageHandlesHierarchy();
+            $pageTypesAll = $this->_getLayoutProcessor($layoutUpdateParams)->getPageHandlesHierarchy();
             foreach ($pageTypesAll as $pageTypeName => $pageTypeInfo) {
-                $layoutMerge = $this->_getLayoutMerge($layoutMergeParams);
+                $layoutMerge = $this->_getLayoutProcessor($layoutUpdateParams);
                 $layoutMerge->addPageHandles(array($pageTypeName));
                 $layoutMerge->load();
                 if (!$layoutMerge->getContainers()) {
@@ -106,11 +106,11 @@ class Layout extends \Magento\Core\Block\Html\Select
      * Retrieve new layout merge model instance
      *
      * @param array $arguments
-     * @return \Magento\Core\Model\Layout\Merge
+     * @return \Magento\View\Layout\ProcessorInterface
      */
-    protected function _getLayoutMerge(array $arguments)
+    protected function _getLayoutProcessor(array $arguments)
     {
-        return $this->_layoutMergeFactory->create($arguments);
+        return $this->_layoutProcessorFactory->create($arguments);
     }
 
     /**
diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main.php
index c1a3c30bc68..7e3e3c5376d 100644
--- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main.php
+++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main.php
@@ -164,14 +164,14 @@ class Main
 
         if ($widgetInstance->getId()) {
             $fieldset->addField('instance_id', 'hidden', array(
-                'name' => 'isntance_id',
+                'name' => 'instance_id',
             ));
         }
 
         $this->_addElementTypes($fieldset);
 
-        $fieldset->addField('instance_type', 'select', array(
-            'name'  => 'instance_type',
+        $fieldset->addField('instance_code', 'select', array(
+            'name'  => 'instance_code',
             'label' => __('Type'),
             'title' => __('Type'),
             'class' => '',
diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Settings.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Settings.php
index dbd75cee518..32eb1e94cf8 100644
--- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Settings.php
+++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Settings.php
@@ -147,8 +147,8 @@ class Settings
 
         $this->_addElementTypes($fieldset);
 
-        $fieldset->addField('type', 'select', array(
-            'name'     => 'type',
+        $fieldset->addField('code', 'select', array(
+            'name'     => 'code',
             'label'    => __('Type'),
             'title'    => __('Type'),
             'required' => true,
@@ -169,7 +169,7 @@ class Settings
             ->createBlock('Magento\Adminhtml\Block\Widget\Button')
             ->setData(array(
                 'label'     => __('Continue'),
-                'onclick'   => "setSettings('" . $this->getContinueUrl() . "', 'type', 'theme_id')",
+                'onclick'   => "setSettings('" . $this->getContinueUrl() . "', 'code', 'theme_id')",
                 'class'     => 'save'
             ));
         $fieldset->addField('continue_button', 'note', array(
@@ -190,7 +190,7 @@ class Settings
     {
         return $this->getUrl('*/*/*', array(
             '_current' => true,
-            'type'     => '{{type}}',
+            'code'     => '{{code}}',
             'theme_id' => '{{theme_id}}'
         ));
     }
diff --git a/app/code/Magento/Widget/Controller/Adminhtml/Widget/Instance.php b/app/code/Magento/Widget/Controller/Adminhtml/Widget/Instance.php
index 9b5631c8033..95d97203a25 100644
--- a/app/code/Magento/Widget/Controller/Adminhtml/Widget/Instance.php
+++ b/app/code/Magento/Widget/Controller/Adminhtml/Widget/Instance.php
@@ -94,12 +94,12 @@ class Instance extends \Magento\Adminhtml\Controller\Action
         /** @var $widgetInstance \Magento\Widget\Model\Widget\Instance */
         $widgetInstance = $this->_widgetFactory->create();
 
+        $code = $this->getRequest()->getParam('code', null);
         $instanceId = $this->getRequest()->getParam('instance_id', null);
-        $type = $this->getRequest()->getParam('type', null);
-        $themeId = $this->getRequest()->getParam('theme_id', null);
-
         if ($instanceId) {
-            $widgetInstance->load($instanceId);
+            $widgetInstance
+                ->load($instanceId)
+                ->setCode($code);
             if (!$widgetInstance->getId()) {
                 $this->_getSession()->addError(
                     __('Please specify a correct widget.')
@@ -107,7 +107,14 @@ class Instance extends \Magento\Adminhtml\Controller\Action
                 return false;
             }
         } else {
-            $widgetInstance->setType($type)->setThemeId($themeId);
+            // Widget id was not provided on the query-string.  Locate the widget instance
+            // type (namespace\classname) based upon the widget code (aka, widget id).
+            $themeId = $this->getRequest()->getParam('theme_id', null);
+            $type = $code != null ? $widgetInstance->getWidgetReference('code', $code, 'type') : null;
+            $widgetInstance
+                ->setType($type)
+                ->setCode($code)
+                ->setThemeId($themeId);
         }
         $this->_coreRegistry->register('current_widget_instance', $widgetInstance);
         return $widgetInstance;
diff --git a/app/code/Magento/Widget/Model/Config/FileResolver.php b/app/code/Magento/Widget/Model/Config/FileResolver.php
index 8fc1e827b6d..853672872b5 100644
--- a/app/code/Magento/Widget/Model/Config/FileResolver.php
+++ b/app/code/Magento/Widget/Model/Config/FileResolver.php
@@ -35,17 +35,17 @@ class FileResolver implements \Magento\Config\FileResolverInterface
     protected $_moduleReader;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_applicationDirs;
 
     /**
      * @param \Magento\Core\Model\Config\Modules\Reader $moduleReader
-     * @param \Magento\Core\Model\Dir $applicationDirs
+     * @param \Magento\App\Dir $applicationDirs
      */
     public function __construct(
         \Magento\Core\Model\Config\Modules\Reader $moduleReader,
-        \Magento\Core\Model\Dir $applicationDirs
+        \Magento\App\Dir $applicationDirs
     ) {
         $this->_moduleReader = $moduleReader;
         $this->_applicationDirs = $applicationDirs;
@@ -62,7 +62,7 @@ class FileResolver implements \Magento\Config\FileResolverInterface
                 $fileList = $this->_moduleReader->getConfigurationFiles($filename);
                 break;
             case 'design':
-                $fileList = glob($this->_applicationDirs->getDir(\Magento\Core\Model\Dir::THEMES)
+                $fileList = glob($this->_applicationDirs->getDir(\Magento\App\Dir::THEMES)
                 . "/*/*/etc/$filename", GLOB_NOSORT | GLOB_BRACE);
                 break;
             default:
diff --git a/app/code/Magento/Widget/Model/Resource/Widget/Instance/Options/Types.php b/app/code/Magento/Widget/Model/Resource/Widget/Instance/Options/Types.php
index 1b9fa4a5c20..f97d5b7ba51 100644
--- a/app/code/Magento/Widget/Model/Resource/Widget/Instance/Options/Types.php
+++ b/app/code/Magento/Widget/Model/Resource/Widget/Instance/Options/Types.php
@@ -51,7 +51,7 @@ class Types implements \Magento\Core\Model\Option\ArrayInterface
     public function toOptionArray()
     {
         $widgets = array();
-        $widgetsOptionsArr = $this->_model->getWidgetsOptionArray();
+        $widgetsOptionsArr = $this->_model->getWidgetsOptionArray('type');
         foreach ($widgetsOptionsArr as $widget) {
             $widgets[$widget['value']] = $widget['label'];
         }
diff --git a/app/code/Magento/Widget/Model/Template/Filter.php b/app/code/Magento/Widget/Model/Template/Filter.php
index 436b6452109..657b599ecac 100644
--- a/app/code/Magento/Widget/Model/Template/Filter.php
+++ b/app/code/Magento/Widget/Model/Template/Filter.php
@@ -52,11 +52,10 @@ class Filter extends \Magento\Cms\Model\Template\Filter
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\VariableFactory $coreVariableFactory
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\View\LayoutFactory $layoutFactory
      * @param \Magento\Widget\Model\Resource\Widget $widgetResource
      * @param \Magento\Widget\Model\Widget $widget
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\LayoutFactory $layoutFactory
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
@@ -65,8 +64,8 @@ class Filter extends \Magento\Cms\Model\Template\Filter
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\VariableFactory $coreVariableFactory,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\LayoutFactory $layoutFactory,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\View\LayoutFactory $layoutFactory,
         \Magento\Widget\Model\Resource\Widget $widgetResource,
         \Magento\Widget\Model\Widget $widget
     ) {
diff --git a/app/code/Magento/Widget/Model/Widget/Instance.php b/app/code/Magento/Widget/Model/Widget/Instance.php
index 8d5f513d766..0c961ffa191 100644
--- a/app/code/Magento/Widget/Model/Widget/Instance.php
+++ b/app/code/Magento/Widget/Model/Widget/Instance.php
@@ -247,6 +247,35 @@ class Instance extends \Magento\Core\Model\AbstractModel
         return $this->getType() && $this->getThemeId();
     }
 
+    /**
+     * Return widget instance code.  If not set, derive value from type (namespace\class).
+     *
+     * @return string
+     */
+    public function getCode()
+    {
+        $code = $this->_getData('instance_code');
+        if ($code == null) {
+            $code = $this->getWidgetReference('type', $this->getType(), 'code');
+            $this->setData('instance_code', $code);
+        }
+        return $code;
+    }
+
+    /**
+     * Sets the value this widget instance code.
+     * The widget code is the 'id' attribute in the widget node.
+     * 'code' is used in Magento\Widget\Model\Widget->getWidgetsArray when the array of widgets is created.
+     *
+     * @param string $code
+     * @return \Magento\Widget\Model\Widget\Instance
+     */
+    public function setCode($code)
+    {
+        $this->setData('instance_code', $code);
+        return $this;
+    }
+
     /**
      * Setter
      * Prepare widget type
@@ -281,7 +310,7 @@ class Instance extends \Magento\Core\Model\AbstractModel
     {
         //TODO Shouldn't we get "area" from theme model which we can load using "theme_id"?
         if (!$this->_getData('area')) {
-            return \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA;
+            return \Magento\View\DesignInterface::DEFAULT_AREA;
         }
         return $this->_getData('area');
     }
@@ -321,19 +350,40 @@ class Instance extends \Magento\Core\Model\AbstractModel
      *
      * @return array
      */
-    public function getWidgetsOptionArray()
+    public function getWidgetsOptionArray($value = 'code')
     {
         $widgets = array();
         $widgetsArr = $this->_widgetModel->getWidgetsArray();
         foreach ($widgetsArr as $widget) {
             $widgets[] = array(
-                'value' => $widget['type'],
+                'value' => $widget[$value],
                 'label' => $widget['name']
             );
         }
         return $widgets;
     }
 
+    /**
+     * Get the widget reference (code or namespace\class name) for the passed in type or code.
+     *
+     * @param $matchParam
+     * @param $value
+     * @param $requestedParam
+     * @return null
+     */
+    public function getWidgetReference($matchParam, $value, $requestedParam)
+    {
+        $reference = null;
+        $widgetsArr = $this->_widgetModel->getWidgetsArray();
+        foreach ($widgetsArr as $widget) {
+            if ($widget[$matchParam] === $value) {
+                $reference = $widget[$requestedParam];
+                break;
+            }
+        }
+        return $reference;
+    }
+
     /**
      * Load widget XML config and merge with theme widget config
      *
diff --git a/app/code/Magento/Widget/etc/di.xml b/app/code/Magento/Widget/etc/di.xml
index 53a53ddd3cd..6dadc3fe368 100644
--- a/app/code/Magento/Widget/etc/di.xml
+++ b/app/code/Magento/Widget/etc/di.xml
@@ -51,8 +51,8 @@
             <value>Magento\Widget\Model\Template\Filter</value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <widget_setup>Magento\Core\Model\Resource\Setup\Generic</widget_setup>
             </value>
diff --git a/app/code/Magento/Widget/view/adminhtml/instance/js.phtml b/app/code/Magento/Widget/view/adminhtml/instance/js.phtml
index ad6c24ae16c..1cdf71e7ebb 100644
--- a/app/code/Magento/Widget/view/adminhtml/instance/js.phtml
+++ b/app/code/Magento/Widget/view/adminhtml/instance/js.phtml
@@ -26,15 +26,15 @@
 ?>
 <script type="text/javascript">
 //<![CDATA[
-function setSettings(urlTemplate, typeElement, themeElement) {
+function setSettings(urlTemplate, codeElement, themeElement) {
     if (!jQuery('#edit_form').valid()) {
         return false;
     }
-    typeElement = $F(typeElement);
+    codeElement = $F(codeElement);
     themeElement = $F(themeElement);
 
     setLocation(new Template(urlTemplate, /(^|.|\r|\n)({{(\w+)}})/).evaluate({
-        'type': typeElement,
+        'code': codeElement,
         'theme_id': themeElement
     }));
 }
diff --git a/app/code/Magento/Widget/view/adminhtml/layout/adminhtml_widget_instance_block.xml b/app/code/Magento/Widget/view/adminhtml/layout/adminhtml_widget_instance_block.xml
index ca4cbf48d3b..a1e07b91ee3 100644
--- a/app/code/Magento/Widget/view/adminhtml/layout/adminhtml_widget_instance_block.xml
+++ b/app/code/Magento/Widget/view/adminhtml/layout/adminhtml_widget_instance_block.xml
@@ -38,6 +38,7 @@
                         <item name="path" xsi:type="string">*/*/edit</item>
                         <item name="extraParamsTemplate" xsi:type="array">
                             <item name="instance_id" xsi:type="string">getId</item>
+                            <item name="code" xsi:type="string">getCode</item>
                         </item>
                     </argument>
                 </arguments>
diff --git a/app/code/Magento/Wishlist/Controller/Index.php b/app/code/Magento/Wishlist/Controller/Index.php
index 0a7f1caa95b..39e7e305322 100644
--- a/app/code/Magento/Wishlist/Controller/Index.php
+++ b/app/code/Magento/Wishlist/Controller/Index.php
@@ -776,7 +776,7 @@ class Index
 
         try {
             $info      = unserialize($option->getValue());
-            $filePath  = $this->_objectManager->get('Magento\Core\Model\Dir')->getDir() . $info['quote_path'];
+            $filePath  = $this->_objectManager->get('Magento\App\Dir')->getDir() . $info['quote_path'];
             $secretKey = $this->getRequest()->getParam('key');
 
             if ($secretKey == $info['secret_key']) {
diff --git a/app/code/Magento/Wishlist/Helper/Data.php b/app/code/Magento/Wishlist/Helper/Data.php
index 15f0f10e748..176d3dc17d9 100644
--- a/app/code/Magento/Wishlist/Helper/Data.php
+++ b/app/code/Magento/Wishlist/Helper/Data.php
@@ -84,7 +84,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -118,7 +118,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
@@ -128,7 +128,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
diff --git a/app/code/Magento/Wishlist/Model/Resource/Item/Collection.php b/app/code/Magento/Wishlist/Model/Resource/Item/Collection.php
index 55a726cac8a..36c0970e0c0 100644
--- a/app/code/Magento/Wishlist/Model/Resource/Item/Collection.php
+++ b/app/code/Magento/Wishlist/Model/Resource/Item/Collection.php
@@ -154,7 +154,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * @param \Magento\CatalogInventory\Helper\Data $catalogInventoryData
      * @param \Magento\Adminhtml\Helper\Sales $adminhtmlSales
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -172,7 +172,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     public function __construct(
         \Magento\CatalogInventory\Helper\Data $catalogInventoryData,
         \Magento\Adminhtml\Helper\Sales $adminhtmlSales,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Wishlist/Model/Resource/Item/Collection/Grid.php b/app/code/Magento/Wishlist/Model/Resource/Item/Collection/Grid.php
index e6814cfb6f8..810277748c7 100644
--- a/app/code/Magento/Wishlist/Model/Resource/Item/Collection/Grid.php
+++ b/app/code/Magento/Wishlist/Model/Resource/Item/Collection/Grid.php
@@ -39,7 +39,7 @@ class Grid extends \Magento\Wishlist\Model\Resource\Item\Collection
     /**
      * @param \Magento\CatalogInventory\Helper\Data $catalogInventoryData
      * @param \Magento\Adminhtml\Helper\Sales $adminhtmlSales
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -58,7 +58,7 @@ class Grid extends \Magento\Wishlist\Model\Resource\Item\Collection
     public function __construct(
         \Magento\CatalogInventory\Helper\Data $catalogInventoryData,
         \Magento\Adminhtml\Helper\Sales $adminhtmlSales,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Wishlist/Model/Wishlist.php b/app/code/Magento/Wishlist/Model/Wishlist.php
index f34f280c201..d038a145a20 100644
--- a/app/code/Magento/Wishlist/Model/Wishlist.php
+++ b/app/code/Magento/Wishlist/Model/Wishlist.php
@@ -96,7 +96,7 @@ class Wishlist extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -126,7 +126,7 @@ class Wishlist extends \Magento\Core\Model\AbstractModel
     protected $_productFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Helper\Product $catalogProduct
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Wishlist\Helper\Data $wishlistData
@@ -142,7 +142,7 @@ class Wishlist extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Helper\Product $catalogProduct,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Wishlist\Helper\Data $wishlistData,
diff --git a/app/code/Magento/Wishlist/etc/di.xml b/app/code/Magento/Wishlist/etc/di.xml
index 3994db0f01f..819382ec7ba 100644
--- a/app/code/Magento/Wishlist/etc/di.xml
+++ b/app/code/Magento/Wishlist/etc/di.xml
@@ -30,16 +30,8 @@
         </param>
     </type>
     <type name="Magento\Wishlist\Helper\Data">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="customerSession">
             <instance type="Magento\Customer\Model\Session\Proxy" />
         </param>
     </type>
-    <type name="Magento\Wishlist\Model\Wishlist">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
 </config>
diff --git a/app/design/adminhtml/magento_backend/css/admin.css b/app/design/adminhtml/magento_backend/css/admin.css
index c137e9cd792..3b3f5e97475 100644
--- a/app/design/adminhtml/magento_backend/css/admin.css
+++ b/app/design/adminhtml/magento_backend/css/admin.css
@@ -1340,14 +1340,14 @@ fieldset.field [class^='fields-group-'] .field .control {
     box-sizing: border-box;
     float: left;
     width: 20%;
-    padding: 6px 0 0 15px;
-    font-size: 10px;
+    padding: 7px 0 0 15px;
+    color: #999;
+    font-size: 12px;
+    letter-spacing: 0.05em;
 }
 
 .form-inline .field-service[value-scope]:before {
     content: attr(value-scope) !important;
-    font-size: 10px;
-    color: #6F8992;
     white-space: nowrap;
     display: block;
     margin-bottom: 5px;
@@ -2407,7 +2407,8 @@ table tbody tr:nth-child(odd):hover th {
     z-index: 999;
 }
 
-.loading-old {
+.loading-old,
+.loading-mask {
     position: fixed;
     left: 0;
     top: 0;
@@ -3661,15 +3662,6 @@ table tbody tr:nth-child(odd):hover th {
     z-index: 2;
 }
 
-.adminhtml-dashboard-index .side-col {
-    width: 38%;
-    padding: 1%;
-}
-
-.adminhtml-dashboard-index .main-col {
-    width: 60%;
-}
-
 /* Sidebar and main column vertical separator */
 .main-col:after,
 .side-col:after {
@@ -4605,7 +4597,7 @@ table tbody tr:nth-child(odd):hover th {
     min-width: 121px;
 }
 
-.grid .filter .range input {
+.grid .filter .range .date input {
     margin-top: 0;
     vertical-align: middle;
     width: 80%;
@@ -4636,9 +4628,9 @@ table tbody tr:nth-child(odd):hover th {
 
 .grid .filter .date:before {
     position: absolute;
-    left: 85%;
+    left: 80%;
     top: 1px;
-    margin-top: 0;
+    margin-left: 5px;
     text-shadow: none;
     width: 16px;
     height: 16px;
@@ -4706,9 +4698,7 @@ table tbody tr:nth-child(odd):hover th {
 
 .massaction .entry-edit fieldset select {
     border-radius: 2px;
-    padding: 3px;
     margin: 0;
-    vertical-align: middle;
 }
 
 .massaction .entry-edit fieldset select.validation-failed {
@@ -4860,6 +4850,7 @@ tr.dynamic-grid input.input-text {
     white-space: normal;
 }
 
+/* will be deleted after checking entire back-end
 table .col-draggable {
     width: 1%;
 }
@@ -4897,34 +4888,34 @@ table .col-frontend_label {
     width: 25%;
 }
 
+.ui-dialog .selection-search table .col-select {
+    width: 25%;
+}
+*/
+
 table .col-draggable .draggable-handle {
     position: relative;
     top: 0;
     float: left;
 }
 
-.grid table .col-id,
-.grid table thead th.col-price,
-.grid table thead th.col-qty,
-.grid table thead th.col-number {
+.grid table .col-id {
     text-align: left;
 }
 
-.ui-dialog .selection-search table .col-select {
-    width: 25px;
-}
-
 /*
     Data table
 -------------------------------------- */
 .data-table {
-    border-collapse: inherit; /* do not remove this! without this rule in FF when table has only 1 row bottom and side borders disappear*/
+    border-collapse: separate; /* do not remove this! without this rule in FF when table has only 1 row bottom and side borders disappear*/
     width: 100%;
 }
 
 .data-table thead,
 .data-table tfoot,
-.data-table th {
+.data-table th,
+.accordion .config .data-table thead th,
+.accordion .config .data-table tfoot td {
     background: #fff;
     color: #666;
 }
@@ -4936,7 +4927,8 @@ table .col-draggable .draggable-handle {
 }
 
 .data-table td,
-.data-table tbody tr td {
+.data-table tbody tr td,
+.accordion .config .data-table td {
     background: #fff;
     padding: 5px 7px;
     font-size: 12px;
@@ -4962,7 +4954,8 @@ table .col-draggable .draggable-handle {
 }
 
 .data-table tbody tr:nth-child(odd) td,
-.data-table tbody tr:nth-child(odd):hover td {
+.data-table tbody tr:nth-child(odd):hover td,
+.accordion .config .data-table tbody tr:nth-child(odd) td {
     background: #fbfaf6;
 }
 
@@ -4971,7 +4964,8 @@ table .col-draggable .draggable-handle {
 }
 
 .data-table tfoot tr:last-child td,
-.data-table tfoot tr:last-child th {
+.data-table tfoot tr:last-child th,
+.accordion .config .data-table tfoot tr:last-child td {
     border: 0;
 }
 
@@ -5159,16 +5153,16 @@ table .col-draggable .draggable-handle {
 .col-color,
 .col-size,
 .col-product,
-.col-comment {
+.col-comment,
+.col-actions,
+.col-status {
     text-align: left;
 }
 
 /* center */
 .col-include,
-.col-price,
 .col-display,
 .col-image,
-.col-price,
 .col-no-records,
 .col-select,
 .col-default,
@@ -5179,7 +5173,6 @@ table .col-draggable .draggable-handle {
 /* right */
 .col-qty,
 .col-weight,
-.col-actions,
 .col-price,
 .col-price > input,
 .col-id,
@@ -5330,6 +5323,11 @@ table .col-draggable .draggable-handle {
     top: 2px;
 }
 
+.tree-store-scope .field .addafter {
+    display: inline-block;
+    padding-top: 6px;
+}
+
 .tree-store-scope .tooltip .help {
     margin-top: 11px;
 }
@@ -5543,6 +5541,14 @@ table .col-draggable .draggable-handle {
     margin: 10px 0;
 }
 
+#catalog-wysiwyg-editor .buttons-set {
+    margin-bottom: 9px;
+}
+
+#catalog-wysiwyg-editor .buttons-set button {
+    margin-right: 4px;
+}
+
 /*
     System Messages
 -------------------------------------- */
diff --git a/app/design/adminhtml/magento_backend/css/debug.css b/app/design/adminhtml/magento_backend/css/debug.css
index dae2e938436..02f37c864b6 100644
--- a/app/design/adminhtml/magento_backend/css/debug.css
+++ b/app/design/adminhtml/magento_backend/css/debug.css
@@ -384,18 +384,6 @@ ul.messages li.success-msg li:before {
     height: 100px;
 }
 
-.dashboard-container {
-    border-radius: 0;
-}
-
-.dashboard-container.col-2-left-layout:before {
-    left: 40%;
-}
-
-.dashboard-container #diagram_tab {
-    margin: 20px 20px 0;
-}
-
 /* TODO: arrange configuration tables */
 .accordion .collapseable.disabled {
     background: #f1f1f1;
@@ -438,6 +426,16 @@ ul.messages li.success-msg li:before {
     text-align: right;
 }
 
+.accordion .config .value .label {
+    padding: 6px 5px 0 15px;
+    vertical-align: top;
+    width: auto;
+}
+
+.accordion .config .value .label:first-child {
+    padding-left: 0;
+}
+
 .accordion .config .label label {
     padding-top: 6px;
 }
@@ -462,12 +460,15 @@ ul.messages li.success-msg li:before {
 .accordion .config select,
 .accordion .config textarea {
     width: 100%;
-    border-radius: 3px;
     -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
     box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
 }
 
+.accordion .config input.input-file {
+    margin-top: 4px;
+}
+
 .accordion .config select.select-date {
     width: 20%;
 }
@@ -526,11 +527,11 @@ ul.messages li.success-msg li:before {
     margin:0;
 }
 
-
-
 .accordion .config .scope-label {
     color: #999;
     font-size: 12px;
+    letter-spacing: 0.05em;
+    padding: 15px 15px 0 0;
 }
 
 .accordion .config .note {
diff --git a/app/design/adminhtml/magento_backend/css/pages.css b/app/design/adminhtml/magento_backend/css/pages.css
index d20fb55a567..2d3f4fc45bb 100644
--- a/app/design/adminhtml/magento_backend/css/pages.css
+++ b/app/design/adminhtml/magento_backend/css/pages.css
@@ -302,6 +302,20 @@
     margin: 0 10px;
 }
 
+/*
+    Configuration -> Design
+-------------------------------------- */
+#row_design_theme_ua_regexp .design_theme_ua_regexp {
+    float: left;
+    width: 100%;
+}
+#row_design_theme_ua_regexp .tooltip {
+    margin-top: 8px;
+}
+#row_design_theme_ua_regexp .note {
+    clear: both;
+}
+
 /*
     CMS -> Banners
 -------------------------------------- */
@@ -378,6 +392,10 @@
     top: 6px;
 }
 
+.cms-hierarchy-node .form-inline .label {
+    width: 30%;
+}
+
 /*
     CMS -> Widgets
 -------------------------------------- */
@@ -975,18 +993,10 @@
     width: 10%;
 }
 
-.adminhtml-report-product-lowstock .range {
-    white-space: nowrap;
-}
-
 .adminhtml-report-product-lowstock .range-line {
     display: inline-block;
 }
 
-.adminhtml-report-product-lowstock .range-line:first-child {
-    margin-right: 5px;
-}
-
 .adminhtml-report-product-lowstock .col-product {
     width: 65%;
 }
@@ -999,6 +1009,14 @@
     Reports - PayPal Settlement Reports
 -------------------------------------- */
 
+.adminhtml-paypal-reports-index .grid tr.headings th > span {
+    white-space: normal;
+}
+
+.adminhtml-paypal-reports-index .col-transaction_event_code {
+    max-width: 150px;
+}
+
 .adminhtml-paypal-reports-index .col-amount,
 .adminhtml-paypal-reports-index .col-fee-amount {
     text-align: right;
@@ -1216,8 +1234,73 @@
     border: 1px solid #ccc;
 }
 
-.dashboard-container .dashboard-diagram {
-    margin: 20px;
+.adminhtml-dashboard-index .col-2-left-layout,
+.adminhtml-dashboard-index .col-1-layout {
+    min-width: 0;
+}
+
+.adminhtml-dashboard-index .side-col {
+    width: 38%;
+    padding: 1%;
+}
+
+.adminhtml-dashboard-index .col-2-left-layout .main-col {
+    min-width: 0;
+    width: 60%;
+}
+
+.dashboard-container {
+    border-radius: 0;
+}
+
+.dashboard-container.col-2-left-layout:before {
+    left: 40%;
+}
+
+.dashboard-container .dashboard-inner {
+    padding: 20px;
+}
+
+.dashboard-inner .tabs-horiz > li a {
+    padding-left: 14px;
+    padding-right: 14px;
+}
+
+.dashboard-container #diagram_tab_content {
+    background: #fff;
+    border: 1px solid #eae6e0;
+    border-radius: 5px;
+    border-top-left-radius: 0;
+    margin: 0 0 20px;
+    padding: 18px;
+    position: relative;
+}
+
+.dashboard-container .dashboard-diagram .store-switcher + div { /* loader under a diagram */
+    background: url(../mui/images/ajax-loader-small.gif) no-repeat 50% 50%;
+    min-height: 75px;
+    text-align: center;
+}
+
+.dashboard-container .dashboard-diagram .store-switcher + div img {
+    max-width: 100%;
+}
+
+.dashboard-container .dashboard-diagram .store-switcher + div.dashboard-diagram-nodata { /* when there is no data to display the diagram */
+    background-image: none;
+    min-height: 15px;
+}
+
+.dashboard-container #grid_tab_content {
+    background: #fff url(../mui/images/ajax-loader-small.gif) no-repeat 50% 50%;
+    border: 1px solid #eae6e0;
+    border-radius: 5px;
+    border-top-left-radius: 0;
+    min-height: 50px;
+}
+
+.dashboard-container #grid_tab_content .grid {
+    padding: 0;
 }
 
 .dashboard-container .store-switcher {
@@ -1784,7 +1867,6 @@
     width: 35px;
 }
 
-[class^=" adminhtml-sales-order-"] .col-status,
 [class^=" adminhtml-sales-order-"] .col-price-original,
 [class^=" adminhtml-sales-order-"] .col-tax-amount,
 [class^=" adminhtml-sales-order-"] .col-tax-percent,
@@ -2661,6 +2743,25 @@ table.items-to-invoice tbody tr:hover td {
     width: 100%;
 }
 
+/*
+    Cache Management
+-------------------------------------- */
+.additional-cache-management .label {
+    margin-top: 5px;
+}
+
+/*
+    Currency Symbols
+-------------------------------------- */
+.adminhtml-system-currencysymbol-index th.col-symbol .required:after {
+    content: '*';
+    margin-left: 3px;
+}
+
+.adminhtml-system-currencysymbol-index td.col-currency .label {
+    margin-top: 5px;
+}
+
 /*
     Clearfix
 -------------------------------------- */
diff --git a/app/design/adminhtml/magento_backend/mui/form.css b/app/design/adminhtml/magento_backend/mui/form.css
index 98dfa188c8c..1bd9394ab5b 100644
--- a/app/design/adminhtml/magento_backend/mui/form.css
+++ b/app/design/adminhtml/magento_backend/mui/form.css
@@ -94,6 +94,7 @@ span.required {
 .field.required > .label:after {
     content: '*';
     color: red;
+    margin-left: 3px;
 }
 
 .field.alternative {
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/backbutton.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/backbutton.phtml
new file mode 100644
index 00000000000..cb76e318b8c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/backbutton.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<button type="button" class="action back customization"><span><?php echo __('Go back to product details') ?></span></button>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/customize.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/customize.phtml
new file mode 100644
index 00000000000..4b08a51a035
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/customize.phtml
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php $_product = $this->getProduct() ?>
+<?php if ($_product->isSaleable() && $this->hasOptions()):?>
+    <div class="actions bundle">
+        <button id="bundle-slide" class="action primary customize" type="button"><span><?php echo __('Customize and Add to Cart'); ?></span></button>
+    </div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/summary.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/summary.phtml
new file mode 100644
index 00000000000..e2c3b5c3ad7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/summary.phtml
@@ -0,0 +1,91 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php
+    $_product = $this->getProduct();
+?>
+<?php if ($_product->isSaleable() && $this->hasOptions()): ?>
+<div id="bundleSummary" class="block bundle summary">
+    <div class="title">
+        <strong><?php echo __('Your Customization'); ?></strong>
+    </div>
+    <div class="content">
+        <div class="bundle info">
+            <?php echo $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image')->init($_product, 'bundled_product_customization_page')->toHtml() ?>
+            <div class="product details">
+                <strong class="product name"><?php echo $this->escapeHtml($_product->getName()) ?></strong>
+                <?php if($_product->getIsSalable()): ?>
+                    <p class="available stock" title="<?php echo __('Availability') ?>"><span><?php echo __('In stock') ?></span></p>
+                <?php else: ?>
+                    <p class="unavailable stock" title="<?php echo __('Availability') ?>"><span><?php echo __('Out of stock') ?></span></p>
+                <?php endif; ?>
+                <?php echo $this->getChildHtml('', true);?>
+            </div>
+        </div>
+        <div class="bundle summary">
+            <strong class="subtitle"><?php echo __('Summary'); ?></strong>
+            <div id="bundle-summary" data-container="product-summary">
+                <ul data-mage-init='{productSummary: []}'></ul>
+                <script data-template="bundle-summary" type="text/x-jQuery-tmpl">
+                    <li>
+                        <strong class="label">${_label_}:</strong>
+                        <div data-container="options"></div>
+                    </li>
+                </script>
+                <script data-template="bundle-option" type="text/x-jQuery-tmpl">
+                    <div><?php echo __('%1 x %2', '${_quantity_}', '${_label_}') ?></div>
+                </script>
+            </div>
+        </div>
+    </div>
+</div>
+<script>
+    (function ($) {
+        head.js("<?php echo $this->getViewFileUrl('js/sticky.js') ?>",function() {
+            $('#bundleSummary').sticky({
+                container: '.product.add.form'
+            });
+        });
+    })(jQuery);
+</script>
+<script type="text/javascript">
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('Magento_Bundle::js/slide.js')?>", function() {
+            $('.product.add.form').slide({
+                slideSpeed: 1500,
+                slideSelector: '#bundle-slide',
+                slideBackSelector: '.action.customization.back',
+                bundleProductSelector: '#bundleProduct',
+                bundleOptionsContainer: '.product.add.form',
+                <?php if ($this->isStartCustomization()): ?>
+                    autostart: true
+                <?php endif;?>
+                }
+            );
+        });
+    })(jQuery);
+</script>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/title.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/title.phtml
new file mode 100644
index 00000000000..63eb6350d45
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/title.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php $_product = $this->getProduct() ?>
+<div id="customizeTitle" class="page-title title-buttons">
+    <h1><?php echo __('Customize %1', $_helper->productAttribute($_product, $_product->getName(), 'name')) ?></h1>
+    <a href="#" class="bundle-slide-back"><small>&lsaquo;</small> Go back to product detail</a>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle.phtml
new file mode 100644
index 00000000000..6874d318387
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle.phtml
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/* @var $this \Magento\Bundle\Block\Catalog\Product\View\Type\Bundle */
+?>
+<?php $_product = $this->getProduct() ?>
+<?php if($_product->isSaleable()): ?>
+<script type="text/javascript">
+    (function ($) {
+        head.js("<?php echo $this->getViewFileUrl('Magento_Bundle::/bundle.js') ?>", function() {
+            $('#product_addtocart_form').bundleOption({
+                bundleConfig: <?php echo $this->getJsonConfig() ?>,
+                bundleOptionQtyPrefix: "#bundle-option-",
+                bundleOptionQtySuffix: "-qty-input",
+                priceSelectors: {
+                    "product-price": "#product-price-<?php echo $_product->getId()?>",
+                    "bundle-price": "#bundle-price-<?php echo $_product->getId()?>",
+                    "price-including-tax": "#price-including-tax-<?php echo $_product->getId()?>",
+                    "price-excluding-tax": "#price-excluding-tax-<?php echo $_product->getId()?>"
+                }
+            });
+        });
+    })(jQuery);
+</script>
+<?php endif; ?>
+<?php if ($this->displayProductStockStatus()): ?>
+    <?php if ($_product->isAvailable()): ?>
+        <p class="stock available" title="<?php echo __('Availability:') ?>">
+            <span><?php echo __('In stock') ?></span>
+        </p>
+    <?php else: ?>
+        <p class="stock unavailable" title="<?php echo __('Availability:') ?>">
+            <span><?php echo __('Out of stock') ?></span>
+        </p>
+    <?php endif; ?>
+<?php endif; ?>
+<?php echo $this->getChildHtml('bundle_prices') ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/checkbox.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/checkbox.phtml
new file mode 100644
index 00000000000..56646524696
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/checkbox.phtml
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+?>
+
+<?php /* @var $this \Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option_Checkbox */ ?>
+<?php $_option = $this->getOption() ?>
+<?php $_selections = $_option->getSelections() ?>
+<div class="field option <?php echo ($_option->getRequired()) ? ' required': ''; ?>">
+    <label class="label">
+        <span><?php echo $this->escapeHtml($_option->getTitle()) ?></span>
+    </label>
+    <div class="control">
+        <div class="nested options-list">
+        <?php if (count($_selections) == 1 && $_option->getRequired()): ?>
+            <?php echo $this->getSelectionQtyTitlePrice($_selections[0]) ?>
+            <input type="hidden" name="bundle_option[<?php echo $_option->getId() ?>]" value="<?php echo $_selections[0]->getSelectionId() ?>"/>
+        <?php else:?>
+            <?php foreach($_selections as $_selection): ?>
+                <div class="field choice">
+                    <input class="change-container-classname checkbox bundle-option-<?php echo $_option->getId() ?> product-bundle-option" id="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>" type="checkbox" <?php if ($_option->getRequired()) echo 'data-validate="{\'validate-one-required-by-name\':true}"'?>  name="bundle_option[<?php echo $_option->getId() ?>][]"<?php if ($this->isSelected($_selection)) echo ' checked="checked"' ?><?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?> value="<?php echo $_selection->getSelectionId() ?>"/>
+                    <label class="label" for="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>">
+                        <span><?php echo $this->getSelectionQtyTitlePrice($_selection) ?></span>
+                    </label>
+                </div>
+            <?php endforeach; ?>
+            <div id="bundle-option-<?php echo $_option->getId() ?>-container"></div>
+        <?php endif; ?>
+        </div>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/multi.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/multi.phtml
new file mode 100644
index 00000000000..50e74d9111e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/multi.phtml
@@ -0,0 +1,50 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+?>
+
+<?php /* @var $this \Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option_Multi */ ?>
+<?php $_option = $this->getOption() ?>
+<?php $_selections = $_option->getSelections() ?>
+<div class="field option <?php echo ($_option->getRequired()) ? ' required': ''; ?>">
+    <label class="label">
+        <span><?php echo $this->escapeHtml($_option->getTitle()) ?></span>
+    </label>
+    <div class="control">
+    <?php if (count($_selections) == 1 && $_option->getRequired()): ?>
+        <?php echo $this->getSelectionQtyTitlePrice($_selections[0]) ?>
+        <input type="hidden" name="bundle_option[<?php echo $_option->getId() ?>]" value="<?php echo $_selections[0]->getSelectionId() ?>"/>
+    <?php else: ?>
+        <select multiple="multiple" size="5" id="bundle-option-<?php echo $_option->getId() ?>" name="bundle_option[<?php echo $_option->getId() ?>][]" class="bundle-option-<?php echo $_option->getId() ?> multiselect change-container-classname product-bundle-option" <?php if ($_option->getRequired()) echo 'data-validate={required:true}' ?>>
+        <?php if(!$_option->getRequired()): ?>
+            <option value=""><?php echo __('None') ?></option>
+        <?php endif; ?>
+        <?php foreach ($_selections as $_selection): ?>
+            <option value="<?php echo $_selection->getSelectionId() ?>"<?php if ($this->isSelected($_selection)) echo ' selected="selected"' ?><?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?>><?php echo $this->getSelectionQtyTitlePrice($_selection, false) ?></option>
+        <?php endforeach; ?>
+        </select>
+    <?php endif; ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/radio.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/radio.phtml
new file mode 100644
index 00000000000..5c9b0991dba
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/radio.phtml
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+?>
+
+<?php /* @var $this \Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option_Radio */ ?>
+<?php $_option = $this->getOption(); ?>
+<?php $_selections  = $_option->getSelections(); ?>
+<?php $_default     = $_option->getDefaultSelection(); ?>
+<?php list($_defaultQty, $_canChangeQty) = $this->getDefaultValues(); ?>
+
+<div class="field option <?php echo ($_option->getRequired()) ? ' required': ''; ?>">
+    <label class="label">
+        <span><?php echo $this->escapeHtml($_option->getTitle()) ?></span>
+    </label>
+    <div class="control">
+        <div class="nested options-list">
+        <?php if ($this->showSingle()): ?>
+            <?php echo $this->getSelectionTitlePrice($_selections[0]) ?>
+            <input type="hidden" name="bundle_option[<?php echo $_option->getId() ?>]" value="<?php echo $_selections[0]->getSelectionId() ?>" />
+        <?php else:?>
+            <?php if (!$_option->getRequired()): ?>
+                <div class="field choice">
+                    <input type="radio" class="radio product-bundle-option" id="bundle-option-<?php echo $_option->getId() ?>" name="bundle_option[<?php echo $_option->getId() ?>]"<?php echo ($_default && $_default->isSalable())?'':' checked="checked" ' ?> value=""/>
+                    <label class="label" for="bundle-option-<?php echo $_option->getId() ?>"><span><?php echo __('None') ?></span></label>
+                </div>
+            <?php endif; ?>
+            <?php foreach ($_selections as $_selection): ?>
+                <div class="field choice">
+                    <input type="radio" class="radio change-container-classname product-bundle-option" id="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>" <?php if ($_option->getRequired()) echo 'data-validate="{\'validate-one-required-by-name\':true}"'?>  name="bundle_option[<?php echo $_option->getId() ?>]"<?php if ($this->isSelected($_selection)) echo ' checked="checked"' ?><?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?> value="<?php echo $_selection->getSelectionId() ?>"/>
+                    <label class="label" for="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>">
+                        <span><?php echo $this->getSelectionTitlePrice($_selection) ?></span>
+                    </label>
+                </div>
+            <?php endforeach; ?>
+                <div id="bundle-option-<?php echo $_option->getId() ?>-container"></div>
+        <?php endif; ?>
+            <div class="field qty qty-holder">
+                <label class="label" for="bundle-option-<?php echo $_option->getId() ?>-qty-input">
+                    <span><?php echo __('Qty') ?></span>
+                </label>
+                <div class="control">
+                    <input <?php if (!$_canChangeQty) echo ' disabled="disabled"' ?> id="bundle-option-<?php echo $_option->getId() ?>-qty-input" class="input-text qty<?php if (!$_canChangeQty) echo ' qty-disabled' ?>" type="text" name="bundle_option_qty[<?php echo $_option->getId() ?>]" value="<?php echo $_defaultQty ?>"/>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/select.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/select.phtml
new file mode 100644
index 00000000000..30109f60406
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/select.phtml
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+?>
+
+<?php /* @var $this \Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option_Select */ ?>
+<?php $_option      = $this->getOption(); ?>
+<?php $_selections  = $_option->getSelections(); ?>
+<?php $_default     = $_option->getDefaultSelection(); ?>
+<?php list($_defaultQty, $_canChangeQty) = $this->getDefaultValues(); ?>
+
+<div class="field option <?php echo ($_option->getRequired()) ? ' required': ''; ?>">
+    <label class="label">
+        <span><?php echo $this->escapeHtml($_option->getTitle()) ?></span>
+    </label>
+    <div class="control">
+    <?php if ($this->showSingle()): ?>
+        <?php echo $this->getSelectionTitlePrice($_selections[0]) ?>
+        <input type="hidden" name="bundle_option[<?php echo $_option->getId() ?>]" value="<?php echo $_selections[0]->getSelectionId() ?>"/>
+    <?php else:?>
+        <select id="bundle-option-<?php echo $_option->getId() ?>" name="bundle_option[<?php echo $_option->getId() ?>]" class="bundle-option-<?php echo $_option->getId() ?> bundle-option-select product-bundle-option change-container-classname" <?php if ($_option->getRequired()) echo 'data-validate = {required:true}' ?>>
+            <option value=""><?php echo __('Choose a selection...') ?></option>
+        <?php foreach ($_selections as $_selection): ?>
+            <option value="<?php echo $_selection->getSelectionId() ?>"<?php if ($this->isSelected($_selection)) echo ' selected="selected"' ?><?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?>><?php echo $this->getSelectionTitlePrice($_selection, false) ?></option>
+        <?php endforeach; ?>
+        </select>
+    <?php endif; ?>
+        <div class="nested">
+            <div class="field qty qty-holder">
+                <label class="label" for="bundle-option-<?php echo $_option->getId() ?>-qty-input">
+                    <span><?php echo __('Qty') ?></span>
+                </label>
+                <div class="control">
+                    <input <?php if (!$_canChangeQty) echo ' disabled="disabled"' ?> id="bundle-option-<?php echo $_option->getId() ?>-qty-input" class="input-text qty<?php if (!$_canChangeQty) echo ' qty-disabled' ?>" type="text" name="bundle_option_qty[<?php echo $_option->getId() ?>]" value="<?php echo $_defaultQty ?>"/>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/options.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/options.phtml
new file mode 100644
index 00000000000..f11c5e3a2f0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/options.phtml
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php 
+$_product = $this->getProduct();
+$_helper = $this->helper('Magento\Catalog\Helper\Output');
+?>
+<?php $_options = $this->helper('Magento\Core\Helper\Data')->decorateArray($this->getOptions()); ?>
+<?php if ($_product->isSaleable()):?>
+    <?php if (count($_options)): ?>
+    <script type="text/javascript">
+        (function ($) {
+            head.js("<?php echo $this->getViewFileUrl('Magento_Bundle::bundle.js') ?>", function () {
+                $('#product_addtocart_form').bundleOption({'optionConfig':<?php echo $this->getJsonConfig()?>}).trigger('changeSelection');
+            });
+        })(jQuery);
+    </script>
+        <fieldset class="fieldset bundle options">
+            <legend id="customizeTitle" class="legend">
+                <span><?php echo __('Customize %1', $_helper->productAttribute($_product, $_product->getName(), 'name')) ?></span>
+            </legend><br />
+        <?php foreach ($_options as $_option): ?>
+            <?php if (!$_option->getSelections()): ?>
+                <?php continue; ?>
+            <?php endif; ?>
+            <?php echo $this->getOptionHtml($_option) ?>
+        <?php endforeach; ?>
+        </fieldset>
+    <?php else: ?>
+        <p><?php echo __('No options of this product are available.') ?></p>
+    <?php endif; ?>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/js/slide.js b/app/design/frontend/magento_plushe/Magento_Bundle/js/slide.js
new file mode 100644
index 00000000000..69e8678d339
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/js/slide.js
@@ -0,0 +1,99 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    frontend bundle product slide
+ * @package     mage
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint browser:true jquery:true expr:true*/
+(function($) {
+    $.widget('mage.slide', {
+        options: {
+            slideSpeed: 1500,
+            slideSelector: '#bundle-slide',
+            slideBackSelector: '.bundle-slide-back',
+            bundleProductSelector: '#bundleProduct',
+            bundleOptionsContainer: '#options-container',
+            productViewContainer: '#productView',
+            slidedown: true
+
+        },
+
+        _create: function() {
+            if(this.options.slidedown === true) {
+                $(this.options.slideSelector).on('click', $.proxy(this._show, this));
+                $(this.options.slideBackSelector).on('click', $.proxy(this._hide, this));
+                this.options.autostart && this._show();
+            } else {
+                $(this.options.slideSelector).on('click', $.proxy(this._slide, this));
+                $(this.options.slideBackSelector).on('click', $.proxy(this._slideBack, this));
+                this.options.autostart && this._slide();
+            }
+        },
+
+        /**
+         * slide bundleOptionsContainer over to the main view area
+         * @private
+         */
+        _slide: function() {
+            $(this.options.bundleProductSelector).css('top', '0px');
+            $(this.options.bundleOptionsContainer).show();
+            this.element.css('height',$(this.options.productViewContainer).height() + 'px');
+            $(this.options.bundleProductSelector).css('left', '0px').animate(
+                {'left': '-' + this.element.width() + 'px'},
+                this.options.slideSpeed,
+                $.proxy(function() {
+                    this.element.css('height','auto');
+                    $(this.options.productViewContainer).hide();
+                }, this)
+            );
+        },
+
+        /**
+         * slideback productViewContainer to main view area
+         * @private
+         */
+        _slideBack: function() {
+            $(this.options.bundleProductSelector).css('top', '0px');
+            $(this.options.productViewContainer).show();
+            this.element.css('height', $(this.options.bundleOptionsContainer).height() + 'px');
+            $(this.options.bundleProductSelector).animate(
+                {'left': '0px'},
+                this.options.slideSpeed,
+                $.proxy(function() {
+                    $(this.options.bundleOptionsContainer).hide();
+                    this.element.css('height','auto');
+                }, this)
+            );
+        },
+        _show: function  () {
+            $(this.options.bundleOptionsContainer).slideDown(800);
+            $('html, body').animate({
+                scrollTop: $(this.options.bundleOptionsContainer).offset().top
+            }, 600);
+        },
+        _hide: function  () {
+            $('html, body').animate({
+                scrollTop: 0
+            }, 600);
+            $(this.options.bundleOptionsContainer).slideUp(function(){800});
+        }
+    });
+}(jQuery));
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/catalog_product_view_type_bundle.xml b/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/catalog_product_view_type_bundle.xml
new file mode 100644
index 00000000000..fef09fb09da
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/catalog_product_view_type_bundle.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product View (Bundle)" type="page" parent="catalog_product_view">
+    <referenceBlock name="head">
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-bundle-bundle-js">
+            <arguments>
+                <argument name="file" xsi:type="string">Magento_Bundle::bundle.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-bundle-js-product-summary-js">
+            <arguments>
+                <argument name="file" xsi:type="string">Magento_Bundle::js/product-summary.js</argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+    <referenceBlock name="root">
+        <action method="addBodyClass">
+            <argument name="value" xsi:type="string">type-bundle</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="product.info">
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="bundle.summary" as="form_top" template="catalog/product/view/summary.phtml">
+            <block class="Magento\Bundle\Block\Catalog\Product\Price" name="bundle.prices" as="bundle_prices" template="catalog/product/view/price.phtml">
+                <action method="setMAPTemplate">
+                    <argument name="tmpl" xsi:type="string">Magento_Catalog::product/price_msrp_item.phtml</argument>
+                </action>
+            </block>
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.addtocart.bundle" as="addtocart" template="product/view/addtocart.phtml"/>
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.addto.bundle" as="addto" template="product/view/addto.phtml"/>
+        </block>
+    </referenceBlock>
+    <referenceBlock name="product.info.options.wrapper">
+        <block class="Magento\Catalog\Block\Product\View" name="bundle.product.view.options.notice" template="Magento_Bundle::catalog/product/view/options/notice.phtml"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View\Type\Bundle" name="product.info.bundle.options" as="type_bundle_options" template="catalog/product/view/type/bundle/options.phtml" before="-">
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">select</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Select</argument>
+            </action>
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">multi</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Multi</argument>
+            </action>
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">radio</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Radio</argument>
+            </action>
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">checkbox</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Checkbox</argument>
+            </action>
+        </block>
+    </referenceBlock>
+    <referenceBlock name="product.info.options.wrapper.bottom">
+        <remove name="product.tierprices"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="bundle.tierprices" as="tierprices" before="-" template="Magento_Bundle::catalog/product/view/tierprices.phtml"/>
+        <block class="Magento\CatalogInventory\Block\Qtyincrements" name="product.info.qtyincrements" before="-" template="qtyincrements.phtml"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="bundle.back.button" as="backButton" after="-" template="catalog/product/view/backbutton.phtml"/>
+        <action method="unsetChild">
+            <argument name="block" xsi:type="string">product.info.addtocart</argument>
+        </action>
+        <action method="setHideRequiredNotice">
+            <argument name="flag" xsi:type="string">1</argument>
+        </action>
+        <action method="unsetChild">
+            <argument name="block" xsi:type="string">product.info.addto</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <container name="bundle.options.container" label="invisible" htmlTag="div" htmlClass="bundle options container" after="product.info.media"/>
+        <move element="product.info" destination="bundle.options.container" before="-"/>
+    </referenceContainer>
+    <referenceContainer name="product.info.type">
+        <block class="Magento\Bundle\Block\Catalog\Product\View\Type\Bundle" name="product.info.bundle" as="product_type_data" template="catalog/product/view/type/bundle.phtml">
+            <action method="addPriceBlockType">
+                <argument name="type" xsi:type="string">bundle</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\Price</argument>
+                <argument name="template" xsi:type="string">catalog/product/view/price.phtml</argument>
+            </action>
+        </block>
+        <container name="product.info.bundle.extra" after="product.info.bundle" as="product_type_data_extra" label="Product Extra Info"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="customize.button" as="customize_button" template="catalog/product/view/customize.phtml"/>
+    </referenceContainer>
+    <referenceBlock name="product.clone_prices">
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">bundle</argument>
+            <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\Price</argument>
+            <argument name="template" xsi:type="string">catalog/product/view/price.phtml</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/checkout_cart_index.xml b/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/checkout_cart_index.xml
new file mode 100644
index 00000000000..f56f9a2b65b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/checkout_cart_index.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="checkout.cart.form">
+        <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::cart/item/default.phtml"/>
+    </referenceBlock>
+    <referenceBlock name="checkout.cart.crosssell">
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">bundle</argument>
+            <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\Price</argument>
+            <argument name="template" xsi:type="string">catalog/product/price.phtml</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/default.xml
new file mode 100644
index 00000000000..30de3dbeb47
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/default.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="wishlist_sidebar">
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">bundle</argument>
+            <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\Price</argument>
+            <argument name="template" xsi:type="string">catalog/product/price.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="catalog_product_price_template">
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">bundle</argument>
+            <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\Price</argument>
+            <argument name="template" xsi:type="string">catalog/product/price.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="minicart">
+        <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::cart/sidebar/default.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/layout/review_product_list.xml b/app/design/frontend/magento_plushe/Magento_Bundle/layout/review_product_list.xml
new file mode 100644
index 00000000000..db29516ed06
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/layout/review_product_list.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <remove name="customize.button"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/creditmemo/items/renderer.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/creditmemo/items/renderer.phtml
new file mode 100644
index 00000000000..23199f3a6a5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/creditmemo/items/renderer.phtml
@@ -0,0 +1,314 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $parentItem = $this->getItem() ?>
+
+<?php $items = $this->getChilds($parentItem) ?>
+<?php $_order = $this->getItem()->getOrderItem()->getOrder() ?>
+<?php $_count = count ($items) ?>
+<?php $_index = 0 ?>
+
+<?php $_prevOptionId = '' ?>
+
+<?php foreach ($items as $_item): ?>
+
+<?php if($this->getItemOptions() || $parentItem->getDescription() || $this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+    <?php $_showlastRow = true ?>
+<?php else: ?>
+    <?php $_showlastRow = false ?>
+<?php endif; ?>
+
+<?php if ($_item->getOrderItem()->getParentItem()): ?>
+    <?php $attributes = $this->getSelectionAttributes($_item) ?>
+    <?php if ($_prevOptionId != $attributes['option_id']): ?>
+    <tr>
+        <td class="col label" colspan="7"><div class="option label"><?php echo $attributes['option_label'] ?></div></td>
+    </tr>
+    <?php $_prevOptionId = $attributes['option_id'] ?>
+    <?php endif; ?>
+<?php endif; ?>
+<tr<?php echo (++$_index==$_count && !$_showlastRow)?' class="border"':'' ?> id="order-item-row-<?php echo $_item->getId() ?>">
+    <?php if (!$_item->getOrderItem()->getParentItem()): ?>
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+    </td>
+    <?php else: ?>
+    <td><div class="option-value"><?php echo $this->getValueHtml($_item) ?></div></td>
+    <?php endif; ?>
+    <td class="col sku"><?php echo $this->escapeHtml($_item->getSku()) ?></td>
+    <td class="col price">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total Incl. Tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <td class="col qty">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+            <?php echo $_item->getQty()*1 ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <td class="col subtotal">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+                <span class="price-excl-tax">
+                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                        <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <span class="cart-price">
+                        <?php endif; ?>
+                            <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                        <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            </span>
+                        <?php endif; ?>
+                    <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                    <?php else: ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                        <?php else: ?>
+                            <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                        <?php endif; ?>
+
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                        <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                                <small>
+                                <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                    <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                                <?php endforeach; ?>
+                                </small>
+                            <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                                <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                    <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                                <?php endforeach; ?>
+                            <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                                <small>
+                                <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                    <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                                <?php endforeach; ?>
+                                </small>
+                            <?php endif; ?>
+                        </span>
+
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                                <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                            </span>
+                        <?php endif; ?>
+                    <?php endif; ?>
+                </span>
+                <br />
+            <?php endif; ?>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+                <span class="price-incl-tax">
+                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                       <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <span class="cart-price">
+                        <?php endif; ?>
+                            <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                        <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            </span>
+                        <?php endif; ?>
+                        <?php echo $this->getOrder()->formatPrice($this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($_item)); ?>
+                    <?php endif; ?>
+                 </span>
+            <?php else: ?>
+                &nbsp;
+            <?php endif; ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <td class="col discount">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+            <?php echo $this->getOrder()->formatPrice(-$_item->getDiscountAmount()) ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+   </td>
+    <td class="col rowtotal">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+            <?php echo $this->getOrder()->formatPrice($_item->getRowTotal()-$_item->getDiscountAmount()+$_item->getTaxAmount()+$_item->getWeeeTaxAppliedRowAmount()) ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+</tr>
+<?php endforeach; ?>
+
+<?php if ($_showlastRow): ?>
+<tr>
+    <td class="col options" colspan="7">
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $parentItem->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $parentItem->getId()?>" data-item-id="<?php echo $parentItem->getId() ?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+</tr>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/invoice/items/renderer.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/invoice/items/renderer.phtml
new file mode 100644
index 00000000000..49fe7219b4a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/invoice/items/renderer.phtml
@@ -0,0 +1,330 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $parentItem = $this->getItem() ?>
+<?php $_order = $this->getItem()->getOrderItem()->getOrder() ?>
+
+<?php $items = $this->getChilds($parentItem) ?>
+<?php $_count = count ($items) ?>
+<?php $_index = 0 ?>
+
+<?php $_prevOptionId = '' ?>
+
+<?php foreach ($items as $_item): ?>
+
+<?php if($this->getItemOptions() || $parentItem->getDescription() || $this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+    <?php $_showlastRow = true ?>
+<?php else: ?>
+    <?php $_showlastRow = false ?>
+<?php endif; ?>
+
+<?php if ($_item->getOrderItem()->getParentItem()): ?>
+    <?php $attributes = $this->getSelectionAttributes($_item) ?>
+    <?php if ($_prevOptionId != $attributes['option_id']): ?>
+    <tr>
+        <td class="col label" colspan="5"><div class="option label"><?php echo $attributes['option_label'] ?></div></td>
+    </tr>
+    <?php $_prevOptionId = $attributes['option_id'] ?>
+    <?php endif; ?>
+<?php endif; ?>
+<tr<?php echo (++$_index==$_count && !$_showlastRow)?' class="border"':'' ?> id="order-item-row-<?php echo $_item->getId() ?>">
+    <?php if (!$_item->getOrderItem()->getParentItem()): ?>
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+    </td>
+    <?php else: ?>
+    <td class="col value"><div class="option value"><?php echo $this->getValueHtml($_item) ?></div></td>
+    <?php endif; ?>
+    <td class="col sku"><?php echo $this->escapeHtml($_item->getSku()) ?></td>
+    <td class="col price">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <td class="col qty">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+            <?php echo $_item->getQty()*1 ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <td class="col subtotal">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+            </span>
+        <?php endif; ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+</tr>
+<?php endforeach; ?>
+
+<?php if ($_showlastRow): ?>
+<tr>
+    <td class="col options" colspan="5">
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $parentItem->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $parentItem->getId()?>" data-item-id="<?php echo $parentItem->getId() ?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+</tr>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/items/renderer.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/items/renderer.phtml
new file mode 100644
index 00000000000..3692830fff3
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/items/renderer.phtml
@@ -0,0 +1,354 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $parentItem = $this->getItem() ?>
+<?php $items = array_merge(array($parentItem), $parentItem->getChildrenItems()); ?>
+<?php $_count = count ($items) ?>
+<?php $_index = 0 ?>
+
+<?php $_prevOptionId = '' ?>
+
+<?php foreach ($items as $_item): ?>
+
+<?php if($this->getItemOptions() || $parentItem->getDescription() || $this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+    <?php $_showlastRow = true ?>
+<?php else: ?>
+    <?php $_showlastRow = false ?>
+<?php endif; ?>
+
+<?php if ($_item->getParentItem()): ?>
+    <?php $attributes = $this->getSelectionAttributes($_item) ?>
+    <?php if ($_prevOptionId != $attributes['option_id']): ?>
+    <tr<?php if ($_item->getLastRow()) echo 'class="last"'; ?>>
+        <td class="col label" colspan="5"><div class="option label"><?php echo $attributes['option_label'] ?></div></td>
+    </tr>
+    <?php $_prevOptionId = $attributes['option_id'] ?>
+    <?php endif; ?>
+<?php endif; ?>
+<tr<?php echo (++$_index==$_count && !$_showlastRow)?' class="border"':'' ?> id="order-item-row-<?php echo $_item->getId() ?>">
+    <?php if (!$_item->getParentItem()): ?>
+        <td class="col name">
+            <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+        </td>
+    <?php else: ?>
+        <td class="col value"><div class="option value"><?php echo $this->getValueHtml($_item)?></div></td>
+    <?php endif; ?>
+    <td class="col sku"><?php echo $this->escapeHtml($this->helper('Magento\Core\Helper\String')->splitInjection($_item->getSku())) ?></td>
+    <td class="col price">
+        <?php if (!$_item->getParentItem()): ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <td class="col qty">
+        <?php if (($_item->getParentItem() && $this->isChildCalculated()) ||
+                (!$_item->getParentItem() && !$this->isChildCalculated())): ?>
+            <span class="nobr">
+            <?php if ($_item->getQtyOrdered() > 0): ?>
+                <?php echo __('Ordered'); ?>: <strong><?php echo $_item->getQtyOrdered()*1 ?></strong><br />
+            <?php endif; ?>
+            <?php if ($_item->getQtyShipped() > 0 && !$this->isShipmentSeparately()): ?>
+                <?php echo __('Shipped'); ?>: <strong><?php echo $_item->getQtyShipped()*1 ?></strong><br />
+            <?php endif; ?>
+            <?php if ($_item->getQtyCanceled() > 0): ?>
+                <?php echo __('Canceled'); ?>: <strong><?php echo $_item->getQtyCanceled()*1 ?></strong><br />
+            <?php endif; ?>
+            <?php if ($_item->getQtyRefunded() > 0): ?>
+                <?php echo __('Refunded'); ?>: <strong><?php echo $_item->getQtyRefunded()*1 ?></strong>
+            <?php endif; ?>
+            </span>
+        <?php elseif ($_item->getQtyShipped() > 0 && $_item->getParentItem() && $this->isShipmentSeparately()): ?>
+            <span class="nobr"><?php echo __('Shipped'); ?>: <strong><?php echo $_item->getQtyShipped()*1 ?></strong></span>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <td class="col subtotal">
+        <?php if (!$_item->getParentItem()): ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total Incl. Tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+            </span>
+        <?php endif; ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <!--
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+    <th class="a-right"><?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?></th>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+    <th class="a-right"><?php echo $this->getOrder()->formatPrice($this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem())); ?></th>
+    <?php endif; ?>
+    -->
+</tr>
+<?php endforeach; ?>
+<?php if ($_showlastRow): ?>
+<tr>
+    <td class="col options" colspan="5">
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $parentItem->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $parentItem->getId()?>" data-item-id="<?php echo $parentItem->getId()?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+</tr>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/shipment/items/renderer.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/shipment/items/renderer.phtml
new file mode 100644
index 00000000000..b7867220326
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/shipment/items/renderer.phtml
@@ -0,0 +1,109 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $parentItem = $this->getItem() ?>
+<?php $items = array_merge(array($parentItem->getOrderItem()), $parentItem->getOrderItem()->getChildrenItems()) ?>
+<?php $shipItems = $this->getChilds($parentItem) ?>
+<?php $_count = count ($items) ?>
+<?php $_index = 0 ?>
+
+<?php $_prevOptionId = '' ?>
+
+<?php foreach ($items as $_item): ?>
+
+<?php if($this->getItemOptions() || $parentItem->getDescription() || $this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+    <?php $_showlastRow = true ?>
+<?php else: ?>
+    <?php $_showlastRow = false ?>
+<?php endif; ?>
+
+<?php if ($_item->getParentItem()): ?>
+    <?php $attributes = $this->getSelectionAttributes($_item) ?>
+    <?php if ($_prevOptionId != $attributes['option_id']): ?>
+    <tr>
+        <td colspan="3" class="col label"><div class="option label"><?php echo $attributes['option_label'] ?></div></td>
+    </tr>
+    <?php $_prevOptionId = $attributes['option_id'] ?>
+    <?php endif; ?>
+<?php endif; ?>
+<tr<?php echo (++$_index==$_count && !$_showlastRow)?' class="border"':'' ?> id="order-item-row-<?php echo $_item->getId() ?>">
+    <?php if (!$_item->getParentItem()): ?>
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+    </td>
+    <?php else: ?>
+    <td class="col value"><div class="option value"><?php echo $this->getValueHtml($_item) ?></div></td>
+    <?php endif; ?>
+    <td class="col sku"><?php echo $this->escapeHtml($_item->getSku()) ?></td>
+    <td class="col price">
+        <?php if (($this->isShipmentSeparately() && $_item->getParentItem()) || (!$this->isShipmentSeparately() && !$_item->getParentItem())): ?>
+            <?php if (isset($shipItems[$_item->getId()])): ?>
+                <?php echo $shipItems[$_item->getId()]->getQty()*1 ?>
+            <?php elseif ($_item->getIsVirtual()): ?>
+                <?php echo __('N/A') ?>
+            <?php else: ?>
+                0
+            <?php endif; ?>
+        <?php else: ?>
+        &nbsp;
+        <?php endif; ?>
+    </td>
+</tr>
+<?php endforeach; ?>
+
+<?php if ($_showlastRow): ?>
+<tr>
+    <td class="col options" colspan="3">
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $parentItem->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $parentItem->getId()?>" data-item-id="<?php echo $parentItem->getId() ?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+</tr>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Captcha/captcha.js b/app/design/frontend/magento_plushe/Magento_Captcha/captcha.js
new file mode 100644
index 00000000000..dd6ef9edd81
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Captcha/captcha.js
@@ -0,0 +1,70 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    mage
+ * @package     captcha
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint browser:true jquery:true*/
+(function($, undefined) {
+    "use strict";
+    $.widget('mage.captcha', {
+        options: {
+            refreshClass: 'refreshing',
+            reloadSelector: '.captcha-reload',
+            imageSelector: '.captcha-img'
+        },
+
+        /**
+         * Method binds click event to reload image
+         * @private
+         */
+        _create: function() {
+            this.element.on('click', this.options.reloadSelector, $.proxy(this.refresh, this));
+        },
+
+        /**
+         * Method triggeres an AJAX request to refresh the CAPTCHA image
+         * @param e - Event
+         */
+        refresh: function(e) {
+            var reloadImage = $(e.currentTarget);
+            reloadImage.addClass(this.options.refreshClass);
+            $.ajax({
+                url: this.options.url,
+                type: 'post',
+                dataType: 'json',
+                context: this,
+                data: {
+                    'formId': this.options.type
+                },
+                success: function (response) {
+                    if (response.imgSrc) {
+                        this.element.find(this.options.imageSelector).attr('src', response.imgSrc);
+                    }
+                },
+                complete: function() {
+                    reloadImage.removeClass(this.options.refreshClass);
+                }
+            });
+        }
+    });
+})(jQuery);
+
diff --git a/app/design/frontend/magento_plushe/Magento_Captcha/default.phtml b/app/design/frontend/magento_plushe/Magento_Captcha/default.phtml
new file mode 100644
index 00000000000..7c9d351bfaf
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Captcha/default.phtml
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Mage
+ * @package     Magento_Captcha
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /* @var $this \Magento\Core\Block\Captcha\DefaultCaptcha */ ?>
+
+<?php /* @var $captcha \Magento\Core\Model\Captcha\DefaultCaptcha */ ?>
+<?php $captcha = $this->getCaptchaModel() ?>
+<div class="field captcha required" role="<?php echo $this->getFormId()?>">
+    <label for="captcha_<?php echo $this->getFormId() ?>" class="label"><span><?php echo __('Please type the letters below')?></span></label>
+    <div class="control captcha">
+        <input name="<?php echo \Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE ?>[<?php echo $this->getFormId()?>]" type="text" class="input-text required-entry" data-validate="{required:true}" id="captcha_<?php echo $this->getFormId() ?>" />
+        <div class="nested">
+            <div class="field captcha no-label" role="<?php echo $this->getFormId()?>" id="captcha-container-<?php echo $this->getFormId()?>">
+                <div class="control captcha-image">
+                    <button type="button" class="action reload captcha-reload" title="<?php echo __('Reload captcha') ?>"><span><?php echo __('Reload captcha') ?></span></button>
+                    <img alt="<?php echo __('Please type the letters below')?>" class="captcha-img" height="<?php echo $this->getImgHeight() ?>" src="<?php echo $captcha->getImgSrc() ?>"/>
+                    <?php if (!$captcha->isCaseSensitive()) :?>
+                    <div class="captcha-note note">
+                        <?php echo __('<strong>Attention</strong>: Captcha is case sensitive.') ?>
+                    </div>
+                    <?php endif; ?>
+                </div>
+                <script type="text/javascript">//<![CDATA[
+                (function ($) {
+                    head.js("<?php echo $this->getViewFileUrl('Magento_Captcha::captcha.js') ?>",function() {
+                        $('#captcha-container-<?php echo $this->getFormId()?>').captcha({
+                            url: '<?php echo $this->getRefreshUrl()?>',
+                            type: '<?php echo $this->getFormId() ?>'
+                        });
+                    });
+                })(jQuery);
+                //]]></script>
+            </div>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/checkout_onepage_index.xml b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/checkout_onepage_index.xml
new file mode 100644
index 00000000000..86dfd2318b8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/checkout_onepage_index.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="form.login.additional.info">
+        <block class="Magento\Captcha\Block\Captcha" name="captcha" after="-">
+            <action method="setFormId">
+                <argument name="formId" xsi:type="string">user_login</argument>
+            </action>
+            <action method="setImgWidth">
+                <argument name="width" xsi:type="string">230</argument>
+            </action>
+            <action method="setImgHeight">
+                <argument name="width" xsi:type="string">50</argument>
+            </action>
+        </block>
+    </referenceContainer>
+    <referenceContainer name="form.billing.additional.info">
+        <block class="Magento\Captcha\Block\Captcha" name="captcha.guest.checkout">
+            <referenceBlock name="head">
+                <block class="Magento\Page\Block\Html\Head\Script" name="magento-captcha-onepage-js">
+                    <arguments>
+                        <argument name="file" xsi:type="string">Magento_Captcha::onepage.js</argument>
+                    </arguments>
+                </block>
+            </referenceBlock>
+            <action method="setFormId">
+                <argument name="formId" xsi:type="string">guest_checkout</argument>
+            </action>
+            <action method="setImgWidth">
+                <argument name="width" xsi:type="string">230</argument>
+            </action>
+            <action method="setImgHeight">
+                <argument name="width" xsi:type="string">50</argument>
+            </action>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_create.xml b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_create.xml
new file mode 100644
index 00000000000..8a497d5df2d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_create.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="form.additional.info">
+        <block class="Magento\Captcha\Block\Captcha" name="captcha" after="-">
+            <action method="setFormId">
+                <argument name="formId" xsi:type="string">user_create</argument>
+            </action>
+            <action method="setImgWidth">
+                <argument name="width" xsi:type="string">230</argument>
+            </action>
+            <action method="setImgHeight">
+                <argument name="width" xsi:type="string">50</argument>
+            </action>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_forgotpassword.xml b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_forgotpassword.xml
new file mode 100644
index 00000000000..c61719c3ff9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_forgotpassword.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="form.additional.info">
+        <block class="Magento\Captcha\Block\Captcha" name="captcha" after="-">
+            <action method="setFormId">
+                <argument name="formId" xsi:type="string">user_forgotpassword</argument>
+            </action>
+            <action method="setImgWidth">
+                <argument name="width" xsi:type="string">230</argument>
+            </action>
+            <action method="setImgHeight">
+                <argument name="width" xsi:type="string">50</argument>
+            </action>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_login.xml b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_login.xml
new file mode 100644
index 00000000000..95dff1a4b3f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_login.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="form.additional.info">
+        <block class="Magento\Captcha\Block\Captcha" name="captcha" after="-">
+            <action method="setFormId">
+                <argument name="formId" xsi:type="string">user_login</argument>
+            </action>
+            <action method="setImgWidth">
+                <argument name="width" xsi:type="string">230</argument>
+            </action>
+            <action method="setImgHeight">
+                <argument name="width" xsi:type="string">50</argument>
+            </action>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Captcha/onepage.js b/app/design/frontend/magento_plushe/Magento_Captcha/onepage.js
new file mode 100644
index 00000000000..42e01875c09
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Captcha/onepage.js
@@ -0,0 +1,40 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    mage
+ * @package     captcha
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint browser:true jquery:true*/
+(function($, window, document, undefined) {
+    "use strict";
+
+    $(document).on("login:setMethod", function() {
+        $("[role='guest_checkout'], [role='register_during_checkout']").hide();
+        var type = ($("#login\\:guest").is(':checked')) ? 'guest_checkout' : 'register_during_checkout';
+        $("[role='" + type + "']").show();
+    });
+
+    $(document).on('billing-request:completed', function() {
+        if (typeof window.checkout !== 'undefined') {
+            $(".captcha-reload:visible").trigger("click");
+        }
+    });
+})(jQuery, window, document);
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/category/title.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/category/title.phtml
new file mode 100644
index 00000000000..ac3fc02f0b8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/category/title.phtml
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Category title template
+ *
+ * @see \Magento\Catalog\Block\Category\View
+ */
+?>
+<?php
+    $_helper    = $this->helper('Magento\Catalog\Helper\Output');
+    $_category  = $this->getCurrentCategory();
+?>
+<hgroup class="page category title yyy">
+    <h1 class="title"><?php echo $_helper->categoryAttribute($_category, $this->getCurrentCategory()->getName(), 'name') ?></h1>
+    <?php if($this->IsRssCatalogEnable()): ?>
+        <a href="<?php echo $this->getRssLink() ?>" title="<?php echo __('Subscribe to RSS Feed') ?>" class="action rss"><?php echo __('Subscribe to RSS Feed') ?></a>
+    <?php endif; ?>
+</hgroup>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/category/view.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/category/view.phtml
new file mode 100644
index 00000000000..4d40df3d1f6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/category/view.phtml
@@ -0,0 +1,63 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Category view template
+ *
+ * @see \Magento\Catalog\Block\Category\View
+ */
+?>
+<?php
+    $_helper    = $this->helper('Magento\Catalog\Helper\Output');
+    $_category  = $this->getCurrentCategory();
+    $_imgHtml   = '';
+    if ($_imgUrl = $_category->getImageUrl()) {
+        $_imgHtml = '<p class="category-image"><img src="'.$_imgUrl.'" alt="'.$this->escapeHtml($_category->getName()).'" title="'.$this->escapeHtml($_category->getName()).'" /></p>';
+        $_imgHtml = $_helper->categoryAttribute($_category, $_imgHtml, 'image');
+    }
+?>
+<div class="category-view">
+    <?php if($_imgUrl): ?>
+        <?php echo $_imgHtml ?>
+    <?php endif; ?>
+
+    <?php if($_description=$this->getCurrentCategory()->getDescription()): ?>
+        <div class="category description std">
+            <?php echo $_helper->categoryAttribute($_category, $_description, 'description') ?>
+        </div>
+    <?php endif; ?>
+
+    <?php if($this->isContentMode()): ?>
+        <?php echo $this->getCmsBlockHtml() ?>
+
+    <?php elseif($this->isMixedMode()): ?>
+        <?php echo $this->getCmsBlockHtml() ?>
+        <?php echo $this->getProductListHtml() ?>
+
+    <?php else: ?>
+        <?php echo $this->getProductListHtml() ?>
+    <?php endif; ?>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/category/widget/link/link_block.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/category/widget/link/link_block.phtml
new file mode 100644
index 00000000000..f57a72063c9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/category/widget/link/link_block.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="widget category link"><a <?php echo $this->getLinkAttributes() ?>><span><?php echo $this->escapeHtml($this->getAnchorText()) ?></span></a></div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/category/widget/link/link_inline.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/category/widget/link/link_inline.phtml
new file mode 100644
index 00000000000..4d36857a851
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/category/widget/link/link_inline.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<span class="widget category link"><a <?php echo $this->getLinkAttributes() ?>><span><?php echo $this->escapeHtml($this->getAnchorText()) ?></span></a></span>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/js/list.js b/app/design/frontend/magento_plushe/Magento_Catalog/js/list.js
new file mode 100644
index 00000000000..1ed2bc05207
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/js/list.js
@@ -0,0 +1,74 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    mage compare list
+ * @package     mage
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint browser:true jquery:true*/
+(function ($, window) {
+    $.widget('mage.compareList', {
+        _create: function() {
+
+            var elem = this.element,
+                products = $('thead td', elem);
+
+            if (products.length > this.options.productsInRow) {
+                var headings = $('<table/>')
+                    .addClass('comparison headings data table')
+                    .insertBefore(elem.closest('.container'));
+                elem.addClass('scroll');
+
+                $('th', elem).each(function(){
+                    var th = $(this),
+                        thCopy = th.clone();
+
+                    th.animate({
+                        top: '+=0'
+                    }, 50, function(){
+                        var height;
+                        if ($.browser.mozilla && $.browser.version <= '11.0') {
+                            height = th.outerHeight();
+                        }
+                        else {
+                            height = th.height();
+                        }
+                        thCopy.css('height', height)
+                            .appendTo(headings)
+                            .wrap('<tr />');
+                    });
+                });
+            }
+
+            $(this.options.windowPrintSelector).on('click', function(e) {
+                e.preventDefault();
+                window.print();
+            });
+
+            $.each(this.options.selectors, function(i, selector) {
+                $(selector).on('click', function(e) {
+                    e.preventDefault();
+                    window.location.href = $(this).data('url');
+                });
+            });
+
+        }
+    });
+})(jQuery, window);
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layer/filter.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/layer/filter.phtml
new file mode 100644
index 00000000000..4a504db5622
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layer/filter.phtml
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for filter items block
+ *
+ * @see \Magento\Catalog\Block\Layer\Filter
+ */
+?>
+
+<ol class="items">
+<?php foreach ($this->getItems() as $_item): ?>
+    <li class="item">
+        <?php if ($_item->getCount() > 0): ?>
+        <a href="<?php echo $this->escapeUrl($_item->getUrl()) ?>"><?php echo $_item->getLabel() ?></a>
+        <?php else: echo $_item->getLabel() ?>
+        <?php endif; ?>
+        <?php if ($this->shouldDisplayProductCount()): ?>
+        <span class="count"><?php echo $_item->getCount() ?></span>
+        <?php endif; ?>
+    </li>
+<?php endforeach ?>
+</ol>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layer/state.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/layer/state.phtml
new file mode 100644
index 00000000000..5a896c8ce71
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layer/state.phtml
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Category layered navigation state
+ *
+ * @see \Magento\Catalog\Block\Layer\State
+ */
+?>
+<?php $_filters = $this->getActiveFilters() ?>
+<?php if(!empty($_filters)): ?>
+<div class="filtered">
+    <strong class="subtitle"><?php echo __('Currently Shopping by:') ?></strong>
+    <ol class="items">
+    <?php foreach ($_filters as $_filter): ?>
+        <li class="item">
+            <span class="label"><?php echo __($_filter->getName()) ?>:</span>
+            <span class="value"><?php echo $this->stripTags($_filter->getLabel()) ?></span>
+            <?php
+                $clearLinkUrl = $_filter->getClearLinkUrl();
+                if ($clearLinkUrl):
+            ?>
+                <a  class="action previous" href="<?php echo $_filter->getRemoveUrl() ?>" title="<?php echo __('Previous') ?>">
+                    <span><?php echo __('Previous') ?></span>
+                </a>
+                <a  class="action remove" title="<?php echo $this->escapeHtml($_filter->getFilter()->getClearLinkText()) ?>" href="<?php echo $clearLinkUrl ?>">
+                    <span><?php echo $this->escapeHtml($_filter->getFilter()->getClearLinkText()) ?></span>
+                </a>
+            <?php else: ?>
+                <a  class="action remove" href="<?php echo $_filter->getRemoveUrl() ?>" title="<?php echo __('Remove This Item') ?>">
+                    <span><?php echo __('Remove This Item') ?></span>
+                </a>
+            <?php endif; ?>
+        </li>
+    <?php endforeach; ?>
+    </ol>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layer/view.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/layer/view.phtml
new file mode 100644
index 00000000000..6216489ee8b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layer/view.phtml
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Category layered navigation
+ *
+ * @deprecated since 1.12.0.0
+ */
+?>
+<?php if($this->canShowBlock()): ?>
+<div class="block filter">
+    <div class="title">
+        <strong><?php echo __('Shop By') ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getStateHtml() ?>
+        <?php if ($this->getLayer()->getState()->getFilters()): ?>
+        <div class="actions">
+            <a href="<?php echo $this->getClearUrl() ?>" class="action reset"><?php echo __('Clear All') ?></a>
+        </div>
+        <?php endif; ?>
+        <strong class="subtitle"><?php echo __('Shopping Options') ?></strong>
+        <dl class="options" id="narrow-by-list">
+            <?php $_filters = $this->getFilters() ?>
+            <?php foreach ($_filters as $_filter): ?>
+            <?php if($_filter->getItemsCount()): ?>
+                <dt><?php echo __($_filter->getName()) ?></dt>
+                <dd><?php echo $_filter->getHtml() ?></dd>
+            <?php endif; ?>
+            <?php endforeach; ?>
+        </dl>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_category_view.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_category_view.xml
new file mode 100644
index 00000000000..204dba582da
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_category_view.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="product_list">
+        <arguments>
+            <!-- If position of argument is depend on image size changable in VDE:
+                positions:list-secondary,grid-secondary,list-actions,grid-actions,list-primary,grid-primary<
+            -->
+            <argument name="positioned" xsi:type="string">positions:list-secondary</argument>
+        </arguments>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_compare_index.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_compare_index.xml
new file mode 100644
index 00000000000..b40295454ee
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_compare_index.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_one_column"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="page_title" xsi:type="string">Compare Products</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_view.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_view.xml
new file mode 100644
index 00000000000..16e0c3b2030
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_view.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="product.info.overview">
+        <arguments>
+            <argument name="at_label" xsi:type="string">none</argument>
+            <argument name="title" translate="true" xsi:type="string">Overview</argument>
+        </arguments>
+        <action method="addToParentGroup">
+            <argument name="group" xsi:type="string">detailed_info</argument>
+        </action>
+    </referenceBlock>
+    <move element="product.info" destination="product.info.main" after="product.tierprices"/>
+    <move element="page.main.title" destination="product.info.main" before="-"/>
+    <!-- <remove name="product.info.sku"/> -->
+    <move element="product.info.overview" destination="product.info.details" before="-" as="product_overview"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_view_type_grouped.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_view_type_grouped.xml
new file mode 100644
index 00000000000..6ee5a363ead
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_view_type_grouped.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+</layout>
diff --git a/app/code/Magento/PageCache/etc/di.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/default.xml
similarity index 67%
rename from app/code/Magento/PageCache/etc/di.xml
rename to app/design/frontend/magento_plushe/Magento_Catalog/layout/default.xml
index 8de7f62d82f..6268243ca28 100644
--- a/app/code/Magento/PageCache/etc/di.xml
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/default.xml
@@ -23,19 +23,9 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 -->
-<config>
-    <type name="Magento\PageCache\Helper\Data">
-        <param name="cacheControls">
-            <value>
-                <zendPageCache>
-                    <class>
-                       \Magento\PageCache\Model\Control\Zend
-                    </class>
-                    <label>
-                        Zend Full Page Cache
-                    </label>
-                </zendPageCache>
-            </value>
-        </param>
-    </type>
-</config>
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <!-- <block class="Magento\Catalog\Block\Product\Compare\Sidebar" name="catalog.compare.link" template="Magento_Catalog::product/compare/link.phtml"/> -->
+    <referenceBlock name="header.links">
+        <block class="Magento\Core\Block\Template" name="catalog.compare.link" before="-" template="Magento_Catalog::product/compare/link.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view.xml
new file mode 100644
index 00000000000..34ec89d16c3
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Category" type="page" parent="default">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">2columns-left.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <block class="Magento\Catalog\Block\Category\View" name="category.products" template="category/view.phtml">
+            <block class="Magento\Catalog\Block\Product\ListProduct" name="product_list" template="product/list.phtml">
+                <block class="Magento\Catalog\Block\Product\ProductList\Toolbar" name="product_list_toolbar" template="product/list/toolbar.phtml">
+                    <block class="Magento\Page\Block\Html\Pager" name="product_list_toolbar_pager"/>
+                    <!-- The following code shows how to set your own pager increments -->
+                    <!--
+                        <action method="setDefaultListPerPage">
+                        <argument name="limit" xsi:type="string">4</argument>
+                    </action>
+                    <action method="setDefaultGridPerPage">
+                        <argument name="limit" xsi:type="string">3</argument>
+                    </action>
+                    <action method="addPagerLimit">
+                        <argument name="mode" xsi:type="string">list</argument>
+                        <argument name="limit" xsi:type="string">2</argument>
+                    </action>
+                    <action method="addPagerLimit">
+                        <argument name="mode" xsi:type="string">list</argument>
+                        <argument name="limit" xsi:type="string">4</argument>
+                    </action>
+                    <action method="addPagerLimit">
+                        <argument name="mode" xsi:type="string">list</argument>
+                        <argument name="limit" xsi:type="string">6</argument>
+                    </action>
+                    <action method="addPagerLimit">
+                        <argument name="mode" xsi:type="string">list</argument>
+                        <argument name="limit" xsi:type="string">8</argument>
+                    </action>
+                    <action method="addPagerLimit" translate="label">
+                        <argument name="mode" xsi:type="string">list</argument>
+                        <argument name="limit" xsi:type="string">all</argument>
+                        <argument name="label" xsi:type="string">All</argument>
+                    </action>
+                    <action method="addPagerLimit">
+                        <argument name="mode" xsi:type="string">grid</argument>
+                        <argument name="limit" xsi:type="string">3</argument>
+                    </action>
+                    <action method="addPagerLimit">
+                        <argument name="mode" xsi:type="string">grid</argument>
+                        <argument name="limit" xsi:type="string">6</argument>
+                    </action>
+                    <action method="addPagerLimit">
+                        <argument name="mode" xsi:type="string">grid</argument>
+                        <argument name="limit" xsi:type="string">9</argument>
+                    </action>
+                    <action method="addPagerLimit" translate="label">
+                        <argument name="mode" xsi:type="string">grid</argument>
+                        <argument name="limit" xsi:type="string">all</argument>
+                        <argument name="label" xsi:type="string">All</argument>
+                    </action>
+                    -->
+                </block>
+                <action method="setToolbarBlockName">
+                    <argument name="name" xsi:type="string">product_list_toolbar</argument>
+                </action>
+            </block>
+        </block>
+    </referenceContainer>
+    <update handle="MAP_popup"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view_type_default.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view_type_default.xml
new file mode 100644
index 00000000000..fd6d078f24f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view_type_default.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Non Anchor Catalog Category" type="page" parent="catalog_category_view">
+    <referenceContainer name="left">
+        <block class="Magento\Catalog\Block\Navigation" name="catalog.leftnav" before="-" template="navigation/left.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view_type_layered.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view_type_layered.xml
new file mode 100644
index 00000000000..288770e392f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view_type_layered.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Anchor Catalog Category" type="page" parent="catalog_category_view">
+    <referenceContainer name="left">
+        <block class="Magento\Catalog\Block\Layer\View" name="catalog.leftnav" before="-" template="layer/view.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_compare_index.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_compare_index.xml
new file mode 100644
index 00000000000..3a704346d3d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_compare_index.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product Compare List" type="page" parent="default">
+    <referenceContainer name="content">
+        <block class="Magento\Catalog\Block\Product\Compare\ListCompare" name="catalog.compare.list" template="product/compare/list.phtml"/>
+    </referenceContainer>
+    <update handle="MAP_popup"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view.xml
new file mode 100644
index 00000000000..508164ddc25
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view.xml
@@ -0,0 +1,145 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product View (Any)" type="page" parent="default">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">1column.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="page.main.title">
+        <arguments>
+            <argument name="css_class" xsi:type="string">product</argument>
+        </arguments>
+    </referenceBlock>
+    <referenceBlock name="head">
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-zoom-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/zoom.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Css" name="mage-gallery-css">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/gallery.css</argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+    <update handle="page_calendar"/>
+    <block class="Magento\Catalog\Block\Product\View" name="product.info" template="product/view/form.phtml">
+        <container name="product.info.form.content" label="invisible" as="product_info_form_content">
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.addtocart" as="addtocart" template="product/view/addtocart.phtml"/>
+        </container>
+        <block class="Magento\Core\Block\Template" name="product.info.form.options" as="options_container">
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.options.wrapper" as="product_options_wrapper" template="product/view/options/wrapper.phtml">
+                <block class="Magento\Catalog\Block\Product\View\Options" name="product.info.options" as="product_options" template="product/view/options.phtml">
+                    <block class="Magento\Catalog\Block\Product\View\Options\Type\DefaultType" as="default" template="product/view/options/type/default.phtml"/>
+                    <block class="Magento\Catalog\Block\Product\View\Options\Type\Text" as="text" template="product/view/options/type/text.phtml"/>
+                    <block class="Magento\Catalog\Block\Product\View\Options\Type\File" as="file" template="product/view/options/type/file.phtml"/>
+                    <block class="Magento\Catalog\Block\Product\View\Options\Type\Select" as="select" template="product/view/options/type/select.phtml"/>
+                    <block class="Magento\Catalog\Block\Product\View\Options\Type\Date" as="date" template="product/view/options/type/date.phtml"/>
+                </block>
+                <block class="Magento\Core\Block\Html\Calendar" name="html_calendar" as="html_calendar" template="Magento_Page::js/calendar.phtml"/>
+            </block>
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.options.wrapper.bottom" as="product_options_wrapper_bottom" template="product/view/options/wrapper/bottom.phtml">
+                <block class="Magento\Catalog\Block\Product\View" name="product.info.addtocart.additional" as="product.info.addtocart" template="product/view/addtocart.phtml"/>
+                <block class="Magento\Catalog\Block\Product\View" name="product.clone_prices" as="prices" template="product/view/price_clone.phtml"/>
+            </block>
+        </block>
+    </block>
+    <referenceContainer name="content">
+        <container name="product.info.main" label="invisible" htmlTag="div" htmlClass="product info main" before="-">
+            <block class="Magento\Catalog\Block\Product\View" name="product.price" template="product/view/price.phtml"/>
+            <block class="Magento\Catalog\Block\Product\View\Description" name="product.info.sku" template="product/view/attribute.phtml">
+                <arguments>
+                    <argument name="at_call" xsi:type="string">getSku</argument>
+                    <argument name="at_code" xsi:type="string">sku</argument>
+                    <argument name="css_class" xsi:type="string">sku</argument>
+                    <argument name="at_label" xsi:type="string">default</argument>
+                </arguments>
+            </block>
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.rating" template="product/view/rating.phtml"/>
+            <block class="Magento\Catalog\Block\Product\View\Description" name="product.info.overview" template="product/view/attribute.phtml">
+                <arguments>
+                    <argument name="at_call" xsi:type="string">getShortDescription</argument>
+                    <argument name="at_code" xsi:type="string">short_description</argument>
+                    <argument name="css_class" xsi:type="string">overview</argument>
+                    <argument name="at_label" translate="true" xsi:type="string">Overview</argument>
+                    <argument name="title" translate="true" xsi:type="string">Details</argument>
+                </arguments>
+            </block>
+            <container name="alert.urls" as="alert_urls" label="Alert Urls"/>
+            <container name="product.info.type" label="invisible"/>
+            <block class="Magento\Catalog\Block\Product\View" name="product.tierprices" as="tierprices" template="product/view/tierprices.phtml"/>
+            <container name="product.info.extrahint" as="extrahint" label="Product View Extra Hint"/>
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.addto" as="addto" template="product/view/addto.phtml"/>
+            <container name="product.info.social" label="Product social links container" htmlTag="div" htmlClass="social links product">
+                <block class="Magento\Catalog\Block\Product\View" name="product.info.mailto" template="product/view/mailto.phtml"/>
+            </container>
+        </container>
+        <container name="product.info.media" label="invisible" htmlTag="div" htmlClass="product media" after="product.info.main">
+            <block class="Magento\Catalog\Block\Product\View\Gallery" name="product.info.media.image" template="product/view/base-image.phtml">
+                <block class="Magento\Catalog\Block\Product\Image" name="product.image.main"/>
+                <block class="Magento\Catalog\Block\Product\Image" name="product.image.thumbs"/>
+            </block>
+        </container>
+        <block class="Magento\Catalog\Block\Product\View\Description" name="product.info.details" template="product/view/details.phtml">
+            <block class="Magento\Catalog\Block\Product\View\Description" name="product.info.description" template="product/view/attribute.phtml">
+                <arguments>
+                    <argument name="at_call" xsi:type="string">getDescription</argument>
+                    <argument name="at_code" xsi:type="string">description</argument>
+                    <argument name="css_class" xsi:type="string">description</argument>
+                    <argument name="at_label" xsi:type="string">none</argument>
+                    <argument name="title" translate="true" xsi:type="string">Details</argument>
+                </arguments>
+                <action method="addToParentGroup">
+                    <argument name="group" xsi:type="string">detailed_info</argument>
+                </action>
+            </block>
+            <block class="Magento\Catalog\Block\Product\View\Attributes" name="product.attributes" as="additional" template="product/view/attributes.phtml">
+                <arguments>
+                    <argument translate="true" name="title" xsi:type="string">Additional Information</argument>
+                </arguments>
+                <action method="addToParentGroup">
+                    <argument name="group" xsi:type="string">detailed_info</argument>
+                </action>
+            </block>
+        </block>
+    </referenceContainer>
+    <referenceContainer name="content.aside">
+        <block class="Magento\Catalog\Block\Product\ProductList\Related" name="catalog.product.related" template="Magento_Catalog::product/list/items.phtml">
+            <arguments>
+                <argument name="type" xsi:type="string">related</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Catalog\Block\Product\ProductList\Upsell" name="product.info.upsell" template="Magento_Catalog::product/list/items.phtml">
+            <arguments>
+                <argument name="type" xsi:type="string">upsell</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Catalog\Block\Product\View\Additional" name="product.info.additional" as="product_additional_data"/>
+    </referenceContainer>
+    <update handle="MAP_popup"/>
+    <update handle="MAP_price_msrp_item"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_configurable.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_configurable.xml
new file mode 100644
index 00000000000..c17f71b4eb1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_configurable.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product View (Configurable)" type="page" parent="catalog_product_view">
+    <referenceBlock name="root">
+        <action method="addBodyClass">
+            <argument name="value" xsi:type="string">type-configurable</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="product.info.type">
+        <block class="Magento\Catalog\Block\Product\View\Type\Configurable" name="product.info.configurable" as="product_type_data" template="product/view/type/default.phtml"/>
+        <container name="product.info.configurable.extra" after="product.info.configurable" as="product_type_data_extra" label="Product Extra Info"/>
+    </referenceContainer>
+    <referenceBlock name="product.info.options.wrapper">
+        <block class="Magento\Catalog\Block\Product\View\Type\Configurable" name="product.info.options.configurable" as="options_configurable" before="-" template="product/view/type/options/configurable.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_grouped.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_grouped.xml
new file mode 100644
index 00000000000..c72de82bdac
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_grouped.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product View (Grouped)" type="page" parent="catalog_product_view">
+    <referenceContainer name="product.info.form.content">
+        <block class="Magento\Catalog\Block\Product\View\Type\Grouped" name="product.info.grouped" before="product.info.addtocart" template="product/view/type/grouped.phtml"/>
+        <container name="product.info.grouped.extra" after="product.info.grouped" before="product.info.grouped" as="product_type_data_extra" label="Product Extra Info"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_simple.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_simple.xml
new file mode 100644
index 00000000000..7ed2cfd9131
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_simple.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product View (Simple)" type="page" parent="catalog_product_view">
+    <referenceContainer name="product.info.type">
+        <block class="Magento\Catalog\Block\Product\View\Type\Simple" name="product.info.simple" as="product_type_data" template="product/view/type/default.phtml"/>
+        <container name="product.info.simple.extra" after="product.info.simple" as="product_type_data_extra" label="Product Extra Info"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_virtual.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_virtual.xml
new file mode 100644
index 00000000000..29c391803b6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_virtual.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product View (Virtual)" type="page" parent="catalog_product_view">
+    <referenceContainer name="product.info.type">
+        <block class="Magento\Catalog\Block\Product\View\Type\Virtual" name="product.info.virtual" as="product_type_data" template="product/view/type/default.phtml"/>
+        <container name="product.info.virtual.extra" after="product.info.virtual" as="product_type_data_extra" label="Product Extra Info"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/default.xml
new file mode 100644
index 00000000000..c22c8528c0d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/default.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="right">
+        <block class="Magento\Catalog\Block\Product\Compare\Sidebar" name="catalog.compare.sidebar" template="product/compare/sidebar.phtml"/>
+    </referenceContainer>
+    <block class="Magento\Catalog\Block\Product\Price\Template" name="catalog_product_price_template"/>
+    <referenceBlock name="catalog_product_price_template">
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">msrp</argument>
+            <argument name="block" xsi:type="string">Magento\Catalog\Block\Product\Price</argument>
+            <argument name="template" xsi:type="string">product/price_msrp.phtml</argument>
+        </action>
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">msrp_item</argument>
+            <argument name="block" xsi:type="string">Magento\Catalog\Block\Product\Price</argument>
+            <argument name="template" xsi:type="string">product/price_msrp_item.phtml</argument>
+        </action>
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">msrp_noform</argument>
+            <argument name="block" xsi:type="string">Magento\Catalog\Block\Product\Price</argument>
+            <argument name="template" xsi:type="string">product/price_msrp_noform.phtml</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/navigation/left.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/navigation/left.phtml
new file mode 100644
index 00000000000..200d38687e6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/navigation/left.phtml
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Category left navigation
+ *
+ * @see \Magento\Catalog\Block\Navigation
+ */
+?>
+<?php if (!$this->getCategory()) return ?>
+<?php $_categories = $this->getCurrentChildCategories() ?>
+<?php $_count = is_array($_categories)?count($_categories):$_categories->count(); ?>
+<?php if($_count): ?>
+<div class="block filter">
+    <div class="title">
+        <strong><?php echo __('Shop By') ?></strong>
+    </div>
+    <div class="content">
+        <strong class="subtitle"><?php echo __('Shopping Options') ?></strong>
+        <dl class="options" id="narrow-by-list2">
+            <dt><?php echo __('Category') ?></dt>
+            <dd>
+                <ol class="items">
+                <?php foreach ($_categories as $_category): ?>
+                    <?php if($_category->getIsActive()): ?>
+                    <li class="item">
+                        <a href="<?php echo $this->getCategoryUrl($_category) ?>"<?php if ($this->isCategoryActive($_category)): ?> class="current"<?php endif; ?>><?php echo $this->escapeHtml($_category->getName()) ?></a>
+                        <span class="count"><?php echo $_category->getProductCount() ?></span>
+                    </li>
+                    <?php endif; ?>
+                <?php endforeach ?>
+                </ol>
+            </dd>
+        </dl>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/link.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/link.phtml
new file mode 100644
index 00000000000..288e5ce1f9a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/link.phtml
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Catalog\Block\Product\Compare\Sidebar */
+?>
+<?php
+$_helper = $this->helper('Magento\Catalog\Helper\Product\Compare');
+$_items = $_helper->getItemCount() > 0 ? $_helper->getItemCollection() : null;
+?>
+<?php if($_helper->getItemCount() > 0): ?>
+    <li class="item link compare">
+        <a class="action compare" href="<?php echo $_helper->getListUrl() ?>" title="<?php echo __('Compare Products') ?>">
+            <span>
+                <?php echo __('Compare Products') ?><span class="qty"><?php echo __('%1', $_helper->getItemCount()) ?></span>
+            </span>
+        </a>
+    </li>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/list.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/list.phtml
new file mode 100644
index 00000000000..f959e3087b4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/list.phtml
@@ -0,0 +1,150 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_total=$this->getItems()->getSize() ?>
+<?php if($_total): ?>
+<a href="#" class="action print" title="<?php echo __('Print This Page') ?>">
+    <span><?php echo __('Print This Page') ?></span>
+</a>
+<?php $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image'); ?>
+<div class="comparison wrapper">
+<div class="comparison container">
+    <table class="data-table data table comparison" id="product-comparison">
+        <thead>
+            <tr>
+            <?php $_i=0 ?>
+            <?php foreach($this->getItems() as $_item): ?>
+                <?php if($_i++==0): ?>
+                    <th class="cell label remove">&nbsp;</th>
+                <?php endif; ?>
+                <td class="cell remove product">
+                    <a href="<?php echo $this->helper('Magento\Catalog\Helper\Product\Compare')->getRemoveUrl($_item) ?>" class="action delete" title="<?php echo __('Remove Product') ?>">
+                        <span><?php echo __('Remove Product') ?></span>
+                    </a>
+                </td>
+            <?php endforeach; ?>
+            </tr>
+        </thead>
+        <tbody>
+            <tr>
+            <?php $_i = 0; ?>
+            <?php $_helper = $this->helper('Magento\Catalog\Helper\Output'); ?>
+            <?php foreach($this->getItems() as $_item): ?>
+                <?php if($_i++==0): ?>
+                    <th class="cell label product">&nbsp;</th>
+                <?php endif; ?>
+                <td class="cell product info">
+                    <a class="product photo" href="<?php echo $this->getProductUrl($_item) ?>" title="<?php echo $this->stripTags($_item->getName(), null, true) ?>">
+                        <!-- product_comparison_list -->
+                        <?php echo $imageBlock->init($_item, 'product_comparison_list')->toHtml() ?>
+                    </a>
+                    <strong class="product name">
+                        <a href="<?php echo $this->getProductUrl($_item) ?>" title="<?php echo $this->stripTags($_item->getName(), null, true) ?>">
+                            <?php echo $_helper->productAttribute($_item, $_item->getName(), 'name') ?>
+                        </a>
+                    </strong>
+                    <?php echo $this->getReviewsSummaryHtml($_item, 'short') ?>
+                    <?php echo $this->getPriceHtml($_item, true, '-compare-list-top') ?>
+                    <div class="product actions">
+                        <div class="primary">
+                    <?php if($_item->isSaleable()): ?>
+                        <button type="button" class="action tocart" data-url="<?php echo $this->helper('Magento\Catalog\Helper\Product\Compare')->getAddToCartUrl($_item) ?>">
+                            <span><?php echo __('Add to Cart') ?></span>
+                        </button>
+                    <?php else: ?>
+                        <?php if ($_item->getIsSalable()): ?>
+                            <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                        <?php else: ?>
+                            <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                        <?php endif; ?>
+                    <?php endif; ?>
+                        </div>
+                    <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow()) : ?>
+                        <div class="secondary addto links">
+                            <a href="<?php echo $this->helper('Magento\Catalog\Helper\Product\Compare')->getAddToWishlistUrl($_item) ?>" class="action towishlist" data-action="add-to-wishlist">
+                                <span><?php echo __('Add to Wishlist') ?></span>
+                            </a>
+                        </div>
+                    <?php endif; ?>
+                    </div>
+                </td>
+            <?php endforeach; ?>
+            </tr>
+        </tbody>
+        <tbody>
+        <?php foreach ($this->getAttributes() as $_attribute): ?>
+            <tr>
+                <?php $_i = 0 ?>
+                <?php foreach($this->getItems() as $_item): ?>
+                <?php if($_i++==0): ?>
+                <th class="cell label">
+                    <span class="attribute label">
+                        <?php echo $_attribute->getStoreLabel() ? $_attribute->getStoreLabel() : __($_attribute->getFrontendLabel()) ?>
+                    </span>
+                </th>
+                <?php endif; ?>
+                <td class="cell product attribute">
+                    <div class="attibute value">
+                    <?php switch ($_attribute->getAttributeCode()) {
+                        case "price": ?>
+                            <?php echo $this->getPriceHtml($_item, true, '-compare-list-' . $_attribute->getCode()) ?>
+                            <?php break;
+                        case "small_image": ?>
+                            <img src="<?php echo $this->getSmallImageUrl($_item); ?>" width="<?php echo $this->getSmallImageSize()?>" height="<?php echo $this->getSmallImageSize()?>" alt="<?php echo $this->stripTags($_item->getName(), null, true) ?>" />
+                            <?php break;
+                        default: ?>
+                            <?php echo $_helper->productAttribute($_item, $this->getProductAttributeValue($_item, $_attribute), $_attribute->getAttributeCode()) ?>
+                            <?php break;
+                    } ?>
+                    </div>
+                </td>
+                <?php endforeach; ?>
+            </tr>
+        <?php endforeach; ?>
+        </tbody>
+    </table>
+</div>
+</div>
+<?php else: ?>
+    <p class="empty"><?php echo __('You have no items to compare.') ?></p>
+<?php endif; ?>
+
+<script type="text/javascript">
+    (function($, window) {
+    <?php if ($_total): ?>
+        head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/list.js')?>", function() {
+            $('#product-comparison').compareList({
+                windowPrintSelector: '.action.print',
+                productsInRow: 5,
+                selectors: {
+                    productAddToCartSelector: 'button.action.tocart'
+                }
+            });
+        });
+    <?php endif; ?>
+    })(jQuery, window);
+</script>
+
+
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/sidebar.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/sidebar.phtml
new file mode 100644
index 00000000000..1b873ba6d41
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/sidebar.phtml
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Catalog\Block\Product\Compare\Sidebar */
+?>
+<?php
+$_helper = $this->helper('Magento\Catalog\Helper\Product\Compare');
+$_items = $_helper->getItemCount() > 0 ? $_helper->getItemCollection() : null;
+?>
+<div class="block compare">
+    <div class="title">
+        <strong>
+            <span class="text"><?php echo __('Compare Products') ?></span>
+            <?php if($_helper->getItemCount() > 0): ?>
+                <span class="qty"><?php echo __('%1', $_helper->getItemCount()) ?></span>
+            <?php endif; ?>
+        </strong>
+    </div>
+    <div class="content">
+        <?php if($_helper->getItemCount() > 0): ?>
+        <ol id="compare-items" class="items compare">
+            <?php foreach($_items as $_index => $_item): ?>
+            <li class="item">
+                <input type="hidden" class="compare-item-id" value="<?php echo $_item->getId() ?>" />
+                <strong class="product name">
+                    <a href="<?php echo $this->getProductUrl($_item) ?>"><?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($_item, $_item->getName(), 'name') ?></a>
+                </strong>
+                <a href="<?php echo $_helper->getRemoveUrl($_item) ?>" title="<?php echo __('Remove This Item') ?>" class="action delete"><span><?php echo __('Remove This Item') ?></span></a>
+            </li>
+            <?php endforeach; ?>
+        </ol>
+        <div class="actions">
+            <div class="primary">
+                <a href="<?php echo $_helper->getListUrl() ?>" class="action compare"><span><?php echo __('Compare') ?></span></a>
+            </div>
+            <div class="secondary">
+                <a id='compare-clear-all' href="<?php echo $_helper->getClearListUrl() ?>" class="action clear"><span><?php echo __('Clear All') ?></span></a>
+            </div>
+        </div>
+        <script type="text/javascript">
+            (function($) {
+                head.js("<?php echo $this->getViewFileUrl('jquery/jquery.popupwindow.js') ?>",
+                    "<?php echo $this->getViewFileUrl('mage/popup-window.js') ?>",
+                    "<?php echo $this->getViewFileUrl('Magento_Catalog::js/compare.js') ?>", function() {
+                        $('#compare-items').compareItems({
+                            removeConfirmMessage: '<?php echo __('Are you sure you would like to remove this item from the compare products?') ?>',
+                            removeSelector: '#compare-items a.action.delete',
+                            clearAllConfirmMessage: '<?php echo __('Are you sure you would like to remove all products from your comparison?') ?>',
+                            clearAllSelector: '#compare-clear-all'
+                        });
+                    });
+            })(jQuery);
+        </script>
+        <?php else: ?>
+        <p class="empty"><?php echo __('You have no items to compare.') ?></p>
+        <?php endif; ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/image.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/image.phtml
new file mode 100644
index 00000000000..363f3e4b4bb
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/image.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Catalog\Block\Product\Image */ ?>
+
+<img class="photo image" style="width:<?php echo $this->getProductImageView()->getWidth()?>px;
+     height:<?php echo $this->getProductImageView()->getHeight()?>px;"
+     src="<?php echo $this->getProductImageView()->getUrl() ?>"
+     alt="<?php echo $this->stripTags($this->getProductImageView()->getLabel(), null, true) ?>"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/image_with_borders.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/image_with_borders.phtml
new file mode 100644
index 00000000000..1aa7f4e151f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/image_with_borders.phtml
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Catalog\Block\Product\Image */ ?>
+
+<span class="img photo container" style="width:<?php echo $this->getProductImageView()->getWidth()?>px;
+    height:<?php echo $this->getProductImageView()->getHeight()?>px; display: block; position: relative;
+    overflow: hidden"><img class="photo image" style="display: block; position: absolute; top: 0; bottom: 0; left: 0; right: 0;
+    margin: auto;" src="<?php echo $this->getProductImageView()->getUrl() ?>"
+    alt="<?php echo $this->stripTags($this->getProductImageView()->getLabel(), null, true) ?>"/></span>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/list.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/list.phtml
new file mode 100644
index 00000000000..c5cec832a6e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/list.phtml
@@ -0,0 +1,126 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Product list template
+ *
+ * @see \Magento\Catalog\Block\Product\ListProduct
+ */
+?>
+<?php
+$_productCollection = $this->getLoadedProductCollection();
+$_helper = $this->helper('Magento\Catalog\Helper\Output');
+$imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+?>
+<?php if (!$_productCollection->count()): ?>
+<p class="message note"><?php echo __('There are no products matching the selection.') ?></p>
+<?php else: ?>
+<?php echo $this->getToolbarHtml() ?>
+<?php echo $this->getAdditionalHtml() ?>
+<?php if ($this->getMode() == 'grid') {
+    $viewMode ='grid';
+    $image = 'category_page_grid';
+    $showDescription = false;
+    $rating = 'short';
+} else {
+    $viewMode ='list';
+    $image = 'category_page_list';
+    $showDescription = true;
+    $rating = 'full';
+}
+/**
+* Position for actions regarding image size changing in vde if needed
+*/
+$pos = $this->getPositioned();
+$position = '';
+if ($pos != null) {
+    $position = ' style="left:' . $this->getVar("{$image}:width") . 'px;'
+                .'top:' . $this->getVar("{$image}:height") . 'px;"';
+}
+?>
+<div class="products wrapper <?php echo $viewMode; ?>">
+    <?php $iterator = 1; ?>
+    <ol class="products list items">
+        <?php foreach ($_productCollection as $_product): ?>
+        <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+            <div class="product">
+                <?php // Product Image ?>
+                <a href="<?php echo $_product->getProductUrl() ?>" class="product photo">
+                    <?php echo $imageBlock->init($_product, $image)->toHtml() ?>
+                </a>
+                <div class="product details">
+                    <?php $_productNameStripped = $this->stripTags($_product->getName(), null, true); ?>
+                    <strong class="product name">
+                        <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $_productNameStripped; ?>">
+                            <?php echo $_helper->productAttribute($_product, $_product->getName(), 'name'); ?>
+                        </a>
+                    </strong>
+                    <?php echo $this->getPriceHtml($_product, true) ?>
+                    <?php if ($_product->getRatingSummary()): ?>
+                    <?php echo $this->getReviewsSummaryHtml($_product,$rating) ?>
+                    <?php endif; ?>
+                    <?php if ($showDescription):?>
+                    <div class="product description">
+                        <?php echo $_helper->productAttribute($_product, $_product->getShortDescription(), 'short_description') ?>
+                        <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $_productNameStripped ?>"
+                           class="action more"><?php echo __('Learn More') ?></a>
+                    </div>
+                    <?php endif; ?>
+                    <div class="product actions"<?php echo strpos($pos, $viewMode . '-actions') ? $position : ''; ?>>
+                        <div class="primary"<?php echo strpos($pos, $viewMode . '-primary') ? $position: ''; ?>>
+                            <?php if ($_product->isSaleable()): ?>
+                            <button type="button" title="<?php echo __('Add to Cart') ?>" class="action tocart"
+                                    data-mage-init="{redirectUrl: {url: '<?php echo $this->getAddToCartUrl($_product) ?>'}}">
+                                <span><?php echo __('Add to Cart') ?></span>
+                            </button>
+                            <?php else: ?>
+                            <?php if ($_product->getIsSalable()): ?>
+                                <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                <?php else: ?>
+                                <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                <?php endif; ?>
+                            <?php endif; ?>
+                        </div>
+                        <div class="secondary"<?php echo strpos($pos, $viewMode . '-secondary') ? $position : ''; ?>>
+                            <a href="<?php echo $this->helper('Magento\Wishlist\Helper\Data')->getAddUrl($_product) ?>"
+                               class="action towishlist" data-action="add-to-wishlist">
+                               <span><?php echo __('Add to Wishlist') ?></span>
+                           </a>
+                            <a href="<?php echo $this->getAddToCompareUrl($_product) ?>" class="action tocompare">
+                                <span><?php echo __('Add to Compare') ?></span>
+                            </a>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        <?php echo ($iterator==count($_productCollection)+1) ? '</li>' : '' ?>
+        <?php endforeach; ?>
+    </ol>
+</div>
+<div class="toolbar bottom">
+    <?php echo $this->getToolbarHtml() ?>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/list/items.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/list/items.phtml
new file mode 100644
index 00000000000..5ff16b20042
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/list/items.phtml
@@ -0,0 +1,272 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Catalog\Block\Product\AbstractProduct */
+?>
+
+<?php
+switch($type=$this->getType()) {
+
+    case 'related-rule':
+    if ($exist = $this->hasItems()) {
+        $type = 'related';
+        $class = $type;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image ='related_products_list';
+        $title = __('Related Products');
+        $items = $this->getItemCollection();
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = false;
+        $rating = false;
+        $description = false;
+    }
+    break;
+
+    case 'related':
+    if ($exist = $this->getItems()->getSize()) {
+        $type = 'related';
+        $class = $type;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image ='related_products_list';
+        $title = __('Related Products');
+        $items = $this->getItems();
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = false;
+        $rating = false;
+        $description = false;
+    }
+    break;
+
+    case 'upsell-rule':
+    if ($exist = $this->hasItems()) {
+        $type = 'upsell';
+        $class = $type;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image ='upsell_products_list';
+        $title = __('You may also be interested in the following product(s)');
+        $items = $this->getItemCollection();
+
+        $showWishlist = false;
+        $showCompare = false;
+        $showCart = false;
+        $rating = false;
+        $description = false;
+    }
+    break;
+
+    case 'upsell':
+    if ($exist = count($this->getItemCollection()->getItems())) {
+        $type = 'upsell';
+        $class = $type;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image ='upsell_products_list';
+        $title = __('You may also be interested in the following product(s)');
+        $items = $this->getItemCollection()->getItems();
+
+        $showWishlist = false;
+        $showCompare = false;
+        $showCart = false;
+        $rating = false;
+        $description = false;
+    }
+    break;
+
+    case 'crosssell-rule':
+    if ($exist = $this->hasItems()) {
+        $type = 'crosssell';
+        $class = $type;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image ='cart_cross_sell_products';
+        $title = __('More Choices:');
+        $items = $this->getItemCollection();
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = true;
+        $rating = 'short';
+        $description = false;
+    }
+    break;
+
+    case 'crosssell':
+    if ($exist = $this->getItemCount()) {
+        $type = 'crosssell';
+        $class = $type;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image ='cart_cross_sell_products';
+        $title = __('More Choices:');
+        $items = $this->getItems();
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = true;
+        $rating = 'short';
+        $description = false;
+    }
+    break;
+
+    case 'widget-viewed':
+    if ($exist = $this->getRecentlyViewedProducts()) {
+
+        $mode = $this->getViewMode();
+
+        $type = $type . '-' . $mode;
+
+        $class = 'widget viewed' . ' ' . $mode;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image = $this->getImageType();
+        $title = __('Recently Viewed');
+        $items = $exist;
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = true;
+        $rating = 'short';
+        $description = ($mode == 'list') ? true : false;
+    }
+    break;
+
+    case 'other':
+    break;
+}
+?>
+
+<?php if ($exist):?>
+
+<div class="block <?php echo $class; ?>">
+
+    <div class="title">
+        <strong><?php echo $title; ?></strong>
+    </div>
+
+    <div class="content">
+
+        <?php if($type == 'related'): ?>
+        <div class="actions">
+            <?php echo __('Check items to add to the cart or') ?>
+            <button type="button" class="action select" role="select-all"><span><?php echo __('select all') ?></span></button>
+        </div>
+        <?php endif; ?>
+
+
+        <ol class="products list items <?php echo $type; ?>">
+        <?php $iterator = 1; ?>
+        <?php foreach($items as $_item): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+
+                <div class="product">
+
+                    <?php echo '<!-- ' . $image . '-->' ?>
+                    <a href="<?php echo $this->getProductUrl($_item) ?>" class="product photo">
+                        <?php echo $imageBlock->init($_item, $image)->toHtml() ?>
+                    </a>
+
+                    <div class="product details">
+
+                        <strong class="product name"><a title="<?php echo $this->escapeHtml($_item->getName()) ?>" href="<?php echo $this->getProductUrl($_item) ?>">
+                            <?php echo $this->escapeHtml($_item->getName()) ?></a>
+                        </strong>
+
+                        <?php echo $this->getPriceHtml($_item, true, '-' . $type) ?>
+
+                        <?php if ($_item->getRatingSummary() && $rating): ?>
+                            <?php echo $this->getReviewsSummaryHtml($_item,$rating) ?>
+                        <?php endif; ?>
+
+                        <?php if(!$_item->isComposite() && $_item->isSaleable() && $type == 'related'): ?>
+                            <?php if (!$_item->getRequiredOptions()): ?>
+                                <div class="field choice related">
+                                    <input type="checkbox" class="checkbox related" id="related-checkbox<?php echo $_item->getId() ?>" name="related_products[]" value="<?php echo $_item->getId() ?>" />
+                                    <label class="label" for="related-checkbox<?php echo $_item->getId() ?>"><span><?php echo __('Add to Cart') ?></span></label>
+                                </div>
+                            <?php endif; ?>
+                        <?php endif; ?>
+
+                        <?php if($showWishlist || $showCompare || $showCart): ?>
+                        <div class="product actions">
+
+                            <?php if($showCart): ?>
+                            <div class="primary">
+                                <?php if($_item->isSaleable()): ?>
+                                <button class="action tocart" data-mage-redirect="{event: 'click', url: '<?php echo $this->getAddToCartUrl($_item) ?>'}" type="button" title="<?php echo __('Add to Cart') ?>">
+                                    <span><?php echo __('Add to Cart') ?></span>
+                                </button>
+                                <?php else: ?>
+                                    <?php if ($_item->getIsSalable()): ?>
+                                        <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                    <?php else: ?>
+                                        <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                    <?php endif; ?>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+
+                            <?php if($showWishlist || $showCompare): ?>
+                            <div class="secondary addto links">
+                                <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow() && $showWishlist): ?>
+                                    <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="action towishlist" data-action="add-to-wishlist" title="<?php echo __('Add to Wishlist') ?>">
+                                        <span><?php echo __('Add to Wishlist') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                                <?php if($this->getAddToCompareUrl($_item) && $showCompare): ?>
+                                    <a href="<?php echo $this->getAddToCompareUrl($_item) ?>" class="action tocompare" title="<?php echo __('Add to Compare') ?>">
+                                        <span><?php echo __('Add to Compare') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+                        </div>
+                        <?php endif; ?>
+
+                    </div>
+                </div>
+            <?php echo ($iterator==count($items)+1) ? '</li>' : '' ?>
+        <?php endforeach ?>
+        </ol>
+    </div>
+    <?php if($type == 'related'): ?>
+    <script type="text/javascript">
+        head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/related-products.js'); ?>", function() {
+            jQuery(".block.related [role='select-all']").relatedProducts({
+                relatedCheckbox: '.related.checkbox'
+            });
+        });
+    </script>
+    <?php endif; ?>
+    <script type="text/javascript">
+        head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+    </script>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/list/toolbar.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/list/toolbar.phtml
new file mode 100644
index 00000000000..4dbf3286a34
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/list/toolbar.phtml
@@ -0,0 +1,111 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Product list toolbar
+ *
+ * @see Magento\Catalog\Block\Product\ProductList\Toolbar
+ */
+?>
+<?php if ($this->getCollection()->getSize()): ?>
+<div class="toolbar">
+    <?php if ($this->isExpanded()): ?>
+    <div class="settings">
+
+        <?php if ($this->isEnabledViewSwitcher()): ?>
+        <div class="modes">
+            <?php $_modes = $this->getModes(); ?>
+            <?php if ($_modes && count($_modes) > 1): ?>
+            <strong class="label"><?php echo __('View as') ?></strong>
+            <?php foreach ($this->getModes() as $_code => $_label): ?>
+                <?php if ($this->isModeActive($_code)): ?>
+                    <strong class="mode active <?php echo strtolower($_code); ?>" title="<?php echo $_label ?>">
+                        <span><?php echo $_label ?></span>
+                    </strong>
+                    <?php else: ?>
+                    <a class="mode <?php echo strtolower($_code); ?>" title="<?php echo $_label ?>"
+                       href="<?php echo $this->getModeUrl($_code) ?>">
+                       <span><?php echo $_label ?></span>
+                    </a>
+                    <?php endif; ?>
+            <?php endforeach; ?>
+            <?php endif; ?>
+        </div>
+        <?php endif; ?>
+
+        <div class="sorter">
+            <label class="label" for="sorter"><?php echo __('Sort By') ?></label>
+            <select id="sorter" data-mage-init="{redirectUrl: {event:'change'}}">
+                <?php foreach ($this->getAvailableOrders() as $_key => $_order): ?>
+                <option
+                    value="<?php echo $this->getOrderUrl($_key, 'asc') ?>"<?php if ($this->isOrderCurrent($_key)): ?>
+                    selected="selected"<?php endif; ?>>
+                    <?php echo __($_order) ?>
+                </option>
+                <?php endforeach; ?>
+            </select>
+            <?php if ($this->getCurrentDirection() == 'desc'): ?>
+            <a title="<?php echo __('Set Ascending Direction') ?>" href="<?php echo $this->getOrderUrl(null, 'asc') ?>" class="action sort desc">
+                <span><?php echo __('Set Ascending Direction') ?></span>
+            </a>
+            <?php else: ?>
+            <a title="<?php echo __('Set Descending Direction') ?>" href="<?php echo $this->getOrderUrl(null, 'desc') ?>" class="action sort asc">
+                <span><?php echo __('Set Descending Direction') ?></span>
+            </a>
+            <?php endif; ?>
+        </div>
+
+    </div>
+    <?php endif; ?>
+
+    <div class="pager">
+        <p class="amount">
+            <?php if ($this->getLastPageNum() > 1): ?>
+            <?php echo __('Items %1-%2 of %3', $this->getFirstNum(), $this->getLastNum(), $this->getTotalNum()) ?>
+            <?php elseif ($this->getLastPageNum() == 1): ?>
+            <?php echo __('%1 Item', $this->getTotalNum()) ?>
+            <?php else: ?>
+            <?php echo __('%1 Item(s)', $this->getTotalNum()) ?>
+            <?php endif; ?>
+        </p>
+
+        <div class="limiter">
+            <strong class="label"><?php echo __('Show') ?></strong>
+            <select id="limiter" data-mage-init="{redirectUrl: {event:'change'}}">
+                <?php foreach ($this->getAvailableLimit() as $_key => $_limit): ?>
+                <option value="<?php echo $this->getLimitUrl($_key) ?>"<?php if ($this->isLimitCurrent($_key)): ?>
+                        selected="selected"<?php endif ?>>
+                    <?php echo $_limit ?>
+                </option>
+                <?php endforeach; ?>
+            </select>
+            <span class="text"><?php echo __('per page') ?></span>
+        </div>
+
+        <?php echo $this->getPagerHtml() ?>
+    </div>
+</div>
+<?php endif ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/listing.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/listing.phtml
new file mode 100644
index 00000000000..4b85d9fb219
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/listing.phtml
@@ -0,0 +1,123 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Product list template
+ *
+ * @see \Magento\Catalog\Block\Product\ListProduct
+ */
+?>
+<?php
+$start = microtime(true);
+$_productCollection = $this->getLoadedProductCollection();
+$_helper = $this->helper('Magento\Catalog\Helper\Output');
+$imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+?>
+<?php if (!$_productCollection->count()): ?>
+<p class="message note"><?php echo __('There are no products matching the selection.') ?></p>
+<?php else: ?>
+<?php echo $this->getToolbarHtml() ?>
+<?php echo $this->getAdditionalHtml() ?>
+<?php if ($this->getMode() == 'grid') {
+    $viewMode ='grid';
+    $image = 'category_page_grid';
+    $showDescription = false;
+    $rating = 'short';
+} else {
+    $viewMode ='list';
+    $image = 'category_page_list';
+    $showDescription = true;
+    $rating = 'full';
+}
+
+?>
+<div class="products wrapper <?php echo $viewMode; ?>">
+    <?php $iterator = 1; ?>
+    <ol class="products list items">
+        <?php foreach ($_productCollection as $_product): ?>
+        <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+            <div class="product">
+                <?php // Product Image ?>
+                <a href="<?php echo $_product->getProductUrl() ?>" class="product photo">
+                    <?php echo $imageBlock->init($_product, $image)->toHtml() ?>
+                </a>
+                <div class="product details">
+                <?php
+
+                    $info = array();
+                    $info['name'] = '<strong class="product name">'
+                                    . ' <a href="' . $_product->getProductUrl() . '" title="'
+                                    . $this->stripTags($_product->getName(), null, true) . '">'
+                                    . $_helper->productAttribute($_product, $_product->getName(), 'name')
+                                    . '</a></strong>';
+                    $info['price'] = $this->getPriceHtml($_product, true);
+                    $info['rating'] = $_product->getRatingSummary() ? $this->getReviewsSummaryHtml($_product,$rating) : '';
+
+                    if ($_product->isSaleable()) {
+                        $info['button'] = '<button type="button" title="' . __('Add to Cart') . '" class="action tocart"'
+                                        . ' data-mage-redirect="{event: \'click\', url: \'' . $this->getAddToCartUrl($_product) . '\'}">'
+                                        . '<span>' . __('Add to Cart') . '</span></button>';
+                    } else {
+                        $info['button'] = $_product->getIsSalable() ?   '<p class="stock available"><span>' . __('In stock') . '</span></p>' :
+                                                                        '<p class="stock unavailable"><span>' . __('Out of stock') . '</span></p>';
+                    }
+
+                    $info['links'] = '<div class="product links">'
+                                    . '<a href="' . $this->helper('Magento\Wishlist\Helper\Data')->getAddUrl($_product) . '" class="action towishlist" data-action="add-to-wishlist">'
+                                    . '<span>' . __('Add to Wishlist') . '</span></a>'
+                                    . '<a href="' . $this->getAddToCompareUrl($_product) . '" class="action tocompare">'
+                                    . '<span>' . __('Add to Compare') . '</span></a></div>';
+                    $info['actions'] = '<div class="product action">' . $info['button'] . $info['links'] . '</div>';
+
+                    if ($showDescription) {
+                        $info['description'] =  '<div class="product description">'
+                                                . $_helper->productAttribute($_product, $_product->getShortDescription(), 'short_description')
+                                                . ' <a href="' . $_product->getProductUrl() . '" class="action more">'
+                                                . __('Learn More') . '</a></div>';
+                    } else {
+                        $info['description'] = '';
+                    }
+
+                    $details = $this->getInfoOrder() ? : array('name','price','rating','description','actions');
+                    foreach ($details as $detail) {
+                        echo $info[$detail];
+                    }
+                    ?>
+
+                </div>
+            </div>
+        <?php echo ($iterator==count($_productCollection)+1) ? '</li>' : '' ?>
+        <?php endforeach; ?>
+    </ol>
+    <script type="text/javascript">
+        head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+    </script>
+</div>
+<div class="toolbar-bottom">
+    <?php echo $this->getToolbarHtml() ?>
+</div>
+<?php endif; ?>
+<?php echo $time_taken = microtime(true) - $start; ?>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/addto.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/addto.phtml
new file mode 100644
index 00000000000..076fc1132f6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/addto.phtml
@@ -0,0 +1,48 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php $_product = $this->getProduct(); ?>
+<?php $_wishlistSubmitUrl = $this->helper('Magento\Wishlist\Helper\Data')->getAddUrl($_product); ?>
+
+<div class="product addto links" data-role="add-to-links">
+<?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow()) : ?>
+    <a href="<?php echo $_wishlistSubmitUrl ?>" class="action towishlist" data-action="add-to-wishlist"><span><?php echo __('Add to Wishlist') ?></span></a>
+<?php endif; ?>
+<?php
+    $_compareUrl = $this->helper('Magento\Catalog\Helper\Product\Compare')->getAddUrl($_product);
+?>
+<?php if($_compareUrl) : ?>
+    <a href="<?php echo $_compareUrl ?>" class="action tocompare"><span><?php echo __('Add to Compare') ?></span></a>
+<?php endif; ?>
+</div>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('Magento_Wishlist::js/add-to-wishlist.js') ?>", function () {
+        jQuery('[data-role="add-to-links"]').addToWishlist(
+            <?php echo $this->helper('Magento\Core\Helper\Data')->jsonEncode(array('productType' => $_product->getTypeId()))?>
+        );
+    });
+</script>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/addtocart.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/addtocart.phtml
new file mode 100644
index 00000000000..726d90b9c1f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/addtocart.phtml
@@ -0,0 +1,93 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_product = $this->getProduct(); ?>
+<?php $buttonTitle = __('Add to Cart'); ?>
+<?php if ($_product->isSaleable()): ?>
+<div class="box tocart">
+    <?php if (!$_product->isGrouped()): ?>
+    <div class="field qty">
+        <label class="label" for="qty"><span><?php echo __('Qty') ?></span></label>
+        <div class="control">
+            <input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>"
+               title="<?php echo __('Qty') ?>" class="input-text qty" data-validate="{required:true,digits:true}"/>
+        </div>
+    </div>
+    <?php endif; ?>
+    <div class="actions">
+        <button type="submit" title="<?php echo $buttonTitle ?>" class="action primary tocart" id="product-addtocart-button">
+            <span><?php echo $buttonTitle ?></span>
+        </button>
+        <?php echo $this->getChildHtml('', true) ?>
+    </div>
+</div>
+<?php endif; ?>
+
+<script type="text/javascript">
+    (function ($) {
+        head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>", function () {
+                $('#product_addtocart_form').validation({
+                    errorPlacement: function (error, element) {
+                        if (element.attr('data-validate') && element.attr('data-validate').indexOf('validate-one-checkbox-required-by-name') > 0) {
+                            error.appendTo('#links-advice-container');
+                        } else if (element.attr('data-validate')&& element.attr('data-validate').indexOf('validate-grouped-qty') > 0) {
+                            $('#super-product-table').siblings(this.errorElement + '.' + this.errorClass).remove();
+                            $('#super-product-table').after(error);
+                        } else if (element.is(':radio, :checkbox')) {
+                            element.closest('.nested').after(error);
+                        } else {
+                            element.after(error);
+                        }
+                    },
+                    highlight: function (element, errorClass) {
+                        if ($(element).attr('data-validate') && $(element).attr('data-validate').indexOf('validate-required-datetime') > 0) {
+                            $(element).parent().find('.datetime-picker').each(function() {
+                                $(this).removeClass(errorClass);
+                                if ($(this).val().length === 0) {
+                                    $(this).addClass(errorClass);
+                                }
+                            });
+                        } else if ($(element).is(':radio, :checkbox')) {
+                            $(element).closest('.nested').addClass(errorClass+'-group');
+                        } else {
+                            $(element).addClass(errorClass);
+                        }
+                    },
+                    unhighlight: function (element, errorClass) {
+                        if ($(element).attr('data-validate') && $(element).attr('data-validate').indexOf('validate-required-datetime') > 0) {
+                            $(element).parent().find('.datetime-picker').removeClass(errorClass);
+                        } else if ($(element).is(':radio, :checkbox')) {
+                            $(element).closest('.nested').removeClass(errorClass+'-group');
+                        } else {
+                            $(element).removeClass(errorClass);
+                        }
+                    }
+                });
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/attribute.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/attribute.phtml
new file mode 100644
index 00000000000..ffe146694c7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/attribute.phtml
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Product view template
+ *
+ * @see \Magento\Catalog\Block\Product\View
+ * @see \Magento\Review\Block\Product\View
+ */
+?>
+<?php
+$_helper = $this->helper('Magento\Catalog\Helper\Output');
+$_product = $this->getProduct();
+$_call = $this->getAtCall();
+$_code = $this->getAtCode();
+$_className = $this->getCssClass();
+$_attributeLabel = $this->getAtLabel();
+$_attributeType = $this->getAtType();
+
+if ( $_attributeLabel && $_attributeLabel == 'default' ) {
+    $_attributeLabel = $_product->getResource()->getAttribute($_code)->getFrontendLabel();
+}
+if ( $_attributeType && $_attributeType == 'text' ) {
+    $_attributeValue = ($_helper->productAttribute($_product, $_product->$_call(), $_code)) ? $_product->getAttributeText($_code) : '';
+} else {
+    $_attributeValue = $_helper->productAttribute($_product, $_product->$_call(), $_code);
+}
+
+?>
+
+<?php if ($_attributeValue): ?>
+<div class="product attibute <?php echo $_className?>">
+    <?php if ($_attributeLabel != 'none'): ?><strong class="type"><?php echo $_attributeLabel?></strong><?php endif; ?>
+    <div class="value"><?php echo $_attributeValue; ?></div>
+</div>
+<?php endif; ?>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/attributes.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/attributes.phtml
new file mode 100644
index 00000000000..f4a0c38483c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/attributes.phtml
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Product additional attributes template
+ *
+ * @see \Magento\Catalog\Block\Product\View\Attributes
+ */
+?>
+<?php
+    $_helper = $this->helper('Magento\Catalog\Helper\Output');
+    $_product = $this->getProduct()
+?>
+<?php if($_additional = $this->getAdditionalData()): ?>
+<table class="data table product attributes" id="product-attribute-specs-table">
+    <tbody>
+    <?php foreach ($_additional as $_data): ?>
+        <tr>
+            <th class="col label"><?php echo $this->escapeHtml(__($_data['label'])) ?></th>
+            <td class="col data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
+        </tr>
+    <?php endforeach; ?>
+    </tbody>
+</table>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/base-image.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/base-image.phtml
new file mode 100644
index 00000000000..9e8ee027a8a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/base-image.phtml
@@ -0,0 +1,153 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Product media data template
+ *
+ * @see \Magento\Catalog\Block\Product\View\Media
+ */
+?>
+<?php
+    $_product = $this->getProduct();
+    $_helper = $this->helper('Magento\Catalog\Helper\Output');
+
+    //list($_imgWidth, $_imgHeight) = $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image')->getOriginalSizeArray();
+
+    $image = 'product_page_main_image';
+
+    $_resizedWidth = $this->getVar("{$image}:width");
+    $_resizedHeight = $this->getVar("{$image}:height") ?: $_resizedWidth ;
+
+    $_hasImage = ($_product->getImage() && $_product->getImage() != "no_selection") ? true : false;
+
+    //$_isOldDisplayMode = $this->getOldDisplayMode() || 0;
+    $_isOldDisplayMode = 0;
+    $whiteBorders =  $this->getVar("product_image_white_borders");
+?>
+<?php //if($whiteBorders == 0): ?>
+    <style scoped>
+    .magento-zoom > .img > img {
+        position:absolute;
+        top:0; bottom:0; left:0; right:0; margin:auto; max-height: 100%; max-width: 100%;
+    }
+    </style>
+<?php //endif; ?>
+<div class="product photo main">
+    <a class="product photo magento-zoom<?php echo (!$_hasImage) ? ' isPlaceholder' : ''; ?>"
+       id="base-image" data-role="base-image-zoom"
+       href="<?php echo $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image'); ?>" >
+        <?php echo $this->getChildBlock('product.image.main')->init($_product, $image)->toHtml() ?>
+    </a>
+<?php  ?>
+    <script type="text/javascript">
+        jQuery('[data-role=base-image-zoom]').attr('rel', '<?php echo $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image'); ?>');
+    </script>
+
+    <p class="notice"></p>
+
+    <script type="text/javascript">
+        jQuery(function(){
+            <?php if ($_isOldDisplayMode): ?>
+                jQuery('.magento-zoom').magentoZoom({
+                    useGallery: false,
+                    swapNotices: false,
+                    isOldMode: <?php print $_isOldDisplayMode; ?>,
+                    messages: {
+                        noticeDefault: '<?php echo $this->jsQuoteEscape(__("Click on image to zoom")) ?>',
+                        loadingMessage: '<?php echo $this->jsQuoteEscape(__("Loading...")) ?>'
+                    }
+                });
+            <?php else: ?>
+                jQuery('.magento-zoom').magentoZoom({
+                    useLens: true,
+                    enlarged: {
+                        adjustment: 20,
+                        width: 500,
+                        height: <?php echo $_resizedHeight ?>
+                    },
+                    useGallery: true,
+                    swapNotices: true,
+                    isOldMode: <?php print $_isOldDisplayMode; ?>,
+                    messages: {
+                        noticeDefault: '<?php echo $this->jsQuoteEscape(__("Click on image to zoom")) ?>',
+                        noticeLightBox: '<?php echo $this->jsQuoteEscape(__("Click on image to view it full sized")) ?>', loadingMessage: '<?php echo $this->jsQuoteEscape(__("Loading...")) ?>'
+                    }
+                });
+            <?php endif; ?>
+        });
+    </script>
+<?php  ?>
+</div>
+
+<?php if (count($this->getGalleryImages()) > 0): ?>
+
+<?php
+    $thumbWidth =  $this->getVar("product_page_more_views:width");
+    $thumbHeight =  $this->getVar("product_page_more_views:height") ? : $thumbWidth;
+?>
+<div class="product photo thumbs">
+    <strong class="title"><?php echo __('More Views') ?></strong>
+    <ul class="items thumbs">
+    <?php foreach ($this->getGalleryImages() as $_image): ?>
+        <?php if ($_isOldDisplayMode) {
+                $attributes = ' href="#" data-mage-popwin="{windowURL:'
+                    . $this->getGalleryUrl($_image)
+                    . ',windowName:\'gallery\',width:300,height:300,status:1,scrollbars:1,resizable:1}"';
+            } else {
+                $attributes = ' href="'
+                    . $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image', $_image->getFile())
+                    . '" rel="';
+                if ($whiteBorders) {
+                    $attributes .= $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image', $_image->getFile())->resize($_resizedWidth,$_resizedHeight) . '"';
+                } else {
+                    $attributes .= $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image', $_image->getFile())->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize($_resizedWidth,$_resizedHeight) . '"';
+                }
+        };?>
+        <li class="item thumb">
+            <a<?php echo $attributes; ?> class="magento-zoom" title="<?php echo $this->escapeHtml($_image->getLabel()) ?>">
+            <?php if ($whiteBorders): ?>
+                <span class="img" style="position:relative; z-index:1; display:block; width:<?php echo $thumbHeight;?>px; height:<?php echo $thumbHeight;?>px;">
+                <img src="<?php echo $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'thumbnail', $_image->getFile())->resize($thumbWidth,$thumbHeight); ?>" alt="<?php echo $this->escapeHtml($_image->getLabel()) ?>" />
+                </span>
+            <?php else: ?>
+                <span class="img" style="position:relative; z-index:1; display:block; width:<?php echo $thumbHeight;?>px; height:<?php echo $thumbHeight;?>px;">
+                    <img src="<?php echo $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'thumbnail', $_image->getFile())->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize($thumbWidth,$thumbHeight); ?>" alt="<?php echo $this->escapeHtml($_image->getLabel()) ?>" />
+                </span>
+            <?php endif; ?>
+            </a>
+        </li>
+    <?php endforeach; ?>
+    </ul>
+</div>
+    <?php if ($_isOldDisplayMode): ?>
+    <script type="text/javascript">
+        (function($) {
+            head.js("<?php echo $this->getViewFileUrl('jquery/jquery.popupwindow.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/popup-window.js')?>"
+            );
+        })(jQuery);
+    </script>
+    <?php endif; ?>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/description.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/description.phtml
new file mode 100644
index 00000000000..cd98c96ea75
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/description.phtml
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Product description template
+ *
+ * @see \Magento\Catalog\Block\Product\View\Description
+ */
+?>
+<?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($this->getProduct(), $this->getProduct()->getDescription(), 'description') ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/details.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/details.phtml
new file mode 100644
index 00000000000..52e095b6f80
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/details.phtml
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if ($detailedInfoGroup = $this->getGroupChildNames('detailed_info', 'getChildHtml')):?>
+    <div class="product info detailed">
+        <?php $layout = $this->getLayout(); ?>
+        <dl class="product data items" data-sections="tabs">
+            <?php foreach ($detailedInfoGroup as $name):?>
+                <?php
+                    $html = $layout->renderElement($name);
+                    if (!trim($html)) continue;
+                    $alias = $layout->getElementAlias($name);
+                    $label = $this->escapeHtml($this->getChildData($alias, 'title'));
+                ?>
+                <dt class="data item title" data-section="title"><a class="data switch" data-toggle="switch" href="#<?php echo $alias; ?>"><?php echo $label; ?></a></dt>
+                <dd class="data item content" id="<?php echo $alias; ?>" data-section="content"><?php echo $html; ?></dd>
+            <?php endforeach;?>
+        </dl>
+    </div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/form.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/form.phtml
new file mode 100644
index 00000000000..ee446447da1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/form.phtml
@@ -0,0 +1,62 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Product view template
+ *
+ * @see \Magento\Catalog\Block\Product\View
+ * @see \Magento\Review\Block\Product\View
+ */
+?>
+<?php $_helper = $this->helper('Magento\Catalog\Helper\Output'); ?>
+<?php $_product = $this->getProduct(); ?>
+
+<script type="text/javascript">
+    (function ($) {
+        head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/price-option.js') ?>", function () {
+            $('#product_addtocart_form').priceOption({"priceConfig":<?php echo $this->getJsonConfig() ?>});
+        });
+    })(jQuery);
+</script>
+<div class="product add form">
+    <form action="<?php echo $this->getSubmitUrl($_product) ?>" method="post" id="product_addtocart_form"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>>
+
+        <input type="hidden" name="product" value="<?php echo $_product->getId() ?>" />
+        <input type="hidden" name="related_product" id="related-products-field" value="" />
+        <?php echo $this->getChildHtml('form_top'); ?>
+        <?php if (!$this->hasOptions()):?>
+            <?php echo $this->getChildHtml('product_info_form_content'); ?>
+        <?php else:?>
+            <?php if ($_product->isSaleable() && $this->getOptionsContainer() == 'container1'):?>
+                <?php echo $this->getChildChildHtml('options_container') ?>
+            <?php endif;?>
+        <?php endif; ?>
+
+        <?php if ($_product->isSaleable() && $this->hasOptions() && $this->getOptionsContainer() == 'container2'):?>
+            <?php echo $this->getChildChildHtml('options_container') ?>
+        <?php endif;?>
+        <?php echo $this->getChildHtml('form_bottom'); ?>
+    </form>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/gallery.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/gallery.phtml
new file mode 100644
index 00000000000..815bfc49d92
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/gallery.phtml
@@ -0,0 +1,77 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if (count($this->getGalleryImages()) > 0): ?>
+
+<?php
+    $thumbWidth =  $this->getVar("product_page_more_views:width");
+    $thumbHeight =  $this->getVar("product_page_more_views:height") ? : $thumbWidth;
+?>
+<div class="product photo thumbs">
+    <strong class="title"><?php echo __('More Views') ?></strong>
+    <ul class="items thumbs">
+    <?php foreach ($this->getGalleryImages() as $_image): ?>
+        <?php if ($_isOldDisplayMode) {
+                $attributes = ' href="#" data-mage-popwin="{windowURL:'
+                    . $this->getGalleryUrl($_image)
+                    . ',windowName:\'gallery\',width:300,height:300,status:1,scrollbars:1,resizable:1}"';
+            } else {
+                $attributes = ' href="'
+                    . $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image', $_image->getFile())
+                    . '" rel="';
+                if ($whiteBorders) {
+                    $attributes .= $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image', $_image->getFile())->resize($_resizedWidth,$_resizedHeight) . '"';
+                } else {
+                    $attributes .= $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image', $_image->getFile())->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize($_resizedWidth,$_resizedHeight) . '"';
+                }
+        };?>
+        <li class="item thumb">
+            <a<?php echo $attributes; ?> class="magento-zoom" title="<?php echo $this->escapeHtml($_image->getLabel()) ?>">
+            <?php if ($whiteBorders): ?>
+                <span class="img" style="position:relative; z-index:1; display:block; width:<?php echo $thumbHeight;?>px; height:<?php echo $thumbHeight;?>px;">
+                <img src="<?php echo $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'thumbnail', $_image->getFile())->resize($thumbWidth,$thumbHeight); ?>" alt="<?php echo $this->escapeHtml($_image->getLabel()) ?>" />
+                </span>
+            <?php else: ?>
+                <span class="img" style="position:relative; z-index:1; display:block; width:<?php echo $thumbHeight;?>px; height:<?php echo $thumbHeight;?>px;">
+                    <img src="<?php echo $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'thumbnail', $_image->getFile())->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize($thumbWidth,$thumbHeight); ?>" alt="<?php echo $this->escapeHtml($_image->getLabel()) ?>" />
+                </span>
+            <?php endif; ?>
+            </a>
+        </li>
+    <?php endforeach; ?>
+    </ul>
+</div>
+    <?php if ($_isOldDisplayMode): ?>
+    <script type="text/javascript">
+        (function($) {
+            head.js("<?php echo $this->getViewFileUrl('jquery/jquery.popupwindow.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/popup-window.js')?>"
+            );
+        })(jQuery);
+    </script>
+    <?php endif; ?>
+<?php endif; ?>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/mailto.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/mailto.phtml
new file mode 100644
index 00000000000..0c7658ab609
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/mailto.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_product = $this->getProduct() ?>
+<?php if ($this->canEmailToFriend()): ?>
+    <a title="<?php echo __('Email to a Friend') ?>" class="action mailto" href="<?php echo $this->helper('Magento\Catalog\Helper\Product')->getEmailToFriendUrl($_product) ?>">
+        <span><?php echo __('Email to a Friend') ?></span>
+    </a>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options.phtml
new file mode 100644
index 00000000000..b79c02ce4ac
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options.phtml
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Catalog\Block\Product\View\Options */
+?>
+
+<?php $_options = $this->helper('Magento\Core\Helper\Data')->decorateArray($this->getOptions()) ?>
+<?php if (count($_options)):?>
+    <script type="text/javascript">
+        (function ($) {
+            head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/price-option.js') ?>", function () {
+                $('#product_addtocart_form').priceOption({
+                    'optionConfig':<?php echo $this->getJsonConfig()?>,
+                    'controlContainer': '.field'
+                }).trigger('reloadPrice');
+            });
+        })(jQuery);
+    </script>
+    <?php foreach($_options as $_option): ?>
+        <?php echo $this->getOptionHtml($_option) ?>
+    <?php endforeach; ?>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/js.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/js.phtml
new file mode 100644
index 00000000000..9cafa8bb474
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/js.phtml
@@ -0,0 +1,88 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<script type="text/javascript">
+//<![CDATA[
+var DateOption = Class.create({
+
+    getDaysInMonth: function(month, year)
+    {
+        var curDate = new Date();
+        if (!month) {
+            month = curDate.getMonth();
+        }
+        if (2 == month && !year) { // leap year assumption for unknown year
+            return 29;
+        }
+        if (!year) {
+            year = curDate.getFullYear();
+        }
+        return 32 - new Date(year, month - 1, 32).getDate();
+    },
+
+    reloadMonth: function(event)
+    {
+        var selectEl = event.findElement();
+        var idParts = selectEl.id.split("_");
+        if (idParts.length != 3) {
+            return false;
+        }
+        var optionIdPrefix = idParts[0] + "_" + idParts[1];
+        var month = parseInt($(optionIdPrefix + "_month").value);
+        var year = parseInt($(optionIdPrefix + "_year").value);
+        var dayEl = $(optionIdPrefix + "_day");
+
+        var days = this.getDaysInMonth(month, year);
+
+        //remove days
+        for (var i = dayEl.options.length - 1; i >= 0; i--) {
+            if (dayEl.options[i].value > days) {
+                dayEl.remove(dayEl.options[i].index);
+            }
+        }
+
+        // add days
+        var lastDay = parseInt(dayEl.options[dayEl.options.length-1].value);
+        for (i = lastDay + 1; i <= days; i++) {
+            this.addOption(dayEl, i, i);
+        }
+    },
+
+    addOption: function(select, text, value)
+    {
+        var option = document.createElement('OPTION');
+        option.value = value;
+        option.text = text;
+
+        if (select.options.add) {
+            select.options.add(option);
+        } else {
+            select.appendChild(option);
+        }
+    }
+});
+dateOption = new DateOption();
+//]]>
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/date.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/date.phtml
new file mode 100644
index 00000000000..8322a297e9c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/date.phtml
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_option = $this->getOption() ?>
+<?php $_optionId = $_option->getId() ?>
+<?php $class = ($_option->getIsRequire()) ? ' required' : ''; ?>
+<div class="field date<?php echo $class; ?>">
+    <label class="label">
+        <span><?php echo  $this->escapeHtml($_option->getTitle()) ?></span>
+        <?php echo $this->getFormatedPrice() ?>
+    </label>
+    <div class="control">
+    <?php if ($_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_DATE_TIME
+        || $_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_DATE): ?>
+
+        <?php echo $this->getDateHtml() ?>
+
+        <?php if (!$this->useCalendar()): ?>
+            <script type="text/javascript">
+            //<![CDATA[
+                (function($) {
+                    head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/date-option.js') ?>", function() {
+                        $.mage.dateOption({
+                            datepickerFieldSelector: 'select.datetime-picker',
+                            monthSelector: '#options_<?php echo $_optionId ?>_month',
+                            yearSelector: '#options_<?php echo $_optionId ?>_year'
+                        });
+                    });
+                })(jQuery);
+            //]]>
+            </script>
+        <?php endif; ?>
+
+    <?php endif; ?>
+
+    <?php if ($_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_DATE_TIME
+        || $_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_TIME): ?>
+        <span class="time-picker"><?php echo $this->getTimeHtml() ?></span>
+    <?php endif; ?>
+
+    <?php if ($_option->getIsRequire()): ?>
+        <input type="hidden" name="validate_datetime_<?php echo $_optionId ?>" class="validate-datetime-<?php echo $_optionId ?>" value="" data-validate="{'validate-required-datetime':<?php echo $_optionId?>}"/>
+    <?php else: ?>
+        <input type="hidden" name="validate_datetime_<?php echo $_optionId ?>" class="validate-datetime-<?php echo $_optionId ?>" value="" data-validate="{'validate-optional-datetime':<?php echo $_optionId?>}"/>
+    <?php endif; ?>
+
+        <script type="text/javascript">
+        //<![CDATA[
+            (function($) {
+                head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>", function() {
+                    $.validator.setDefaults({ignore: ':hidden:not(input[name^="validate_datetime_"])'});
+                });
+            })(jQuery);
+        //]]>
+        </script>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/default.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/default.phtml
new file mode 100644
index 00000000000..5bfb09586a9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/default.phtml
@@ -0,0 +1,29 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_option = $this->getOption() ?>
+<div class="field">
+    <label class="label"><span><?php echo  $this->escapeHtml($_option->getTitle()) ?></span></label>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/file.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/file.phtml
new file mode 100644
index 00000000000..3d4432539ca
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/file.phtml
@@ -0,0 +1,88 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_option = $this->getOption(); ?>
+<?php $_fileInfo = $this->getFileInfo(); ?>
+<?php $_fileExists = $_fileInfo->hasData(); ?>
+<?php $_fileName = 'options_' . $_option->getId() . '_file'; ?>
+<?php $_fieldNameAction = $_fileName . '_action'; ?>
+<?php $_fieldValueAction = $_fileExists ? 'save_old' : 'save_new'; ?>
+<?php $_fileNamed = $_fileName . '_name'; ?>
+<?php $class = ($_option->getIsRequire()) ? ' required' : ''; ?>
+
+
+<script type="text/javascript">
+//<![CDATA[
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/file-option.js')?>", function() {
+            $('#input-box-<?php echo $_fileName ?>').fileOption({
+                fileName: '<?php echo $_fileName ?>',
+                fileNamed: '<?php echo $_fileNamed ?>',
+                fieldNameAction: '<?php echo $_fieldNameAction ?>',
+                changeFileSelector: '#change-<?php echo $_fileName ?>',
+                deleteFileSelector: '#delete-<?php echo $_fileName ?>'
+            });
+        });
+    })(jQuery);
+//]]>
+</script>
+
+<div class="field file<?php echo $class; ?>">
+    <label class="label">
+        <span><?php echo  $this->escapeHtml($_option->getTitle()) ?></span>
+        <?php echo $this->getFormatedPrice() ?>
+    </label>
+    <?php if ($_fileExists): ?>
+    <div class="control">
+        <span class="<?php echo $_fileNamed ?>"><?php echo $_fileInfo->getTitle(); ?></span>
+        <a href="javascript:void(0)" class="label" id="change-<?php echo $_fileName ?>" >
+            <?php echo __('Change') ?>
+        </a>&nbsp;
+        <?php if (!$_option->getIsRequire()): ?>
+           <input type="checkbox" id="delete-<?php echo $_fileName ?>" />
+           <span class="label"><?php echo __('Delete') ?></span>
+        <?php endif; ?>
+    </div>
+    <?php endif; ?>
+    <div class="control" id="input-box-<?php echo $_fileName ?>" <?php echo $_fileExists ? 'style="display:none"' : '' ?>>
+        <input type="file" name="<?php echo $_fileName; ?>" class="product-custom-option<?php echo $_option->getIsRequire() ? ' required' : '' ?>" <?php echo $_fileExists ? 'disabled="disabled"' : '' ?> />
+        <input type="hidden" name="<?php echo $_fieldNameAction; ?>" value="<?php echo $_fieldValueAction; ?>" />
+        <?php if ($_option->getFileExtension()): ?>
+            <p class="note">
+                <?php echo __('Allowed file extensions to upload')?>: <strong><?php echo $_option->getFileExtension() ?></strong>
+            </p>
+        <?php endif; ?>
+        <?php if ($_option->getImageSizeX() > 0): ?>
+            <p class="note">
+                <?php echo __('Maximum image width')?>: <strong><?php echo $_option->getImageSizeX() ?> <?php echo __('px.')?></strong>
+            </p>
+        <?php endif; ?>
+        <?php if ($_option->getImageSizeY() > 0): ?>
+            <p class="note">
+                <?php echo __('Maximum image height')?>: <strong><?php echo $_option->getImageSizeY() ?> <?php echo __('px.')?></strong>
+            </p>
+        <?php endif; ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/select.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/select.phtml
new file mode 100644
index 00000000000..765061bced1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/select.phtml
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php /* @var $this \Magento\Catalog\Block\Product\View\Options\Type\Select */ ?>
+<?php 
+    $_option = $this->getOption();
+    $class = ($_option->getIsRequire()) ? ' required' : '';
+?>
+<div class="field<?php echo $class; ?>">
+    <label class="label">
+        <span><?php echo  $this->escapeHtml($_option->getTitle()) ?></span>
+    </label>
+    <div class="control">
+    <?php echo $this->getValuesHtml() ?>
+    <?php if ($_option->getIsRequire()): ?>
+        <?php if ($_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_RADIO || $_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_CHECKBOX): ?>
+            <span id="options-<?php echo $_option->getId() ?>-container"></span>
+        <?php endif; ?>
+    <?php endif;?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/text.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/text.phtml
new file mode 100644
index 00000000000..8a1d38825fc
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/text.phtml
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php 
+    $_option = $this->getOption();
+    $class = ($_option->getIsRequire()) ? ' required' : '';
+?>
+<div class="field<?php if ($_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_AREA) { echo ' textarea';}?><?php echo $class ?>">
+    <label class="label">
+        <span><?php echo  $this->escapeHtml($_option->getTitle()) ?></span>
+        <?php echo $this->getFormatedPrice() ?>
+    </label>
+    <div class="control">
+        <?php if ($_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_FIELD): ?>
+        <?php $_textValidate = null;
+        if($_option->getIsRequire()){
+            $_textValidate['required'] = true;
+        }
+        if($_option->getMaxCharacters()){
+            $_textValidate['maxlength'] = $_option->getMaxCharacters();
+        }
+        ?>
+        <input type="text" id="options_<?php echo $_option->getId() ?>_text" class="input-text product-custom-option"  <?php if(!empty($_textValidate))echo 'data-validate='.json_encode($_textValidate) ; ?>  name="options[<?php echo $_option->getId() ?>]" value="<?php echo $this->escapeHtml($this->getDefaultValue()) ?>" />
+        <?php elseif ($_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_AREA): ?>
+        <?php $_textAreaValidate = null;
+        if($_option->getIsRequire()){
+            $_textAreaValidate['required'] = true;
+        }
+        if($_option->getMaxCharacters()){
+            $_textAreaValidate['maxlength'] = $_option->getMaxCharacters();
+        }
+        ?>
+        <textarea id="options_<?php echo $_option->getId() ?>_text" class="product-custom-option" <?php if(!empty($_textAreaValidate))echo 'data-validate='.json_encode($_textAreaValidate) ; ?> name="options[<?php echo $_option->getId() ?>]" rows="5" cols="25"><?php echo $this->escapeHtml($this->getDefaultValue()) ?></textarea>
+        <?php endif; ?>
+        <?php if ($_option->getMaxCharacters()): ?>
+        <p class="note"><?php echo __('Maximum number of characters:')?> <strong><?php echo $_option->getMaxCharacters() ?></strong></p>
+        <?php endif; ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/wrapper.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/wrapper.phtml
new file mode 100644
index 00000000000..f1f0c8070aa
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/wrapper.phtml
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+$required = '';
+if ($this->hasRequiredOptions()) {
+    $required = ' data-hasrequired="' . __('* Required Fields') . '"';
+}
+?>
+<div class="product options wrapper" id="product-options-wrapper"<?php echo $required; ?>>
+    <fieldset class="fieldset">
+    <?php echo $this->getChildHtml('', true);?>
+    </fieldset>
+</div>
diff --git a/dev/tests/unit/testsuite/Magento/Core/Block/_files/template_test_assign.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/wrapper/bottom.phtml
similarity index 88%
rename from dev/tests/unit/testsuite/Magento/Core/Block/_files/template_test_assign.phtml
rename to app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/wrapper/bottom.phtml
index bd8dea34ac0..2c956095b46 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Block/_files/template_test_assign.phtml
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/wrapper/bottom.phtml
@@ -18,12 +18,11 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
- * @subpackage  integration_tests
+ * @category    design
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 ?>
-<?php
-echo $varOne . ', ' . $varTwo;
+<div class="product options bottom">
+    <?php echo $this->getChildHtml('', true);?>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/price.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/price.phtml
new file mode 100644
index 00000000000..103554f43b9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/price.phtml
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_product = $this->getProduct() ?>
+<?php echo $this->getPriceHtml($_product) ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/price_clone.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/price_clone.phtml
new file mode 100644
index 00000000000..dabb8a33bf6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/price_clone.phtml
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_product = $this->getProduct() ?>
+<?php echo $this->getPriceHtml($_product, false, '_clone') ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/rating.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/rating.phtml
new file mode 100644
index 00000000000..f23bf6963bb
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/rating.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php echo $this->getReviewsSummaryHtml($this->getProduct(), false, true)?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/tierprices.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/tierprices.phtml
new file mode 100644
index 00000000000..7c30a8862ef
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/tierprices.phtml
@@ -0,0 +1,219 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php
+/**
+ * @see \Magento\Catalog\Block\Product\View
+ */
+$_product = $this->getProduct();
+$_tierPrices = $this->getTierPrices();
+$_finalPriceInclTax = $this->helper('Magento\Tax\Helper\Data')->getPrice($_product, $_product->getFinalPrice(), true);
+
+/** @var $_catalogHelper \Magento\Catalog\Helper\Data */
+$_catalogHelper = $this->helper('Magento\Catalog\Helper\Data');
+
+$_weeeTaxAmount = $this->helper('Magento\Weee\Helper\Data')->getAmountForDisplay($_product);
+if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, array(1,2,4))) {
+    $_weeeTaxAttributes = $this->helper('Magento\Weee\Helper\Data')->getProductWeeeAttributesForDisplay($_product);
+}
+
+?>
+<?php if (count($_tierPrices) > 0): ?>
+    <ul class="<?php echo ($this->getInGrouped() ? 'tier prices grouped items' : 'prices tier items'); ?>">
+    <?php if ($this->getInGrouped()): ?>
+        <?php $_tierPrices = $this->getTierPrices($_product); ?>
+    <?php endif; ?>
+    <?php $this->helper('Magento\Weee\Helper\Data')->processTierPrices($_product, $_tierPrices); ?>
+    <?php foreach ($_tierPrices as $_index => $_price): ?>
+        <li class="item">
+        <?php if ($_catalogHelper->canApplyMsrp($_product)): ?>
+            <?php if ($this->getInGrouped()): ?>
+                <?php echo __('Buy %1$s for', $_price['price_qty']) ?>:
+            <?php else: ?>
+                <?php echo __('Buy %1$s', $_price['price_qty']) ?>
+            <?php endif; ?>
+        <?php else: ?>
+
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayBothPrices()): ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 0)): ?>
+                <?php echo __('Buy %1$s for %2$s (%3$s incl. tax) each', $_price['price_qty'], $_price['formated_price_incl_weee_only'], $_price['formated_price_incl_weee']) ?>
+            <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 1)): ?>
+                    <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
+                    <?php if ($_weeeTaxAttributes): ?>
+                    (<small>
+                    <?php echo __('%1$s incl tax.', $_price['formated_price_incl_weee']); ?>
+                    <?php $separator = ' + '; foreach ($_weeeTaxAttributes as $_attribute): ?>
+                        <?php echo $separator; ?>
+                        <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()); ?>
+                    <?php endforeach; ?>
+                    </small>)
+                    <?php endif; ?>
+                    <?php echo __('each') ?>
+            <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 4)): ?>
+                    <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
+                    <?php if ($_weeeTaxAttributes): ?>
+                    (<small>
+                    <?php echo __('%1$s incl tax.', $_price['formated_price_incl_weee']); ?>
+                    <?php $separator = ' + '; foreach ($_weeeTaxAttributes as $_attribute): ?>
+                        <?php echo $separator; ?>
+                        <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()+$_attribute->getTaxAmount()); ?>
+                    <?php endforeach; ?>
+                    </small>)
+                    <?php endif; ?>
+                    <?php echo __('each') ?>
+            <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 2)): ?>
+                    <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price']); ?>
+                    <?php if ($_weeeTaxAttributes): ?>
+                    (<small>
+                    <?php foreach ($_weeeTaxAttributes as $_attribute): ?>
+                        <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()); ?>
+                    <?php endforeach; ?>
+                    <?php echo __('Total incl. Tax: %1$s', $_price['formated_price_incl_weee']); ?>
+                    </small>)
+                    <?php endif; ?>
+                    <?php echo __('each') ?>
+            <?php else: ?>
+                    <?php echo __('Buy %1$s for %2$s (%3$s incl. tax) each', $_price['price_qty'], $_price['formated_price'], $_price['formated_price_incl_tax']) ?>
+            <?php endif; ?>
+        <?php else: ?>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayPriceIncludingTax()): ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 0)): ?>
+                        <?php echo __('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price_incl_weee']) ?>
+                <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 1)): ?>
+                        <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee']); ?>
+                        <?php if ($_weeeTaxAttributes): ?>
+                        (<small>
+                        <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
+                            <?php echo $separator; ?>
+                            <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()); ?>
+                        <?php $separator = ' + '; endforeach; ?>
+                        </small>)
+                        <?php endif; ?>
+                        <?php echo __('each') ?>
+                <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 4)): ?>
+                        <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee']); ?>
+                        <?php if ($_weeeTaxAttributes): ?>
+                        (<small>
+                        <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
+                            <?php echo $separator; ?>
+                            <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()+$_attribute->getTaxAmount()); ?>
+                        <?php $separator = ' + '; endforeach; ?>
+                        </small>)
+                        <?php endif; ?>
+                        <?php echo __('each') ?>
+                <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 2)): ?>
+                        <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_tax']); ?>
+                        <?php if ($_weeeTaxAttributes): ?>
+                        (<small>
+                        <?php foreach ($_weeeTaxAttributes as $_attribute): ?>
+                            <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()); ?>
+                        <?php endforeach; ?>
+                        <?php echo __('Total incl. Tax: %1$s', $_price['formated_price_incl_weee']); ?>
+                        </small>)
+                        <?php endif; ?>
+                        <?php echo __('each') ?>
+                <?php else: ?>
+                        <?php echo __('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price_incl_tax']) ?>
+                <?php endif; ?>
+            <?php else: ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 0)): ?>
+                        <?php echo __('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price_incl_weee_only']) ?>
+                <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 1)): ?>
+                        <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
+                        <?php if ($_weeeTaxAttributes): ?>
+                        (<small>
+                        <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
+                            <?php echo $separator; ?>
+                            <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()); ?>
+                        <?php $separator = ' + '; endforeach; ?>
+                        </small>)
+                        <?php endif; ?>
+                        <?php echo __('each') ?>
+                <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 4)): ?>
+                        <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
+                        <?php if ($_weeeTaxAttributes): ?>
+                        (<small>
+                        <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
+                            <?php echo $separator; ?>
+                            <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()+$_attribute->getTaxAmount()); ?>
+                        <?php $separator = ' + '; endforeach; ?>
+                        </small>)
+                        <?php endif; ?>
+                        <?php echo __('each') ?>
+                <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 2)): ?>
+                        <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price']); ?>
+                        <?php if ($_weeeTaxAttributes): ?>
+                        (<small>
+                        <?php foreach ($_weeeTaxAttributes as $_attribute): ?>
+                            <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()); ?>
+                        <?php endforeach; ?>
+                        <?php echo __('Total incl. Tax: %1$s', $_price['formated_price_incl_weee_only']); ?>
+                        </small>)
+                        <?php endif; ?>
+                        <?php echo __('each') ?>
+                <?php else: ?>
+                        <?php echo __('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price']) ?>
+                <?php endif; ?>
+            <?php endif; ?>
+        <?php endif; ?>
+
+        <?php endif; // Can apply MSRP ?>
+
+        <?php if (!$this->getInGrouped()): ?>
+            <?php if(($_product->getPrice() == $_product->getFinalPrice() && $_product->getPrice() > $_price['price'])
+            || ($_product->getPrice() != $_product->getFinalPrice() &&  $_product->getFinalPrice() > $_price['price'])): ?>
+                <?php echo __('and') ?>&nbsp;<strong class="benefit"><?php echo __('save')?>&nbsp;<span class="percent tier-<?php echo $_index;?>"><?php echo $_price['savePercent']?></span>%
+            <?php endif ?></strong>
+        <?php endif; ?>
+
+        <?php if ($_catalogHelper->isShowPriceOnGesture($_product)):?>
+            <?php $popupId = 'msrp-popup-' . $_product->getId() . $this->helper('Magento\Core\Helper\Data')->getRandomString(20); ?>
+            <?php
+            $addToCartUrl = $this->getProduct()->isSalable()
+                ? $this->getAddToCartUrl($_product, array('qty' => $_price['price_qty']))
+                : '';
+            ?>
+            <a href="#" id="<?php echo($popupId);?>" data-tier-price='{addToCartUrl:"<?php echo $addToCartUrl; ?>", name:"<?php echo $_product->getName() ?>", price:<?php echo json_encode($_price['real_price_html']) ?>, msrp:"<?php echo $this->helper('Magento\Core\Helper\Data')->currency($_product->getMsrp(),true,false) ?>"<?php if (!$this->getInGrouped()): ?>, qty:"<?php echo $_price['price_qty']?>"<?php endif ?>}'><?php echo __('Click for price'); ?></a>
+        <?php else: ?>
+            <span class="msrp-price-hide-message">
+                <?php echo $_catalogHelper->getMsrpPriceMessage($_product) ?>
+            </span>
+        <?php endif; ?>
+        </li>
+    <?php endforeach ?>
+    </ul>
+    <?php if ($_catalogHelper->isShowPriceOnGesture($_product)):?>
+        <script type="text/javascript">
+            (function($) {
+                head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/tier-price.js') ?>", function () {
+                    $('#product_addtocart_form').tierPrice({
+                        inputQty: '#qty'
+                    });
+                });
+            })(jQuery);
+        </script>
+    <?php endif;?>
+<?php endif;?>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/default.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/default.phtml
new file mode 100644
index 00000000000..a8e728a5bf6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/default.phtml
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /* @var $this \Magento\Catalog\Block\Product\View\AbstractView */?>
+<?php $_product = $this->getProduct() ?>
+
+<?php if ($this->displayProductStockStatus()): ?>
+    <?php if ($_product->isAvailable()): ?>
+        <p class="stock available" title="<?php echo __('Availability') ?>">
+            <span><?php echo __('In stock') ?></span>
+        </p>
+    <?php else: ?>
+        <p class="stock unavailable" title="<?php echo __('Availability') ?>">
+            <span><?php echo __('Out of stock') ?></span>
+        </p>
+    <?php endif; ?>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/grouped.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/grouped.phtml
new file mode 100644
index 00000000000..bcde8441944
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/grouped.phtml
@@ -0,0 +1,97 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Grouped product data template
+ *
+ * @see \Magento\Catalog\Block\Product\View\Media
+ * @see \Magento\Catalog\Block\Product\View\Type\Grouped
+ */
+?>
+<?php $this->setPreconfiguredValue(); ?>
+<?php $_product = $this->getProduct(); ?>
+<?php $_associatedProducts = $this->getAssociatedProducts(); ?>
+<?php $_hasAssociatedProducts = count($_associatedProducts) > 0; ?>
+<?php if ($this->displayProductStockStatus()): ?>
+    <?php if ($_product->isAvailable() && $_hasAssociatedProducts): ?>
+        <p class="stock available" title="<?php echo __('Availability') ?>">
+            <span><?php echo __('In stock') ?></span>
+        </p>
+    <?php else: ?>
+        <p class="stock unavailable" title="<?php echo __('Availability') ?>">
+            <span><?php echo __('Out of stock') ?></span>
+        </p>
+    <?php endif; ?>
+<?php endif; ?>
+
+<table class="table data grouped" id="super-product-table">
+    <thead>
+        <tr>
+            <th class="col item"><?php echo __('Product Name') ?></th>
+            <?php if ($this->getCanShowProductPrice($_product)): ?>
+            <th class="col price"><?php echo __('Price') ?></th>
+            <?php endif; ?>
+            <?php if ($_product->isSaleable()): ?>
+            <th class="col qty"><?php echo __('Qty') ?></th>
+            <?php endif; ?>
+        </tr>
+    </thead>
+    <tbody>
+    <?php if ($_hasAssociatedProducts): ?>
+    <?php foreach ($_associatedProducts as $_item): ?>
+        <?php $_finalPriceInclTax = $this->helper('Magento\Tax\Helper\Data')->getPrice($_item, $_item->getFinalPrice(), true) ?>
+        <tr>
+            <td class="col item"><strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong></td>
+            <?php if ($this->getCanShowProductPrice($_product)): ?>
+            <td class="col price">
+                <?php if ($this->getCanShowProductPrice($_item)): ?>
+                <?php echo $this->getPriceHtml($_item, true) ?>
+                <?php echo $this->getTierPriceHtml($_item) ?>
+                <?php endif; ?>
+            </td>
+            <?php endif; ?>
+            <?php if ($_product->isSaleable()): ?>
+            <td class="col qty">
+            <?php if ($_item->isSaleable()) : ?>
+                <div class="control qty">
+                    <input type="text" name="super_group[<?php echo $_item->getId() ?>]" maxlength="12" value="<?php echo $_item->getQty()*1 ?>" title="<?php echo __('Qty') ?>" class="input-text qty" data-validate="{'validate-grouped-qty':'#super-product-table'}"/>
+                </div>
+            <?php else: ?>
+                <p class="stock unavailable" title="<?php echo __('Availability') ?>">
+                    <span><?php echo __('Out of stock') ?></span>
+                </p>
+            <?php endif; ?>
+            </td>
+            <?php endif; ?>
+        </tr>
+    <?php endforeach; ?>
+    <?php else: ?>
+       <tr>
+           <td class="unavailable" colspan="<?php if ($_product->isSaleable()): ?>4<?php else : ?>3<?php endif; ?>"><?php echo __('No options of this product are available.') ?></td>
+       </tr>
+    <?php endif; ?>
+    </tbody>
+</table>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/options/configurable.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/options/configurable.phtml
new file mode 100644
index 00000000000..7163b9c1b51
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/options/configurable.phtml
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php
+$_product    = $this->getProduct();
+$_attributes = $this->helper('Magento\Core\Helper\Data')->decorateArray($this->getAllowAttributes());
+?>
+<?php if ($_product->isSaleable() && count($_attributes)):?>
+    <div class="product options configure">
+    <?php foreach($_attributes as $_attribute): ?>
+        <div class="field required">
+            <label class="label" for="attribute<?php echo $_attribute->getAttributeId() ?>">
+                <span><?php echo $this->escapeHtml($_attribute->getLabel()) ?></span>
+            </label>
+            <div class="control">
+                <select name="super_attribute[<?php echo $_attribute->getAttributeId() ?>]" data-validate="{required:true}" id="attribute<?php echo $_attribute->getAttributeId() ?>" class="super-attribute-select">
+                    <option><?php echo __('Choose an Option...') ?></option>
+                  </select>
+            </div>
+        </div>
+    <?php endforeach; ?>
+    </div>
+    <script type="text/javascript">
+        (function ($) {
+            head.js("<?php echo $this->getViewFileUrl('jquery/jquery.parsequery.js') ?>",
+                "<?php echo $this->getViewFileUrl('Magento_Catalog::js/configurable.js') ?>", function () {
+                $('#product_addtocart_form').configurable({"spConfig":<?php echo $this->getJsonConfig() ?>});
+            })
+        })(jQuery);
+    </script>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/link/link_block.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/link/link_block.phtml
new file mode 100644
index 00000000000..ee234cbe027
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/link/link_block.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="widget product link"><a <?php echo $this->getLinkAttributes() ?>><span><?php echo $this->escapeHtml($this->getAnchorText()) ?></span></a></div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/link/link_inline.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/link/link_inline.phtml
new file mode 100644
index 00000000000..ef8fb3f550d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/link/link_inline.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<span class="widget product link"><a <?php echo $this->getLinkAttributes() ?>><span><?php echo $this->escapeHtml($this->getAnchorText()) ?></span></a></span>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_default_list.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_default_list.phtml
new file mode 100644
index 00000000000..d6e0d27bd73
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_default_list.phtml
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?>
+<?php $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');?>
+<div class="block widget new minilist">
+    <div class="title">
+        <strong><?php echo __('New Products') ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php $suffix = $this->getNameInLayout(); ?>
+        <?php $iterator = 1; ?>
+        <ol class="items minilist products" id="widget-new-products-<?php echo $suffix; ?>">
+        <?php foreach ($_products->getItems() as $_product): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+                <div class="product">
+                    <a class="product photo" href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>">
+                        <?php echo $imageBlock->init($_product, 'side_column_widget_product_thumbnail')->toHtml() ?>
+                    </a>
+                    <div class="product details">
+                        <strong class="product name">
+                            <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>)"><?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($_product, $_product->getName() , 'name') ?></a>
+                        </strong>
+                        <?php echo $this->getPriceHtml($_product, true, '-widget-new-'.$suffix) ?>
+                        <div class="product actions">
+                            <div class="primary">
+                            <?php if($_product->isSaleable()): ?>
+                                    <a href="<?php echo $this->getAddToCartUrl($_product) ?>" class="action tocart">
+                                        <span><?php echo __('Add to Cart') ?></span>
+                                    </a>
+                            <?php else: ?>
+                                <?php if ($_product->getIsSalable()): ?>
+                                    <p class="stock available" title="<?php echo __('Availability') ?>"><span><?php echo __('In stock') ?></span></p>
+                                <?php else: ?>
+                                    <p class="stock unavailable" title="<?php echo __('Availability') ?>"><span><?php echo __('Out of stock') ?></span></p>
+                                <?php endif; ?>
+                            <?php endif; ?>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            <?php echo ($iterator==count($_products->getItems())+1) ? '</li>' : '' ?>
+        <?php endforeach; ?>
+        </ol>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_images_list.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_images_list.phtml
new file mode 100644
index 00000000000..dcb47041578
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_images_list.phtml
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?>
+<?php $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image'); ?>
+<div class="widget block new photos">
+    <div class="title">
+        <strong><?php echo __('New Products') ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php $suffix = $this->getNameInLayout(); ?>
+        <ol class="items">
+        <?php foreach ($_products->getItems() as $_product): ?>
+            <li class="item">
+                <a class="product photo" href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>">
+                    <!-- new_products_images_only_widget -->
+                    <?php echo $imageBlock->init($_product, 'new_products_images_only_widget')->toHtml() ?>
+                </a>
+            </li>
+        <?php endforeach; ?>
+        </ol>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_names_list.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_names_list.phtml
new file mode 100644
index 00000000000..217c0418f16
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_names_list.phtml
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?>
+<div class="widget block new names">
+    <div class="title">
+        <strong><?php echo __('New Products') ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php $suffix = $this->getNameInLayout(); ?>
+        <ol class="items">
+        <?php foreach ($_products->getItems() as $_product): ?>
+            <li class="item">
+                <strong class="product name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>)"><?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($_product, $_product->getName() , 'name') ?></a></strong>
+            </li>
+        <?php endforeach; ?>
+        </ol>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/content/new_grid.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/content/new_grid.phtml
new file mode 100644
index 00000000000..5eef1b00a97
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/content/new_grid.phtml
@@ -0,0 +1,120 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+if ($exist = ($this->getProductCollection() && $this->getProductCollection()->getSize())) {
+    $type = 'widget-new-grid';
+
+    $class = 'widget new grid';
+
+    $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+    $image ='new_products_content_widget_grid';
+    $title = __('New Products');
+    $items = $this->getProductCollection()->getItems();
+
+    $showWishlist = true;
+    $showCompare = true;
+    $showCart = true;
+    $rating = true;
+    $description = false;
+}
+?>
+
+<?php if ($exist):?>
+<div class="block <?php echo $class; ?>">
+    <div class="title">
+        <strong><?php echo $title; ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php echo '<!-- ' . $image . '-->' ?>
+        <ol class="products list items <?php echo $type; ?>">
+        <?php $iterator = 1; ?>
+        <?php foreach($items as $_item): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+                <div class="product">
+                    <a href="<?php echo $this->getProductUrl($_item) ?>" class="product photo">
+                        <?php echo $imageBlock->init($_item, $image)->toHtml() ?>
+                    </a>
+
+                    <div class="product details">
+
+                        <strong class="product name"><a title="<?php echo $this->escapeHtml($_item->getName()) ?>" href="<?php echo $this->getProductUrl($_item) ?>">
+                            <?php echo $this->escapeHtml($_item->getName()) ?></a>
+                        </strong>
+
+                        <?php echo $this->getPriceHtml($_item, true, '-' . $type) ?>
+
+                        <?php if ($_item->getRatingSummary() && $rating): ?>
+                            <?php echo $this->getReviewsSummaryHtml($_item,$rating) ?>
+                        <?php endif; ?>
+
+                        <?php if($showWishlist || $showCompare || $showCart): ?>
+                        <div class="product actions">
+
+                            <?php if($showCart): ?>
+                            <div class="primary">
+                                <?php if($_item->isSaleable()): ?>
+                                <button class="action tocart" data-mage-redirect="{event: 'click', url: '<?php echo $this->getAddToCartUrl($_item) ?>'}" type="button" title="<?php echo __('Add to Cart') ?>">
+                                    <span><?php echo __('Add to Cart') ?></span>
+                                </button>
+                                <?php else: ?>
+                                    <?php if ($_item->getIsSalable()): ?>
+                                        <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                    <?php else: ?>
+                                        <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                    <?php endif; ?>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+
+                            <?php if($showWishlist || $showCompare): ?>
+                            <div class="secondary addto links">
+                                <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow() && $showWishlist): ?>
+                                    <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="action towishlist" data-action="add-to-wishlist" title="<?php echo __('Add to Wishlist') ?>">
+                                        <span><?php echo __('Add to Wishlist') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                                <?php if($this->getAddToCompareUrl($_item) && $showCompare): ?>
+                                    <a href="<?php echo $this->getAddToCompareUrl($_item) ?>" class="action tocompare" title="<?php echo __('Add to Compare') ?>">
+                                        <span><?php echo __('Add to Compare') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+                        </div>
+                        <?php endif; ?>
+
+                    </div>
+                </div>
+            <?php echo ($iterator==count($items)+1) ? '</li>' : '' ?>
+        <?php endforeach ?>
+        </ol>
+        <script type="text/javascript">
+            head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+        </script>
+    </div>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/content/new_list.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/content/new_list.phtml
new file mode 100644
index 00000000000..abfa60384a5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/content/new_list.phtml
@@ -0,0 +1,121 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+if ($exist = ($this->getProductCollection() && $this->getProductCollection()->getSize())) {
+    $type = 'widget-new-list';
+
+    $class = 'widget new list';
+
+    $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+    $image ='new_products_content_widget_list';
+    $title = __('New Products');
+    $items = $this->getProductCollection()->getItems();
+
+    $showWishlist = true;
+    $showCompare = true;
+    $showCart = true;
+    $rating = true;
+    $description = true;
+}
+?>
+
+<?php if ($exist):?>
+<div class="block <?php echo $class; ?>">
+    <div class="title">
+        <strong><?php echo $title; ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php echo '<!-- ' . $image . '-->' ?>
+        <ol class="products list items <?php echo $type; ?>">
+        <?php $iterator = 1; ?>
+        <?php foreach($items as $_item): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+                <div class="product">
+
+                    <a href="<?php echo $this->getProductUrl($_item) ?>" class="product photo">
+                        <?php echo $imageBlock->init($_item, $image)->toHtml() ?>
+                    </a>
+
+                    <div class="product details">
+
+                        <strong class="product name"><a title="<?php echo $this->escapeHtml($_item->getName()) ?>" href="<?php echo $this->getProductUrl($_item) ?>">
+                            <?php echo $this->escapeHtml($_item->getName()) ?></a>
+                        </strong>
+
+                        <?php echo $this->getPriceHtml($_item, true, '-' . $type) ?>
+
+                        <?php if ($_item->getRatingSummary() && $rating): ?>
+                            <?php echo $this->getReviewsSummaryHtml($_item,$rating) ?>
+                        <?php endif; ?>
+
+                        <?php if($showWishlist || $showCompare || $showCart): ?>
+                        <div class="product actions">
+
+                            <?php if($showCart): ?>
+                            <div class="primary">
+                                <?php if($_item->isSaleable()): ?>
+                                <button class="action tocart" data-mage-redirect="{event: 'click', url: '<?php echo $this->getAddToCartUrl($_item) ?>'}" type="button" title="<?php echo __('Add to Cart') ?>">
+                                    <span><?php echo __('Add to Cart') ?></span>
+                                </button>
+                                <?php else: ?>
+                                    <?php if ($_item->getIsSalable()): ?>
+                                        <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                    <?php else: ?>
+                                        <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                    <?php endif; ?>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+
+                            <?php if($showWishlist || $showCompare): ?>
+                            <div class="secondary addto links">
+                                <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow() && $showWishlist): ?>
+                                    <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="action towishlist" data-action="add-to-wishlist" title="<?php echo __('Add to Wishlist') ?>">
+                                        <span><?php echo __('Add to Wishlist') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                                <?php if($this->getAddToCompareUrl($_item) && $showCompare): ?>
+                                    <a href="<?php echo $this->getAddToCompareUrl($_item) ?>" class="action tocompare" title="<?php echo __('Add to Compare') ?>">
+                                        <span><?php echo __('Add to Compare') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+                        </div>
+                        <?php endif; ?>
+
+                    </div>
+                </div>
+            <?php echo ($iterator==count($items)+1) ? '</li>' : '' ?>
+        <?php endforeach ?>
+        </ol>
+        <script type="text/javascript">
+            head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+        </script>
+    </div>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/advanced/form.phtml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/advanced/form.phtml
new file mode 100644
index 00000000000..446652e8ded
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/advanced/form.phtml
@@ -0,0 +1,129 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Catalog advanced search form
+ *
+ * @see \Magento\CatalogSearch\Block\Advanced\Form
+ */
+?>
+<?php $maxQueryLength= $this->helper('Magento\CatalogSearch\Helper\Data')->getMaxQueryLength();?>
+<form class="form search advanced" action="<?php echo $this->getSearchPostUrl() ?>" method="get" id="form-validate">
+<fieldset class="fieldset">
+    <legend class="legend"><span><?php echo __('Search Settings') ?></span></legend><br />
+    <?php foreach ($this->getSearchableAttributes() as $_attribute): ?>
+    <?php $_code = $_attribute->getAttributeCode() ?>
+        <div class="field <?php echo $_code ?>">
+            <label class="label" for="<?php echo $_code ?>"><span><?php echo $this->getAttributeLabel($_attribute) ?></span></label>
+            <div class="control">
+            <?php switch($this->getAttributeInputType($_attribute)):
+                case 'number': ?>
+                <div class="range fields group group-2">
+                    <div class="field no-label">
+                        <div class="control">
+                            <input type="text" name="<?php echo $_code ?>[from]" value="<?php echo $this->escapeHtml($this->getAttributeValue($_attribute, 'from')) ?>" id="<?php echo $_code ?>" title="<?php echo $this->escapeHtml($this->getAttributeLabel($_attribute)) ?>" class="input-text" maxlength="<?php echo $maxQueryLength;?>" data-validate="{number:true, 'less-than-equals-to':'#<?php echo $_code ?>_to'}" />
+                        </div>
+                    </div>
+                    <div class="field no-label">
+                        <div class="control">
+                            <input type="text" name="<?php echo $_code ?>[to]" value="<?php echo $this->escapeHtml($this->getAttributeValue($_attribute, 'to')) ?>" id="<?php echo $_code ?>_to" title="<?php echo $this->escapeHtml($this->getAttributeLabel($_attribute)) ?>" class="input-text"  maxlength="<?php echo $maxQueryLength;?>" data-validate="{number:true, 'greater-than-equals-to':'#<?php echo $_code ?>'}" />
+                        </div>
+                    </div>
+                </div>
+                <?php break;
+                case 'price': ?>
+                <div class="range price fields group group-2">
+                    <div class="field no-label">
+                        <div class="control">
+                            <input name="<?php echo $_code ?>[from]" value="<?php echo $this->escapeHtml($this->getAttributeValue($_attribute, 'from')) ?>" id="<?php echo $_code ?>" title="<?php echo $this->escapeHtml($this->getAttributeLabel($_attribute)) ?>"  class="input-text" type="text"  maxlength="<?php echo $maxQueryLength;?>" data-validate="{number:true, 'less-than-equals-to':'#<?php echo $_code ?>_to'}" />
+                        </div>
+                    </div>
+                    <div class="field with-addon no-label">
+                        <div class="control">
+                            <div class="addon">
+                            <input name="<?php echo $_code ?>[to]" value="<?php echo $this->escapeHtml($this->getAttributeValue($_attribute, 'to')) ?>" id="<?php echo $_code ?>_to" title="<?php echo $this->escapeHtml($this->getAttributeLabel($_attribute)) ?>" class="input-text" type="text"  maxlength="<?php echo $maxQueryLength;?>" data-validate="{number:true, 'greater-than-equals-to':'#<?php echo $_code ?>'}" />
+                            <label class="addafter" for="<?php echo $_code ?>_to"><?php echo $this->getCurrency($_attribute); ?></label>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <?php break;
+                case 'select': ?>
+                    <?php echo $this->getAttributeSelectElement($_attribute) ?>
+                <?php break;
+                case 'yesno': ?>
+                    <?php echo $this->getAttributeYesNoElement($_attribute) ?>
+                <?php break;
+                case 'date': ?>
+                <div class="range dates fields group group-2">
+                    <div class="field date no-label">
+                        <div class="control">
+                            <?php echo $this->getDateInput($_attribute, 'from') ?>
+                        </div>
+                    </div>
+                    <div class="field date no-label">
+                        <div class="control">
+                            <?php echo $this->getDateInput($_attribute, 'to') ?>
+                        </div>
+                    </div>
+                </div>
+                <?php break;
+                default: ?>
+                <input type="text" name="<?php echo $_code ?>" id="<?php echo $_code ?>" value="<?php echo $this->escapeHtml($this->getAttributeValue($_attribute)) ?>" title="<?php echo $this->escapeHtml($this->getAttributeLabel($_attribute)) ?>"  class="input-text <?php echo $this->getAttributeValidationClass($_attribute) ?>"  maxlength="<?php echo $maxQueryLength;?>" />
+            <?php endswitch; ?>
+            </div>
+        </div>
+    <?php endforeach; ?>
+</fieldset>
+<div class="actions">
+    <button type="submit" class="action search" title="<?php echo __('Search') ?>"><span><?php echo __('Search') ?></span></button>
+</div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            function() {
+                $('#form-validate').validation({
+                    errorPlacement: function (error, element) {
+                        var parent = element.parent();
+                        if (parent.hasClass('range')) {
+                            parent.find(this.errorElement + '.' + this.errorClass).remove().end().append(error);
+                        } else {
+                            error.insertAfter(element);
+                        }
+                    },
+                    messages: {
+                        'price[to]': {'greater-than-equals-to': 'Please enter a valid price range.'},
+                        'price[from]': {'less-than-equals-to': 'Please enter a valid price range.'}
+                    }
+                });
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/advanced/result.phtml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/advanced/result.phtml
new file mode 100644
index 00000000000..027b889fc9b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/advanced/result.phtml
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if($this->getResultCount()): ?>
+    <div class="search found">
+        <?php echo __('<strong>%1 item(s)</strong> were found using the following search criteria', $this->getResultCount()); ?>
+    </div>
+<?php else: ?>
+    <div class="error-msg">
+        <div>
+            <?php echo __('No items were found using the following search criteria.');?> <a href="<?php echo $this->getFormUrl(); ?>"><?php echo __('Modify your search'); ?></a>
+        </div>
+    </div>
+<?php endif; ?>
+
+<?php $searchCriterias=$this->getSearchCriterias(); ?>
+<div class="search summary">
+    <?php foreach (array('left', 'right') as $side): ?>
+        <?php if(@$searchCriterias[$side]): ?>
+            <ul class="items">
+                <?php foreach($searchCriterias[$side] as $criteria): ?>
+                    <li class="item"><strong><?php echo $this->escapeHtml(__($criteria['name'])); ?>:</strong> <?php echo $this->escapeHtml($criteria['value']); ?></li>
+                <?php endforeach; ?>
+            </ul>
+        <?php endif; ?>
+    <?php endforeach; ?>
+</div>
+<?php if($this->getResultCount()): ?>
+    <div class="note-msg">
+        <div>
+            <?php echo __("Don't see what you're looking for?"); ?>
+            <a href="<?php echo $this->getFormUrl(); ?>"><?php echo __('Modify your search'); ?></a>
+        </div>
+    </div>
+<?php endif; ?>
+<?php if($this->getResultCount()): ?>
+    <div class="search results"><?php echo $this->getProductListHtml() ?></div>
+<?php endif; ?>
+<?php $this->getSearchCriterias(); ?>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/form.mini.phtml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/form.mini.phtml
new file mode 100644
index 00000000000..20624b1c511
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/form.mini.phtml
@@ -0,0 +1,88 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/** @var $this \Magento\Core\Block\Template */
+/** @var $helper \Magento\CatalogSearch\Helper\Data */
+$helper = $this->helper('Magento\CatalogSearch\Helper\Data');
+?>
+<div class="block search">
+    <div class="title"><strong><?php echo __('Search') ?></strong></div>
+    <div class="content search">
+        <form class="form minisearch" id="search_mini_form" action="<?php echo $helper->getResultUrl() ?>"
+      method="get">
+            <div class="field search">
+                <label class="label" for="search"><?php echo __('Search') ?></label>
+                <div class="control">
+                    <input id="search" type="text" name="<?php echo $helper->getQueryParamName() ?>" value="<?php echo $helper->getEscapedQueryText() ?>" placeholder="<?php echo __('Search entire store here...') ?>" class="input-text" autocomplete="off"/>
+                    <div id="search_autocomplete" class="search autocomplete"></div>
+                    <a class="action advanced" href="<?php echo $helper->getAdvancedSearchUrl(); ?>"><?php echo __('Advanced Search'); ?></a>
+                </div>
+            </div>
+            <div class="actions">
+                <button type="submit" title="<?php echo __('Search') ?>" class="action search"><span><?php echo __('Search') ?></span></button>
+            </div>
+            <script type="text/javascript">
+            //<![CDATA[
+            (function($) {
+                head.js("<?php echo $this->getViewFileUrl('Magento_CatalogSearch::form-mini.js')?>", function() {
+                    $('#search').catalogSearch({
+                        formSelector: '#search_mini_form',
+                        url: '<?php echo $helper->getSuggestUrl() ?>',
+                        destinationSelector: '#search_autocomplete'
+                        //placeholder: '<?php echo __('Search entire store here...') ?>',
+                    });
+                });
+            })(jQuery);
+            //]]>
+            </script>
+        </form>
+    </div>
+</div>
+
+
+<?php /*
+<form id="search_mini_form" action="<?php echo $helper->getResultUrl() ?>"
+      method="get">
+    <div class="form-search">
+        <label for="search"><?php echo __('Search:') ?></label><input id="search" type="text" name="<?php echo $helper->getQueryParamName() ?>" value="<?php echo $helper->getEscapedQueryText() ?>" class="input-text" autocomplete="off"/>&nbsp;<button type="submit" title="<?php echo __('Search') ?>" class="button"><span><span><?php echo __('Search') ?></span></span></button><a href="<?php echo $helper->getAdvancedSearchUrl(); ?>"><?php echo __('Advanced Search'); ?></a>
+        <div id="search_autocomplete" class="search-autocomplete"></div>
+        <script type="text/javascript">
+        //<![CDATA[
+        (function($) {
+            head.js("<?php echo $this->getViewFileUrl('Magento_CatalogSearch::form-mini.js')?>", function() {
+                $('#search').catalogSearch({
+                    formSelector: '#search_mini_form',
+                    placeholder: '<?php echo __('Search entire store here...') ?>',
+                    url: '<?php echo $helper->getSuggestUrl() ?>',
+                    destinationSelector: '#search_autocomplete'
+                });
+            });
+        })(jQuery);
+        //]]>
+        </script>
+    </div>
+</form>
+*/ ?>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_advanced_index.xml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_advanced_index.xml
new file mode 100644
index 00000000000..58a124e9c15
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_advanced_index.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_one_column"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_advanced_result.xml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_advanced_result.xml
new file mode 100644
index 00000000000..05344815a0a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_advanced_result.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_two_columns_left"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">Catalog Advanced Search</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_result_index.xml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_result_index.xml
new file mode 100644
index 00000000000..2471560447b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_result_index.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="search_result_list">
+        <arguments>
+            <!-- If position of argument is depend on image size changable in VDE:
+                positions:list-secondary,grid-secondary,list-actions,grid-actions,list-primary,grid-primary
+            -->
+            <argument name="positioned" xsi:type="string">positions:list-secondary</argument>
+        </arguments>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_term_popular.xml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_term_popular.xml
new file mode 100644
index 00000000000..8f2b1e21cb7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_term_popular.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_one_column"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">Popular Search Terms</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/override/catalogsearch_result_index.xml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/override/catalogsearch_result_index.xml
new file mode 100644
index 00000000000..e6bc30b72bf
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/override/catalogsearch_result_index.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Quick Search Form" type="page" parent="default">
+    <update handle="page_two_columns_left"/>
+    <referenceContainer name="left">
+        <block class="Magento\CatalogSearch\Block\Layer" name="catalogsearch.leftnav" before="-" template="Magento_Catalog::layer/view.phtml"/>
+    </referenceContainer>
+    <referenceContainer name="content">
+        <block class="Magento\CatalogSearch\Block\Result" name="search.result" template="result.phtml">
+            <block class="Magento\Catalog\Block\Product\ListProduct" name="search_result_list" template="product/list.phtml">
+                <block class="Magento\Catalog\Block\Product\ProductList\Toolbar" name="product_list_toolbar" template="product/list/toolbar.phtml">
+                    <block class="Magento\Page\Block\Html\Pager" name="product_list_toolbar_pager"/>
+                </block>
+                <action method="setToolbarBlockName">
+                    <argument name="name" xsi:type="string">product_list_toolbar</argument>
+                </action>
+            </block>
+            <action method="setListOrders"/>
+            <action method="setListModes"/>
+            <action method="setListCollection"/>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/result.phtml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/result.phtml
new file mode 100644
index 00000000000..4bf465e769e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/result.phtml
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if($this->getResultCount()): ?>
+<?php echo $this->getChildHtml('tagged_product_list_rss_link'); ?>
+<div class="search results">
+    <?php if ($messages = $this->getNoteMessages()):?>
+    <div class="note-msg">
+        <div>
+            <?php foreach ($messages as $message):?>
+                <?php echo $message?><br />
+            <?php endforeach;?>
+        </div>
+    </div>
+    <?php endif; ?>
+    <?php echo $this->getProductListHtml() ?>
+</div>
+<?php else: ?>
+
+<div class="note-msg">
+    <div>
+        <?php echo ($this->getNoResultText()) ? $this->getNoResultText() : __('Your search returns no results.') ?>
+        <?php echo $this->getAdditionalHtml() ?>
+        <?php if ($messages = $this->getNoteMessages()):?>
+            <?php foreach ($messages as $message):?>
+                <br /><?php echo $message?>
+            <?php endforeach;?>
+        <?php endif; ?>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/term.phtml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/term.phtml
new file mode 100644
index 00000000000..706dff536e6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/term.phtml
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if( sizeof($this->getTerms()) > 0 ): ?>
+    <ul class="search terms">
+        <?php foreach ($this->getTerms() as $_term): ?>
+            <li class="item"><a href="<?php echo $this->getSearchUrl($_term) ?>" style="font-size:<?php echo $_term->getRatio()*70+75 ?>%;"><?php echo $this->escapeHtml($_term->getName()) ?></a></li>
+        <?php endforeach; ?>
+    </ul>
+<?php else: ?>
+    <div class="note-msg"><div><?php echo __('There are no search terms available.'); ?></div></div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart.phtml
new file mode 100644
index 00000000000..af7fcbff53f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart.phtml
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Shopping cart template
+ *
+ * @see \Magento\Checkout\Block\Cart
+ */
+?>
+<?php if ($this->getItemsCount()) {
+    echo $this->getChildHtml('with-items');
+} else {
+    echo $this->getChildHtml('no-items');
+}
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/coupon.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/coupon.phtml
new file mode 100644
index 00000000000..9bd1430c089
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/coupon.phtml
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block discount">
+    <div class="title"><strong><?php echo __('Discount Codes') ?></strong></div>
+    <div class="content">
+        <form id="discount-coupon-form" action="<?php echo $this->getUrl('checkout/cart/couponPost') ?>" method="post">
+            <fieldset class="fieldset coupon<?php strlen($this->getCouponCode()) ? ' applied' : ''?>">
+                <input type="hidden" name="remove" id="remove-coupon" value="0" />
+                <div class="field">
+                    <label for="coupon_code" class="label"><span><?php echo __('Enter your coupon code if you have one.') ?></span></label>
+                    <div class="control">
+                        <input type="text" class="input-text" id="coupon_code" name="coupon_code" value="<?php echo $this->escapeHtml($this->getCouponCode()) ?>" />
+                    </div>
+                </div>
+                <div class="actions">
+                    <div class="primary">
+                        <button class="action apply" type="button" value="<?php echo __('Apply Coupon') ?>">
+                            <span><?php echo __('Apply Coupon') ?></span>
+                        </button>
+                    </div>
+                    <?php if(strlen($this->getCouponCode())): ?>
+                        <div class="secondary">
+                            <button  type="button" class="action cancel" value="<?php echo __('Cancel Coupon') ?>"><span><?php echo __('Cancel Coupon') ?></span></button>
+                        </div>
+                    <?php endif; ?>
+                </div>
+            </fieldset>
+        </form>
+    <script type="text/javascript">
+    //<![CDATA[
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('Magento_Checkout::js/discount-codes.js')?>", function() {
+                $('#discount-coupon-form').discountCode({
+                    couponCodeSelector: '#coupon_code', removeCouponSelector: '#remove-coupon',
+                    applyButton: 'button.action.apply', cancelButton: 'button.action.cancel'
+                });
+            });
+    })(jQuery);
+    //]]>
+    </script>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/form.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/form.phtml
new file mode 100644
index 00000000000..4efca67cfb0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/form.phtml
@@ -0,0 +1,107 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Shopping cart template
+ *
+ * @see \Magento\Checkout\Block\Cart
+ */
+?>
+<?php $mergedCells = ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices() ? 2 : 1); ?>
+<div class="cart table wrapper<?php echo $mergedCells == 2 ? ' detailed' : ''; ?>">
+    <?php echo $this->getChildHtml('form_before') ?>
+    <form action="<?php echo $this->getUrl('checkout/cart/updatePost') ?>" method="post" id="form-validate" >
+        <table id="shopping-cart-table" class="cart items data">
+            <thead>
+                <tr>
+                    <th class="col item" rowspan="<?php echo $mergedCells; ?>"><span><?php echo __('Item') ?></span></th>
+                    <th class="col price" colspan="<?php echo $mergedCells; ?>"><span><?php echo __('Unit Price') ?></span></th>
+                    <th class="col qty" rowspan="<?php echo $mergedCells; ?>" class="a-center"><span><?php echo __('Qty') ?></span></th>
+                    <th class="col subtotal" colspan="<?php echo $mergedCells; ?>"><span><?php echo __('Subtotal') ?></span></th>
+                </tr>
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <tr>
+                    <th class="col price excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                    <th class="col price incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                    <th class="col subtotal excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                    <th class="col subtotal incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                </tr>
+                <?php endif; ?>
+            </thead>
+            <?php foreach($this->getItems() as $_item): ?>
+                <?php echo $this->getItemHtml($_item) ?>
+            <?php endforeach ?>
+        </table>
+        <div class="cart main actions">
+            <?php if($this->getContinueShoppingUrl()): ?>
+                <a class="action continue" href="<?php echo $this->getContinueShoppingUrl() ?>" title="<?php echo __('Continue Shopping') ?>">
+                    <span><?php echo __('Continue Shopping') ?></span>
+                </a>
+            <?php endif; ?>
+            <button type="submit" name="update_cart_action" value="update_qty" title="<?php echo __('Update Shopping Cart'); ?>" class="action update">
+                <span><?php echo __('Update Shopping Cart'); ?></span>
+            </button>
+            <button type="submit" name="update_cart_action" value="empty_cart" title="<?php echo __('Clear Shopping Cart'); ?>" class="action clear" id="empty_cart_button">
+                <span><?php echo __('Clear Shopping Cart'); ?></span>
+            </button>
+            <!--[if lt IE 8]>
+            <input type="hidden" value="" id="update_cart_action_container" />
+            <![endif]-->
+            <script type="text/javascript">
+                //<![CDATA[
+                (function($) {
+                    head.js("<?php echo $this->getViewFileUrl('Magento_Checkout::js/shopping-cart.js')?>",
+                        function() {
+                            // Internet Explorer (lt 8) does not support value attribute in button elements
+                            $('#shopping-cart-table').shoppingCart({
+                                emptyCartButton: 'action.clear',
+                                updateCartActionContainer: '#update_cart_action_container'
+                            });
+                        });
+                })(jQuery);
+                //]]>
+            </script>
+        </div>
+    </form>
+    <?php echo $this->getChildHtml('shopping.cart.table.after'); ?>
+    <script type="text/javascript">
+        (function($) {
+            head.js(
+                "<?php echo $this->getViewFileUrl('js/sticky.js') ?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+                function() {
+                    $('#form-validate').validation();
+                    $('.cart.summary').sticky({
+                        container: '.cart.container'
+                });
+                });
+        })(jQuery)
+    </script>
+</div>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/configure/updatecart.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/configure/updatecart.phtml
new file mode 100644
index 00000000000..34e87f8932f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/configure/updatecart.phtml
@@ -0,0 +1,60 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_product = $this->getProduct(); ?>
+<?php $buttonTitle = __('Update Cart'); ?>
+<?php if ($_product->isSaleable()): ?>
+    <div class="box tocart update">
+        <?php if (!$_product->isGrouped()): ?>
+        <div class="field qty">
+            <label class="label" for="qty"><span><?php echo __('Qty:') ?></span></label>
+            <div class="control">
+                <input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>" title="<?php echo __('Qty') ?>" class="input-text qty" data-validate=" {required:true,digits:true}"/>
+            </div>
+        </div>
+        <?php endif; ?>
+        <div class="actions">
+            <button type="button" class="action primary tocart" title="<?php echo $buttonTitle ?>" id="product-updatecart-button"><span><?php echo $buttonTitle ?></span></button>
+        </div>
+        <?php echo $this->getChildHtml('', true) ?>
+    </div>
+
+    <script type="text/javascript">
+        (function ($) {
+            head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('Magento_Catalog::js/msrp.js') ?>", function () {
+                    $('#product_addtocart_form').addToCart({
+                        cartButtonId: "#product-updatecart-button",
+                        cartForm: "#product_addtocart_form"
+                    }).validation();
+                });
+        })(jQuery);
+    </script>
+<?php endif; ?>
+
+
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/default.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/default.phtml
new file mode 100644
index 00000000000..fd3eb94d980
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/default.phtml
@@ -0,0 +1,293 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+$_item = $this->getItem();
+$isVisibleProduct = $_item->getProduct()->isVisibleInSiteVisibility();
+$canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_item->getProduct(), \Magento\Catalog\Model\Product\Attribute\Source\Msrp\Type::TYPE_BEFORE_ORDER_CONFIRM);
+?>
+<tbody class="cart item">
+<tr class="item info">
+    <td class="col item">
+        <?php if ($this->hasProductUrl()):?><a href="<?php echo $this->getProductUrl() ?>" title="<?php echo $this->escapeHtml($this->getProductName()) ?>" class="product photo"><?php endif;?>
+        <?php echo $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image')->init($_item->getProduct(), 'cart_page_product_thumbnail')->toHtml(); ?>
+        <?php if ($this->hasProductUrl()):?></a><?php endif;?>
+        <div class="product details">
+            <strong class="product name">
+            <?php if ($this->hasProductUrl()):?>
+                <a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->escapeHtml($this->getProductName()) ?></a>
+            <?php else: ?>
+                <?php echo $this->escapeHtml($this->getProductName()) ?>
+            <?php endif; ?>
+            </strong>
+            <?php if ($_options = $this->getOptionList()):?>
+            <dl class="cart item options">
+                <?php foreach ($_options as $_option) : ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item-options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+                <?php endforeach; ?>
+            </dl>
+            <?php endif;?>
+            <?php if ($messages = $this->getMessages()): ?>
+            <?php foreach ($messages as $message): ?>
+                <p class="cart item message <?php echo $message['type'] ?>">* <?php echo $this->escapeHtml($message['text']) ?></p>
+            <?php endforeach; ?>
+            <?php endif; ?>
+            <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+            <?php if ($addInfoBlock): ?>
+                <?php echo $addInfoBlock->setItem($_item)->toHtml() ?>
+            <?php endif;?>
+        </div>
+    </td>
+
+    <?php if ($canApplyMsrp): ?>
+        <td class="col msrp a-right"<?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?> colspan="2"<?php endif; ?>>
+            <span class="cart-price">
+                <span class="cart-msrp-unit"><?php echo __('See price before order confirmation.'); ?></span>
+                <?php $helpLinkId = 'cart-msrp-help-' . $_item->getId(); ?>
+                <a id="<?php echo $helpLinkId ?>" href="#" class="map-help-link"><?php echo __("What's this?"); ?></a>
+                <script type="text/javascript">
+                    Catalog.Map.addHelpLink($('<?php echo $helpLinkId ?>'), "<?php echo __("What's this?") ?>");
+                </script>
+            </span>
+        </td>
+    <?php else: ?>
+
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+        <td class="col price excl tax">
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+            <?php else: ?>
+                <span class="cart-price">
+            <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
+                <?php endif; ?>
+
+            </span>
+
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+                <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php endif; ?>
+                </div>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                        <span class="weee"><?php echo __('Total'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
+                    </div>
+                <?php endif; ?>
+            <?php endif; ?>
+        </td>
+
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+        <td class="col price incl tax">
+            <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+            <?php else: ?>
+                <span class="cart-price">
+            <?php endif; ?>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
+                <?php endif; ?>
+
+            </span>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+                <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php endif; ?>
+                </div>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                        <span class="weee"><?php echo __('Total incl. tax'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+                    </div>
+                <?php endif; ?>
+            <?php endif; ?>
+        </td>
+        <?php endif; ?>
+    <?php endif; ?>
+    <td class="col qty">
+        <div class="control qty">
+        <input name="cart[<?php echo $_item->getId() ?>][qty]" value="<?php echo $this->getQty() ?>" type="text" size="4" title="<?php echo __('Qty') ?>" class="input-text qty" maxlength="12" data-validate="{required:true,'validate-greater-than-zero':true}"/>
+        </div>
+    </td>
+    <?php if (($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
+    <td class="col subtotal excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($canApplyMsrp): ?>
+                <span class="cart-msrp-subtotal">--</span>
+            <?php else: ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()) ?>
+                <?php endif; ?>
+            <?php endif; ?>
+
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="weee"><?php echo __('Total'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if (($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
+    <td class="col subtotal incl tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($canApplyMsrp): ?>
+                <span class="cart-msrp-subtotal">--</span>
+            <?php else: ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
+                <?php endif; ?>
+            <?php endif; ?>
+
+        </span>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="weee"><?php echo __('Total incl. tax'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+</tr>
+<tr class="item actions">
+    <td colspan="100">
+        <div class="actions">
+
+            <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllowInCart()) : ?>
+                <?php if ($isVisibleProduct): ?>
+                <a href="<?php echo $this->helper('Magento\Wishlist\Helper\Data')->getMoveFromCartUrl($_item->getId()); ?>" class="use-ajax action towishlist">
+                    <span><?php echo __('Move to Wishlist'); ?></span>
+                </a>
+                <?php endif ?>
+            <?php endif ?>
+
+            <?php if ($isVisibleProduct): ?>
+            <a class="action edit" href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo __('Edit item parameters') ?>"><span><?php echo __('Edit') ?></span></a>
+            <?php endif ?>
+
+            <a href="<?php echo $this->getDeleteUrl()?>" title="<?php echo __('Remove item')?>" class="action delete"><span><?php echo __('Remove item')?></span></a>
+        </div>
+    </td>
+</tr>
+</tbody>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/methods.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/methods.phtml
new file mode 100644
index 00000000000..8c71d1ff073
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/methods.phtml
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Shopping cart template
+ *
+ * @see \Magento\Checkout\Block\Cart
+ */
+?>
+<?php if(!$this->hasError()): ?>
+<?php $methods = $this->getMethods('methods') ? : $this->getMethods('top_methods') ?>
+<ul class="checkout methods items">
+<?php foreach ($methods as $method): ?>
+    <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
+    <li class="item"><?php echo $methodHtml; ?></li>
+    <?php endif; ?>
+<?php endforeach; ?>
+</ul>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/minicart.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/minicart.phtml
new file mode 100644
index 00000000000..6614e01c4fa
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/minicart.phtml
@@ -0,0 +1,137 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Shoping cart sidebar
+ *
+ * @see \Magento\Checkout\Block\Cart\Sidebar
+ */
+?>
+<?php if ($this->getInList()): ?>
+    <li data-block="minicart" class="minicart wrapper">
+<?php else:  ?>
+    <div data-block="minicart" class="minicart wrapper">
+<?php endif; ?>
+<?php $_cartQty = $this->getSummaryCount() ?>
+<?php if (!$this->getIsLinkMode() || !$this->getIsNeedToDisplaySideBar()): ?>
+    <a data-toggle="dropdown" class="action showcart" href="<?php echo $this->getUrl('checkout/cart'); ?>">
+        <span class="text"><?php echo __('My Cart'); ?></span>
+        <span class="qty<?php echo ($_cartQty > 0) ? '' : ' empty'; ?>">
+            <?php echo $_cartQty ?>
+        </span>
+    </a>
+    <div data-target="dropdown" class="block minicart<?php echo ($_cartQty > 0) ? '' : ' empty'; ?>">
+        <button title="<?php echo __('Close'); ?>" type="button" class="action close" data-toggle="dropdown">
+            <span><?php echo __('Close'); ?></span>
+        </button>
+        <div class="title">
+            <strong>
+                <span class="text"><?php echo __('My Cart'); ?></span>
+                <span title="<?php echo __('Items in Cart'); ?>" class="qty<?php echo ($_cartQty > 0) ? '' : ' empty'; ?>">
+                    <?php echo $_cartQty ?>
+                </span>
+            </strong>
+        </div>
+        <div class="content">
+            <?php $_items = $this->getRecentItems() ?>
+            <?php if (count($_items)): ?>
+                <strong class="subtitle"><?php echo __('Recently added item(s)') ?></strong>
+                <div data-action="scroll" class="products minilist">
+                    <ol id="mini-cart" class="minilist items">
+                        <?php foreach ($_items as $_item): ?>
+                        <?php echo $this->getItemHtml($_item) ?>
+                        <?php endforeach; ?>
+                    </ol>
+                </div>
+            <?php else: ?>
+                <strong class="subtitle empty">
+                    <?php echo __('You have no items in your shopping cart.') ?>
+                </strong>
+                <?php if ($this->getCartEmptyMessage()): ?>
+                    <p class="minicart empty text"><?php echo $this->getCartEmptyMessage(); ?></p>
+                <?php endif; ?>
+            <?php endif ?>
+
+            <?php if ($_cartQty || $this->getAllowCartLink()): ?>
+                <?php $isPossibleOnepageCheckout = $_cartQty && $this->isPossibleOnepageCheckout() ?>
+                <?php if ($isPossibleOnepageCheckout): ?>
+                    <div class="subtotal">
+                        <?php if ($this->canApplyMsrp()): ?>
+                        <span class="mark msrp">
+                            <?php echo __('ORDER TOTAL WILL BE DISPLAYED BEFORE YOU SUBMIT THE ORDER'); ?>
+                        </span>
+                        <?php else: ?>
+                            <span class="mark">
+                                <?php echo __('Cart Subtotal') ?>
+                            </span>
+                            <div class="amount">
+                                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getSubtotal()) ?>
+                                <?php if ($_subtotalInclTax = $this->getSubtotalInclTax()): ?>
+                                    <span class="amount incl tax">
+                                        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_subtotalInclTax) ?>
+                                        <?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcText(true) ?>
+                                    </span>
+                                <?php endif; ?>
+                            </div>
+                        <?php endif; ?>
+                    </div>
+                    <?php endif ?>
+                <?php echo $this->getChildHtml('minicart_info') ?>
+                <div class="actions">
+                    <div class="primary">
+                        <?php if ($isPossibleOnepageCheckout): ?>
+                            <?php echo $this->getChildHtml('extra_actions') ?>
+                            <button id="top-cart-btn-checkout" type="button" class="action checkout" title="<?php echo __('Checkout') ?>">
+                                <span><?php echo __('Checkout') ?></span>
+                            </button>
+                        <?php endif; ?>
+                    </div>
+                    <div class="secondary">
+                        <a class="action viewcart" href="<?php echo $this->getUrl('checkout/cart'); ?>">
+                            <span><?php echo __('View cart') ?></span>
+                        </a>
+                    </div>
+                </div>
+            <?php endif ?>
+        </div>
+    </div>
+<?php endif; ?>
+<script type="text/javascript">
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('Magento_Checkout::js/sidebar.js') ?>", function() {
+                $('[data-block="minicart"]').sidebar({
+                    checkoutUrl: '<?php echo $this->getCheckoutUrl();?>',
+                    checkoutButton: '#top-cart-btn-checkout',
+                    removeButton: '#mini-cart a.action.delete',
+                    confirmMessage: '<?php echo __('Are you sure you would like to remove this item from the shopping cart?') ?>'
+                });
+            });
+    })(jQuery);
+</script>
+<?php if ($this->getInList()): ?>
+    </li>
+<?php else:  ?>
+    </div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/noItems.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/noItems.phtml
new file mode 100644
index 00000000000..1b41606e3f0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/noItems.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="cart empty">
+    <?php echo $this->getChildHtml('checkout_cart_empty_widget'); ?>
+    <p><?php echo __('You have no items in your shopping cart.') ?></p>
+    <p><?php echo __('Click <a href="%1">here</a> to continue shopping.', $this->getContinueShoppingUrl()) ?></p>
+    <?php echo $this->getChildHtml('shopping.cart.table.after'); ?>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/shipping.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/shipping.phtml
new file mode 100644
index 00000000000..35caee43cee
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/shipping.phtml
@@ -0,0 +1,126 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Checkout\Block\Cart\Shipping */ ?>
+<div class="block shipping">
+    <div class="title"><strong><?php echo __('Estimate Shipping and Tax') ?></strong></div>
+    <div class="content">
+    <form action="<?php echo $this->getUrl('checkout/cart/estimatePost') ?>" method="post" id="shipping-zip-form">
+        <fieldset class="fieldset estimate">
+            <p class="field note"><?php echo __('Enter your destination to get a shipping estimate.') ?></p>
+            <div class="field country">
+                <label for="country" class="label"><span><?php echo __('Country') ?></span></label>
+                <div class="control">
+                    <?php echo $this->getDirectoryBlock()->getCountryHtmlSelect($this->getEstimateCountryId()) ?>
+                </div>
+            </div>
+            <?php //if($this->getStateActive()): ?>
+            <div class="field region<?php if ($this->isStateProvinceRequired()) echo ' required' ?>">
+                <label for="region_id" class="label"><span><?php echo __('State/Province') ?></span></label>
+                <div class="control">
+                    <select id="region_id" name="region_id" title="<?php echo __('State/Province') ?>" style="display:none;"<?php echo ($this->isStateProvinceRequired() ? ' class="validate-select"' : '') ?>>
+                        <option value=""><?php echo __('Please select region, state or province') ?></option>
+                    </select>
+                   <input type="text" id="region" name="region" value="<?php echo $this->escapeHtml($this->getEstimateRegion()) ?>"  title="<?php echo __('State/Province') ?>" class="input-text" style="display:none;" />
+                </div>
+            </div>
+            <?php //endif; ?>
+            <?php if($this->getCityActive()): ?>
+            <div class="field city<?php if ($this->isCityRequired()) echo ' required' ?>">
+                <label for="city" class="label"><span><?php echo __('City') ?></span></label>
+                <div class="control">
+                    <input class="input-text<?php if ($this->isCityRequired()):?> required-entry<?php endif;?>" id="city" type="text" name="estimate_city" value="<?php echo $this->escapeHtml($this->getEstimateCity()) ?>" />
+                </div>
+            </div>
+            <?php endif; ?>
+            <div class="field postcode<?php if ($this->isZipCodeRequired()) echo ' required' ?>">
+                <label for="postcode" class="label"><span><?php echo __('Zip/Postal Code') ?></span></label>
+                <div class="control">
+                    <input class="input-text validate-postcode<?php if ($this->isZipCodeRequired()):?> required-entry<?php endif;?>" type="text" id="postcode" name="estimate_postcode" value="<?php echo $this->escapeHtml($this->getEstimatePostcode()) ?>" />
+                </div>
+            </div>
+            <div class="actions">
+                <button type="submit" class="action quote"><span><?php echo __('Get a Quote') ?></span></button>
+            </div>
+        </fieldset>
+    </form>
+    <script type="text/javascript">
+        (function($) {
+            head.js(
+                "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+                "<?php echo $this->getViewFileUrl('Magento_Checkout::js/region-updater.js') ?>",
+                function() {
+                    $('#country').regionUpdater({
+                        optionalRegionAllowed: <?php echo ($this->getConfig('general/region/display_all')? 'true' : 'false'); ?>,
+                        regionListId: '#region_id',
+                        regionInputId: '#region',
+                        postcodeId: '#postcode',
+                        form: $('#shipping-zip-form').validation(),
+                        regionJson: <?php echo $this->helper('Magento\Directory\Helper\Data')->getRegionJson() ?>,
+                        defaultRegion: "<?php echo $this->getEstimateRegionId() ?>",
+                        countriesWithOptionalZip: <?php echo $this->helper('Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(true) ?>
+                    });
+                });
+        })(jQuery);
+    </script>
+    <?php if (($_shippingRateGroups = $this->getEstimateRates())): ?>
+    <form id="co-shipping-method-form" action="<?php echo $this->getUrl('checkout/cart/estimateUpdatePost') ?>">
+        <fieldset class="fieldset rates">
+            <dl class="items methods">
+                <?php foreach ($_shippingRateGroups as $code => $_rates): ?>
+                    <dt class="item title"><span><?php echo $this->escapeHtml($this->getCarrierName($code)) ?></span></dt>
+                    <dd class="item options">
+                    <?php foreach ($_rates as $_rate): ?>
+                        <div class="field choice item<?php if ($_rate->getErrorMessage()) echo ' error-msg';?>">
+                           <?php if ($_rate->getErrorMessage()): ?>
+                                <?php echo $this->escapeHtml($_rate->getErrorMessage()) ?>
+                           <?php else: ?>
+                                <input name="estimate_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>"<?php if($_rate->getCode()===$this->getAddressShippingMethod()) echo ' checked="checked"' ?> class="radio" />
+                                <label class="label" for="s_method_<?php echo $_rate->getCode() ?>">
+                                    <span><?php echo $this->escapeHtml($_rate->getMethodTitle()) ?></span>
+                                    <?php $_excl = $this->getShippingPrice($_rate->getPrice(), $this->helper('Magento\Tax\Helper\Data')->displayShippingPriceIncludingTax()); ?>
+                                    <?php $_incl = $this->getShippingPrice($_rate->getPrice(), true); ?>
+                                    <?php echo $_excl; ?>
+                                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayShippingBothPrices() && $_incl != $_excl): ?>
+                                        (<?php echo __('Incl. Tax'); ?> <?php echo $_incl; ?>)
+                                    <?php endif; ?>
+                                </label>
+                           <?php endif ?>
+                        </div>
+                    <?php endforeach; ?>
+                    </dd>
+                <?php endforeach; ?>
+            </dl>
+            <div class="actions">
+                <button type="submit" class="action update" name="do" value="<?php echo __('Update Total') ?>"><span><?php echo __('Update Total') ?></span></button>
+            </div>
+        </fieldset>
+    </form>
+    <?php endif; ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/sidebar/default.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/sidebar/default.phtml
new file mode 100644
index 00000000000..32a7bb3c4aa
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/sidebar/default.phtml
@@ -0,0 +1,352 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<?php $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_item->getProduct(), \Magento\Catalog\Model\Product\Attribute\Source\Msrp\Type::TYPE_BEFORE_ORDER_CONFIRM); ?>
+<?php $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image')?>
+<li class="item product">
+    <div class="product">
+    <?php if ($this->hasProductUrl()): ?>
+        <a href="<?php echo $this->getProductUrl()?>" title="<?php echo $this->escapeHtml($this->getProductName()) ?>" class="product photo">
+            <?php echo $imageBlock->init($_item->getProduct(), 'mini_cart_product_thumbnail')->toHtml() ?>
+        </a>
+    <?php else: ?>
+        <span class="product photo">
+            <?php echo $imageBlock->init($_item->getProduct(), 'mini_cart_product_thumbnail')->toHtml() ?>
+        </span>
+    <?php endif; ?>
+
+    <div class="product details">
+        <strong class="product name">
+            <?php if ($this->hasProductUrl()): ?>
+                <a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->escapeHtml($this->getProductName()) ?></a>
+            <?php else: ?>
+                <?php echo $this->escapeHtml($this->getProductName()) ?>
+            <?php endif; ?>
+        </strong>
+
+
+        <?php if ($_options = $this->getOptionList()):?>
+            <div class="product options wrapper">
+                <span class="more"><?php echo __('View Details') ?></span>
+
+                <div class="product options details">
+                    <strong class="title"><?php echo __('Options Details'); ?></strong>
+                    <dl class="product options list">
+                        <?php foreach ($_options as $_option) : ?>
+                        <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                        <dd>
+                            <?php if (is_array($_option['value'])): ?>
+                            <?php echo nl2br(implode("\n", $_option['value'])) ?>
+                            <?php else: ?>
+                            <?php echo $_option['value'] ?>
+                            <?php endif; ?>
+                        </dd>
+                        <?php endforeach; ?>
+                    </dl>
+                </div>
+            </div>
+        <?php endif; ?>
+
+        <?php if ($_item->getProduct()->isVisibleInSiteVisibility()):?>
+        <a href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo __('Edit item') ?>" class="action edit"><span><?php echo __('Edit')?></span></a>
+        <?php endif ?>
+
+
+<?php // Prices ?>
+
+<div class="pricing details<?php echo $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices() ? ' complex' : ''; ?>">
+
+
+    <?php if ($canApplyMsrp): ?>
+
+            <div class="rate map">
+                <span class="label"><?php echo __('Price'); ?></span>
+                <span class="value"><?php echo __('See price before order confirmation.'); ?></span>
+            </div>
+
+    <?php else: ?>
+
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+            <div class="rate">
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <span class="label excl tax"><?php echo __('Excl. Tax'); ?></span>
+            <?php else: ?>
+                <span class="label display"><?php echo __('Price'); ?></span>
+            <?php endif; ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
+                <span class="value excl tax">
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
+                </span>
+            <?php else: ?>
+                <span class="value display">
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
+                </span>
+            <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales')): ?>
+
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <div class="rate weee">
+                            <span class="label weee"><?php echo $tax['title']; ?></span>
+                            <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                        </div>
+                    <?php endforeach; ?>
+
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <div class="rate weee">
+                            <span class="label weee"><?php echo $tax['title']; ?></span>
+                            <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        </div>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales')): ?>
+
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <div class="rate weee">
+                            <span class="label weee"><?php echo $tax['title']; ?></span>
+                            <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        </div>
+                    <?php endforeach; ?>
+
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                        <div class="rate weee total">
+                            <span class="label weee"><?php echo __('Total:'); ?></span>
+                            <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
+                        </div>
+                <?php endif; ?>
+            <?php endif; ?>
+        <?php endif; ?>
+
+
+
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+            <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+            <div class="rate">
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <span class="label tax incl"><?php echo __('Incl. Tax'); ?></span>
+            <?php else: ?>
+                <span class="label display"><?php echo __('Price'); ?></span>
+            <?php endif; ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
+                <span class="value tax incl"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+            <?php else: ?>
+                <span class="value display"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?></span>
+            <?php endif; ?>
+            </div>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <div class="rate weee">
+                            <span class="label weee"><?php echo $tax['title']; ?></span>
+                            <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                        </div>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <div class="rate weee">
+                            <span class="label weee"><?php echo $tax['title']; ?></span>
+                            <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        </div>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <div class="rate weee">
+                            <span class="label weee"><?php echo $tax['title']; ?></span>
+                            <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        </div>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                    <div class="rate weee total">
+                        <span class="label weee tax incl"><?php echo __('Total incl. tax'); ?></span>
+                        <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+                    </div>
+                <?php endif; ?>
+            <?php endif; ?>
+        <?php endif; ?>
+
+    <?php endif; //Can apply MSRP ?>
+
+    <div class="details qty">
+        <span class="label"><?php echo __('Qty'); ?></span>
+        <span class="value qty"><?php echo $this->getQty() ?></span>
+    </div>
+
+</div>
+
+
+
+
+
+        <div class="product actions">
+            <a href="<?php echo $this->getDeleteUrl() ?>" title="<?php echo __('Remove item') ?>" class="action delete">
+                <span><?php echo __('Remove')?></span>
+            </a>
+        </div>
+    </div>
+
+
+
+
+
+
+<?php /*
+
+
+
+
+
+
+
+        <table cellpadding="0">
+
+        <?php if ($canApplyMsrp): ?>
+
+            <tr><th><?php echo __('Price'); ?></th><td><span class="map-cart-sidebar-item"><?php echo __('See price before order confirmation.'); ?></span></td></tr>
+
+        <?php else: ?>
+
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+            <tr>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <th><?php echo __('Excl. Tax'); ?></th>
+            <?php else: ?>
+                <th><?php echo __('Price'); ?></th>
+            <?php endif; ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
+                <td><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></td>
+            <?php else: ?>
+                <td><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?></td>
+            <?php endif; ?>
+            </tr>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales')): ?>
+
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <tr>
+                            <th><small><?php echo $tax['title']; ?>:</small></th>
+                            <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></small></td>
+                        </tr>
+                    <?php endforeach; ?>
+
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <tr>
+                            <th><small><?php echo $tax['title']; ?></small></th>
+                            <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></td>
+                        </tr>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales')): ?>
+
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <tr>
+                            <th><small><?php echo $tax['title']; ?></small></th>
+                            <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></td>
+                        </tr>
+                    <?php endforeach; ?>
+
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                        <tr>
+                            <th><small><?php echo __('Total:'); ?></small></th>
+                            <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></small></td>
+                        </tr>
+                <?php endif; ?>
+            <?php endif; ?>
+        <?php endif; ?>
+
+
+
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+            <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+            <tr>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <th><?php echo __('Incl. Tax'); ?></th>
+            <?php else: ?>
+                <th><?php echo __('Price'); ?></th>
+            <?php endif; ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
+                <td><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></td>
+            <?php else: ?>
+                <td><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?></td>
+            <?php endif; ?>
+            </tr>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <tr>
+                            <th><small><?php echo $tax['title']; ?></small></th>
+                            <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></small></td>
+                        </tr>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <tr>
+                            <th><small><?php echo $tax['title']; ?></small></th>
+                            <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></td>
+                        </tr>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <tr>
+                            <th><small><?php echo $tax['title']; ?></small></th>
+                            <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></td>
+                        </tr>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                    <tr>
+                        <th><small><?php echo __('Total incl. tax'); ?></small></th>
+                        <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></small></td>
+                    </tr>
+                <?php endif; ?>
+            <?php endif; ?>
+        <?php endif; ?>
+
+        <?php endif; //Can apply MSRP ?>
+            <tr>
+                <th><?php echo __('Qty'); ?></th>
+                <td><?php echo $this->getQty() ?></td>
+            </tr>
+        </table>
+
+        <?php if ($_item->getProduct()->isVisibleInSiteVisibility()):?>
+        <a href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo __('Edit item') ?>" class="btn-edit"><?php echo __('Edit item')?></a>
+        |
+        <?php endif ?>
+        <a href="<?php echo $this->getDeleteUrl() ?>" title="<?php echo __('Remove item') ?>" class="btn-remove"><?php echo __('Remove item')?></a>
+    </div>
+    </div>
+    */ ?>
+
+    </div>
+</li>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/totals.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/totals.phtml
new file mode 100644
index 00000000000..ea12c71727e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/totals.phtml
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Shopping cart totals template
+ *
+ * @see \Magento\Checkout\Block\Cart\Totals
+ * @var $this \Magento\Checkout\Block\Cart\Totals
+ */
+?>
+<div class="cart totals">
+<?php if ($this->canApplyMsrp()): ?>
+    <div class="cart-msrp-totals"><?php echo __('ORDER TOTAL WILL BE DISPLAYED BEFORE YOU SUBMIT THE ORDER'); ?></div>
+<?php else: ?>
+    <table id="shopping-cart-totals-table" class="table totals">
+        <col />
+        <col width="1" />
+        <tfoot>
+            <?php echo $this->renderTotals('footer'); ?>
+        </tfoot>
+        <tbody>
+            <?php echo $this->renderTotals(); ?>
+        </tbody>
+    </table>
+<?php endif; ?>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/js/opcheckout.js b/app/design/frontend/magento_plushe/Magento_Checkout/js/opcheckout.js
new file mode 100644
index 00000000000..fab21c08936
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/js/opcheckout.js
@@ -0,0 +1,494 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    one page checkout first step
+ * @package     mage
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint browser:true jquery:true*/
+/*global alert*/
+(function($, window) {
+    'use strict';
+    // Base widget, handle ajax events and first section(Checkout Method) in one page checkout accordion
+    $.widget('mage.opcheckout', {
+        options: {
+            checkout: {
+                loginGuestSelector: '#login\\:guest',
+                loginRegisterSelector: '#login\\:register',
+                loginFormSelector: '#login-form',
+                continueSelector: '#onepage-guest-register-button',
+                registerCustomerPasswordSelector: '#co-billing-form .field.password,#co-billing-form .field.confirm',
+                suggestRegistration: false
+            },
+            sectionSelectorPrefix: '#opc-',
+            billingSection: 'billing',
+            ajaxLoaderPlaceButton: false,
+            updateSelectorPrefix: '#checkout-',
+            updateSelectorSuffix: '-load',
+            backSelector: '.action.back',
+            minBalance: 0.0001
+        },
+
+        _create: function() {
+            var _this = this;
+            this.checkoutPrice = this.options.quoteBaseGrandTotal;
+            if (this.options.checkout.suggestRegistration) {
+                $(this.options.checkout.loginGuestSelector).prop('checked', false);
+                $(this.options.checkout.loginRegisterSelector).prop('checked', true);
+            }
+            this.element
+                .on('click', this.options.checkout.continueSelector, function() {
+                    $.proxy(_this._continue($(this)), _this);
+                })
+                .on('gotoSection', function(event, section) {
+                    $.proxy(_this._ajaxUpdateProgress(section), _this);
+                    _this.element.trigger('enableSection', {selector: _this.options.sectionSelectorPrefix + section});
+                })
+                .on('ajaxError', $.proxy(this._ajaxError, this))
+                .on('click', this.options.backSelector, function() {
+                    _this.element.trigger('enableSection', {selector: '#' + _this.element.find('.active').prev().attr('id')});
+                })
+                .on('click', '[data-action="login-form-submit"]', function() {
+                    $(_this.options.checkout.loginFormSelector).submit();
+                });
+            $(this.options.checkoutProgressContainer).on('click', '[data-goto-section]', $.proxy(function(e) {
+                var gotoSection = $(e.target).data('goto-section');
+                this._ajaxUpdateProgress(gotoSection);
+                this.element.trigger('enableSection', {selector: _this.options.sectionSelectorPrefix + gotoSection});
+                return false;
+            }, this));
+        },
+
+        /**
+         * Callback function for before ajax send event(global)
+         * @private
+         */
+        _ajaxSend: function() {
+            this.element.addClass('loading');
+            var loader = this.element.find('.section.active .please-wait').show();
+            if (this.options.ajaxLoaderPlaceButton) {
+                loader.siblings('.button').hide();
+            }
+        },
+
+        /**
+         * Callback function for ajax complete event(global)
+         * @private
+         */
+        _ajaxComplete: function() {
+            this.element.removeClass('loading');
+            this.element.find('.please-wait').hide();
+            if (this.options.ajaxLoaderPlaceButton) {
+                this.element.find('.button').show();
+            }
+        },
+
+        /**
+         * ajax error for all onepage checkout ajax calls
+         * @private
+         */
+        _ajaxError: function() {
+            window.location.href = this.options.failureUrl;
+        },
+
+        /**
+         * callback function when continue button is clicked
+         * @private
+         * @param elem - continue button
+         * @return {Boolean}
+         */
+        _continue: function(elem) {
+            var json = elem.data('checkout');
+            if (json.isGuestCheckoutAllowed) {
+                if ($(this.options.checkout.loginGuestSelector).is(':checked')) {
+                    this._ajaxContinue(this.options.checkout.saveUrl, {method:'guest'}, this.options.billingSection);
+                    this.element.find(this.options.checkout.registerCustomerPasswordSelector).hide();
+                } else if ($(this.options.checkout.loginRegisterSelector).is(':checked')) {
+                    this._ajaxContinue(this.options.checkout.saveUrl, {method:'register'}, this.options.billingSection);
+                    this.element.find(this.options.checkout.registerCustomerPasswordSelector).show();
+                } else {
+                    alert($.mage.__('Please choose to register or to checkout as a guest'));
+                }
+            }
+            return false;
+        },
+
+        /**
+         * Ajax call to save checkout info to backend and enable next section in accordion
+         * @private
+         * @param url - ajax url
+         * @param data - post data for ajax call
+         * @param gotoSection - the section needs to show after ajax call
+         * @param successCallback - custom callback function in ajax success
+         */
+        _ajaxContinue: function(url, data, gotoSection, successCallback) {
+            $.ajax({
+                url: url,
+                type: 'post',
+                context: this,
+                data: data,
+                dataType: 'json',
+                beforeSend: this._ajaxSend,
+                complete: this._ajaxComplete,
+                success: function(response) {
+                    if (successCallback) {
+                        successCallback.call(this, response);
+                    }
+                    if ($.type(response) === 'object' && !$.isEmptyObject(response)) {
+                        if (response.error) {
+                            var msg = response.message;
+                            if (msg) {
+                                if ($.type(msg) === 'array') {
+                                    msg = msg.join("\n");
+                                }
+                                $(this.options.countrySelector).trigger('change');
+                                alert($.mage.__(msg));
+                            } else {
+                                alert($.mage.__(response.error));
+                            }
+                            return;
+                        }
+                        if (response.redirect) {
+                            $.mage.redirect(response.redirect);
+                            return false;
+                        }
+                        else if (response.success) {
+                            $.mage.redirect(this.options.review.successUrl);
+                            return false;
+                        }
+                        if (response.update_section) {
+                            if (response.update_section.name === 'payment-method' && response.update_section.html.indexOf('data-checkout-price')) {
+                                this.element.find(this.options.payment.form).find('[data-checkout-price]').remove();
+                            }
+                            $(this.options.updateSelectorPrefix + response.update_section.name + this.options.updateSelectorSuffix)
+                                .html($(response.update_section.html)).trigger('contentUpdated');
+                        }
+                        if (response.duplicateBillingInfo) {
+                            $(this.options.shipping.copyBillingSelector).prop('checked', true).trigger('click');
+                            $(this.options.shipping.addressDropdownSelector).val($(this.options.billing.addressDropdownSelector).val()).change();
+                        }
+                        if (response.goto_section) {
+                            this.element.trigger('gotoSection', response.goto_section);
+                        }
+                    } else {
+                        this.element.trigger('gotoSection', gotoSection);
+                    }
+                }
+            });
+        },
+
+        /**
+         * Update progress sidebar content
+         * @private
+         * @param toStep
+         */
+        _ajaxUpdateProgress: function(toStep) {
+            if (toStep) {
+                $.ajax({
+                    url: this.options.progressUrl,
+                    type: 'get',
+                    async: false,
+                    cache: false,
+                    context: this,
+                    data: toStep ? {toStep: toStep} : null,
+                    success: function(response) {
+                        $(this.options.checkoutProgressContainer).html(response);
+                    }
+                });
+            }
+        }
+    });
+
+    // Extension for mage.opcheckout - second section(Billing Information) in one page checkout accordion
+    $.widget('mage.opcheckout', $.mage.opcheckout, {
+        options: {
+            billing: {
+                addressDropdownSelector: '#billing-address-select',
+                newAddressFormSelector: '#billing-new-address-form',
+                continueSelector: '#billing-buttons-container .button',
+                form: '#co-billing-form'
+            }
+        },
+
+        _create: function() {
+            this._super();
+            this.element
+                .on('change', this.options.billing.addressDropdownSelector, $.proxy(function(e) {
+                    this.element.find(this.options.billing.newAddressFormSelector).toggle(!$(e.target).val());
+                }, this))
+                .on('click', this.options.billing.continueSelector, $.proxy(function() {
+                    if ($(this.options.billing.form).validation && $(this.options.billing.form).validation('isValid')) {
+                        this._billingSave();
+                    }
+                }, this))
+                .find(this.options.billing.form).validation();
+        } ,
+
+        _billingSave: function() {
+            this._ajaxContinue(this.options.billing.saveUrl, $(this.options.billing.form).serialize(), false, function() {
+                //Trigger indicating billing save. eg. GiftMessage listens to this to inject gift options
+                this.element.trigger('billingSave');
+            });
+        }
+    });
+
+    // Extension for mage.opcheckout - third section(Shipping Information) in one page checkout accordion
+    $.widget('mage.opcheckout', $.mage.opcheckout, {
+        options: {
+            shipping: {
+                form: '#co-shipping-form',
+                addressDropdownSelector: '#shipping-address-select',
+                newAddressFormSelector: '#shipping-new-address-form',
+                copyBillingSelector: '#shipping\\:same_as_billing',
+                countrySelector: '#shipping\\:country_id',
+                continueSelector:'#shipping-buttons-container .button'
+            }
+        },
+
+        _create: function() {
+            this._super();
+            this.element
+                .on('change', this.options.shipping.addressDropdownSelector, $.proxy(function(e) {
+                    $(this.options.shipping.newAddressFormSelector).toggle(!$(e.target).val());
+                }, this))
+                .on('input propertychange', this.options.shipping.form + ' :input[name]', $.proxy(function() {
+                    $(this.options.shipping.copyBillingSelector).prop('checked', false);
+                }, this))
+                .on('click', this.options.shipping.copyBillingSelector, $.proxy(function(e) {
+                    if ($(e.target).is(':checked')) {
+                        this._billingToShipping();
+                    }
+                }, this))
+                .on('click', this.options.shipping.continueSelector, $.proxy(function() {
+                    if ($(this.options.shipping.form).validation && $(this.options.shipping.form).validation('isValid')) {
+                    this._ajaxContinue(this.options.shipping.saveUrl, $(this.options.shipping.form).serialize(), false, function() {
+                        //Trigger indicating shipping save. eg. GiftMessage listens to this to inject gift options
+                        this.element.trigger('shippingSave');
+                    });
+                    }
+                }, this))
+                .find(this.options.shipping.form).validation();
+        },
+
+        /**
+         * Copy billing address info to shipping address
+         * @private
+         */
+        _billingToShipping: function() {
+            $(':input[name]', this.options.billing.form).each($.proxy(function(key, value) {
+                var fieldObj = $(value.id.replace('billing:', '#shipping\\:'));
+                fieldObj.val($(value).val());
+                if (fieldObj.is("select")) {
+                    fieldObj.trigger('change');
+                }
+            }, this));
+            $(this.options.shipping.copyBillingSelector).prop('checked', true);
+        }
+    });
+
+    // Extension for mage.opcheckout - fourth section(Shipping Method) in one page checkout accordion
+    $.widget('mage.opcheckout', $.mage.opcheckout, {
+        options: {
+            shippingMethod: {
+                continueSelector: '#shipping-method-buttons-container .button',
+                form: '#co-shipping-method-form'
+            }
+        },
+
+        _create: function() {
+            this._super();
+            var _this = this;
+            this.element
+                .on('click', this.options.shippingMethod.continueSelector, $.proxy(function() {
+                    if (this._validateShippingMethod()&&
+                        $(this.options.shippingMethod.form).validation &&
+                        $(this.options.shippingMethod.form).validation('isValid')) {
+                        this._ajaxContinue(this.options.shippingMethod.saveUrl, $(this.options.shippingMethod.form).serialize());
+                    }
+                }, this))
+                .on('click', 'input[name="shipping_method"]', function() {
+                    var selectedPrice = _this.shippingCodePrice[$(this).val()] || 0,
+                        oldPrice = _this.shippingCodePrice[_this.currentShippingMethod] || 0;
+                    _this.checkoutPrice = _this.checkoutPrice - oldPrice + selectedPrice;
+                    _this.currentShippingMethod = $(this).val();
+                })
+                .on('contentUpdated', $.proxy(function() {
+                    this.currentShippingMethod = this.element.find('input[name="shipping_method"]:checked').val();
+                    this.shippingCodePrice = this.element.find('[data-shipping-code-price]').data('shipping-code-price');
+                }, this))
+                .find(this.options.shippingMethod.form).validation();
+        },
+
+        /**
+         * Make sure at least one shipping method is selected
+         * @return {Boolean}
+         * @private
+         */
+        _validateShippingMethod: function() {
+            var methods = this.element.find('[name="shipping_method"]');
+            if (methods.length === 0) {
+                alert($.mage.__('Your order cannot be completed at this time as there is no shipping methods available for it. Please make necessary changes in your shipping address.'));
+                return false;
+            }
+            if (methods.filter(':checked').length) {
+                return true;
+            }
+            alert($.mage.__('Please specify shipping method.'));
+            return false;
+        }
+    });
+
+    // Extension for mage.opcheckout - fifth section(Payment Information) in one page checkout accordion
+    $.widget('mage.opcheckout', $.mage.opcheckout, {
+        options: {
+            payment: {
+                continueSelector: '#payment-buttons-container .button',
+                form: '#co-payment-form',
+                methodsContainer: '#checkout-payment-method-load',
+                freeInput: {
+                    tmpl: '<input id="hidden-free" type="hidden" name="payment[method]" value="free">',
+                    selector: '#hidden-free'
+                }
+            }
+        },
+
+        _create: function() {
+            this._super();
+            this.element
+                .on('click', this.options.payment.continueSelector, $.proxy(function() {
+                    if (this._validatePaymentMethod() &&
+                        $(this.options.payment.form).validation &&
+                        $(this.options.payment.form).validation('isValid')) {
+                        this._ajaxContinue(this.options.payment.saveUrl, $(this.options.payment.form).serialize());
+                    }
+                }, this))
+                .on('updateCheckoutPrice', $.proxy(function(event, data) {
+                    if (data.price) {
+                        this.checkoutPrice += data.price;
+                    }
+                    if (data.totalPrice) {
+                        data.totalPrice = this.checkoutPrice;
+                    }
+                    if (this.checkoutPrice < this.options.minBalance) {
+                        // Add free input field, hide and disable unchecked checkbox payment method and all radio button payment methods
+                        this._disablePaymentMethods();
+                    } else {
+                        // Remove free input field, show all payment method
+                        this._enablePaymentMethods();
+                    }
+                }, this))
+                .on('contentUpdated', this.options.payment.form, $.proxy(function() {
+                    $(this.options.payment.form).find('dd [name^="payment["]').prop('disabled', true);
+                    var checkoutPrice = this.element.find(this.options.payment.form).find('[data-checkout-price]').data('checkout-price');
+                    if ($.isNumeric(checkoutPrice)) {
+                        this.checkoutPrice = checkoutPrice;
+                    }
+                    if (this.checkoutPrice < this.options.minBalance) {
+                        this._disablePaymentMethods();
+                    } else {
+                        this._enablePaymentMethods();
+                    }
+                }, this))
+                .on('click', this.options.payment.form + ' dt input:radio', $.proxy(this._paymentMethodHandler, this))
+                .find(this.options.payment.form).validation();
+        },
+
+        /**
+         * Display payment details when payment method radio button is checked
+         * @private
+         * @param e
+         */
+        _paymentMethodHandler: function(e) {
+            var _this = $(e.target),
+                parentsDl = _this.closest('dl');
+            parentsDl.find('dt input:radio').prop('checked', false);
+            _this.prop('checked', true);
+            parentsDl.find('dd ul').hide().find('[name^="payment["]').prop('disabled', true);
+            _this.parent().nextUntil('dt').find('ul').show().find('[name^="payment["]').prop('disabled', false);
+        },
+
+        /**
+         * make sure one payment method is selected
+         * @private
+         * @return {Boolean}
+         */
+        _validatePaymentMethod: function() {
+            var methods = this.element.find('[name^="payment["]');
+            if (methods.length === 0) {
+                alert($.mage.__('Your order cannot be completed at this time as there is no payment methods available for it.'));
+                return false;
+            }
+            if (this.checkoutPrice < this.options.minBalance) {
+                return true;
+            } else if (methods.filter('input:radio:checked').length) {
+                return true;
+            }
+            alert($.mage.__('Please specify payment method.'));
+            return false;
+        },
+
+        /**
+         * Disable and enable payment methods
+         * @private
+         */
+        _disablePaymentMethods: function() {
+            var paymentForm = $(this.options.payment.form);
+            paymentForm.find('input[name="payment[method]"]').prop('disabled', true);
+            paymentForm.find(this.options.payment.methodsContainer).hide().find('[name^="payment["]').prop('disabled', true);
+            paymentForm.find('input[id^="use"][name^="payment[use"]:not(:checked)').prop('disabled', true).parent().hide();
+            paymentForm.find(this.options.payment.freeInput.selector).remove();
+            $.tmpl(this.options.payment.freeInput.tmpl).appendTo(paymentForm);
+        },
+
+        /**
+         * Enable and enable payment methods
+         * @private
+         */
+        _enablePaymentMethods: function() {
+            var paymentForm = $(this.options.payment.form);
+            paymentForm.find('input[name="payment[method]"]').prop('disabled', false);
+            paymentForm.find(this.options.payment.methodsContainer).show();
+            paymentForm.find('input[id^="use"][name^="payment[use"]:not(:checked)').prop('disabled', false).parent().show();
+            paymentForm.find(this.options.payment.freeInput.selector).remove();
+        }
+    });
+
+    // Extension for mage.opcheckout - last section(Order Review) in one page checkout accordion
+    $.widget('mage.opcheckout', $.mage.opcheckout, {
+        options: {
+            review: {
+                continueSelector: '#review-buttons-container .button'
+            }
+        },
+
+        _create: function() {
+            this._super();
+            this.element
+                .on('click', this.options.review.continueSelector, $.proxy(function() {
+                    if ($(this.options.payment.form).validation &&
+                        $(this.options.payment.form).validation('isValid')) {
+                        this._ajaxContinue(
+                            this.options.review.saveUrl,
+                            $(this.options.payment.form).serialize());
+                    }
+                }, this));
+        }
+    });
+})(jQuery, window);
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_cart_index.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_cart_index.xml
new file mode 100644
index 00000000000..981ab172354
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_cart_index.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_one_column" />
+    <referenceContainer name="checkout.cart.items">
+        <container name="checkout.cart.container" label="invisible" htmlTag="div" htmlClass="cart container" before="-">
+            <container name="cart.summary" label="Cart Summary Container" htmlTag="div" htmlClass="cart summary" after="-">
+                <block class="Magento\Core\Block\Template" name="checkout.cart.summary.title" before="-" template="Magento_Core::text.phtml">
+                    <arguments>
+                        <argument translate="true" name="text" xsi:type="string">Summary</argument>
+                        <argument name="tag" xsi:type="string">strong</argument>
+                        <argument name="attributes" xsi:type="array">
+                            <item name="title" translate="true" xsi:type="string">Summary</item>
+                        </argument>
+                        <argument name="css_class" xsi:type="string">summary title</argument>
+                    </arguments>
+                </block>
+            </container>
+        </container>
+    </referenceContainer>
+    <move element="checkout.cart.form" destination="checkout.cart.container"/>
+    <move element="checkout.cart.shipping" destination="cart.summary"/>
+    <move element="checkout.cart.coupon" destination="cart.summary" />
+    <move element="checkout.cart.totals" destination="cart.summary"/>
+    <move element="checkout.cart.methods.bottom" destination="cart.summary"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping.xml
new file mode 100644
index 00000000000..6ee5a363ead
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editaddress.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editaddress.xml
new file mode 100644
index 00000000000..b99353cee0e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editaddress.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="checkout_multishipping"/>
+    <update handle="checkout_multishipping_customer_address"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Edit Address</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editbilling.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editbilling.xml
new file mode 100644
index 00000000000..024408703e3
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editbilling.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="checkout_multishipping"/>
+    <update handle="checkout_multishipping_customer_address"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Change Billing Address</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editshipping.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editshipping.xml
new file mode 100644
index 00000000000..6354c13f57a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editshipping.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="checkout_multishipping"/>
+    <update handle="checkout_multishipping_customer_address"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Edit Shipping Address</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newbilling.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newbilling.xml
new file mode 100644
index 00000000000..7830a2c990e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newbilling.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="checkout_multishipping"/>
+    <update handle="checkout_multishipping_customer_address"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Create Billing Address</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newshipping.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newshipping.xml
new file mode 100644
index 00000000000..f9a3309971a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newshipping.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="checkout_multishipping"/>
+    <update handle="checkout_multishipping_customer_address"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Create Shipping Address</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_selectbilling.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_selectbilling.xml
new file mode 100644
index 00000000000..e93e4be3ff0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_selectbilling.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="checkout_multishipping"/>
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Multishipping\Address\Select" name="checkout_address_select" template="multishipping/address/select.phtml"/>
+    </referenceContainer>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument name="label" translate="true" xsi:type="string">Change Billing Address</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_addresses.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_addresses.xml
new file mode 100644
index 00000000000..c7e28ffe5a6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_addresses.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <container name="additional.product.info" label="Additional Product Info"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Ship to Multiple Addresses</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_billing.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_billing.xml
new file mode 100644
index 00000000000..26afc1048ab
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_billing.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Billing Information</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="checkout_billing">
+        <container name="payment_methods_before" label="Payment Methods Before"/>
+        <container name="payment_methods_after" label="Payment Methods After"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_overview.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_overview.xml
new file mode 100644
index 00000000000..64eb779675a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_overview.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Review Order</argument>
+        </action>
+    </referenceBlock>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_shipping.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_shipping.xml
new file mode 100644
index 00000000000..8b7a2719c6a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_shipping.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">Shipping Information</argument>
+        </action>
+    </referenceBlock>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_success.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_success.xml
new file mode 100644
index 00000000000..9a4c4da6351
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_success.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">Your order has been received.</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_paymentmethod.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_paymentmethod.xml
new file mode 100644
index 00000000000..9cd39e379f5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_paymentmethod.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="payment_method">
+        <block class="Magento\Core\Block\Template" name="checkout.onepage.payment.methods.scripts" as="scripts"/>
+        <block class="Magento\Core\Block\Template" name="checkout.onepage.payment.methods.additional" as="additional"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_review.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_review.xml
new file mode 100644
index 00000000000..0b9179276af
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_review.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="root">
+        <container name="additional.product.info" after="order_review" label="Additional Product Info"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/default.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/default.xml
new file mode 100644
index 00000000000..94c94a523fe
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/default.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <remove name="checkout_cart_link"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_cart_index.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_cart_index.xml
new file mode 100644
index 00000000000..3ada6793dae
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_cart_index.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Shopping Cart" type="page" parent="default">
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Cart" name="checkout.cart" template="cart.phtml">
+            <container name="checkout.cart.items" label="invisible" as="with-items">
+                <block class="Magento\Checkout\Block\Cart" name="checkout.cart.form" as="cart-items" template="cart/form.phtml">
+                    <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="simple" template="cart/item/default.phtml"/>
+                    <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="cart/item/default.phtml"/>
+                    <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="cart/item/default.phtml"/>
+                    <container name="checkout.cart.form.before" as="form_before" label="Shopping Cart Items Before" htmlTag="div" htmlClass="rewards"/>
+                    <container name="checkout.cart.widget" as="checkout_cart_widget" label="Shopping Cart Items After"/>
+                </block>
+                <block class="Magento\Checkout\Block\Cart\Shipping" name="checkout.cart.shipping" as="shipping" after="checkout.cart.summary.title" template="cart/shipping.phtml"/>
+                <block class="Magento\Checkout\Block\Cart\Coupon" name="checkout.cart.coupon" as="coupon" after="checkout.cart.shipping" template="cart/coupon.phtml"/>
+                <block class="Magento\Checkout\Block\Cart\Totals" name="checkout.cart.totals" as="totals" template="cart/totals.phtml"/>
+                <block class="Magento\Checkout\Block\Cart" name="checkout.cart.methods.bottom" template="cart/methods.phtml">
+                    <container name="checkout.cart.methods" as="methods" label="Payment Methods After Checkout Button">
+                        <block class="Magento\Checkout\Block\Onepage\Link" name="checkout.cart.methods.onepage.bottom" template="onepage/link.phtml"/>
+                        <block class="Magento\Checkout\Block\Multishipping\Link" name="checkout.cart.methods.multishipping" template="multishipping/link.phtml"/>
+                    </container>
+                </block>
+                <block class="Magento\Checkout\Block\Cart\Crosssell" name="checkout.cart.crosssell" template="Magento_Catalog::product/list/items.phtml" after="-">
+                    <arguments>
+                        <argument name="type" xsi:type="string">crosssell</argument>
+                    </arguments>
+                </block>
+            </container>
+            <container name="checkout.cart.noitems" label="invisible" as="no-items">
+                <block class="Magento\Checkout\Block\Cart" name="checkout.cart.empty" template="cart/noItems.phtml"/>
+                <container name="checkout.cart.empty.widget" as="checkout_cart_empty_widget" label="Empty Shopping Cart Content Before"/>
+            </container>
+        </block>
+    </referenceContainer>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_multishipping_customer_address.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_multishipping_customer_address.xml
new file mode 100644
index 00000000000..0ea12f489c4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_multishipping_customer_address.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Multishipping Checkout Customer Address Edit Form" type="page" parent="customer_address_form">
+    <referenceContainer name="content">
+        <block class="Magento\Customer\Block\Address\Edit" name="customer_address_edit" template="address/edit.phtml"/>
+    </referenceContainer>
+    <update handle="customer_form_template_handle"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_additional.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_additional.xml
new file mode 100644
index 00000000000..658ee9f1e97
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_additional.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="One Page Checkout Additional Address Form" type="fragment" owner="checkout_onepage_index">
+    <block class="Magento\Page\Block\Html" name="root" output="1" template="page_fragment.phtml">
+        <block class="Magento\Checkout\Block\Onepage\Shipping\Method\Additional" name="shipping_method_available" template="onepage/shipping_method/additional.phtml">
+            <action method="setDontDisplayContainer">
+                <argument name="param" xsi:type="string">1</argument>
+            </action>
+        </block>
+    </block>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_failure.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_failure.xml
new file mode 100644
index 00000000000..2ec8a0fd124
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_failure.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="One Page Checkout Failure" type="page" parent="default">
+    <update handle="page_one_column"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">Your order has been received.</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Onepage\Failure" name="checkout.failure" template="onepage/failure.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_index.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_index.xml
new file mode 100644
index 00000000000..d0d050a6d3a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_index.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="One Page Checkout" type="page" parent="default">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">1column.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="head">
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-checkout-js-opcheckout-js">
+            <arguments>
+                <argument name="file" xsi:type="string">Magento_Checkout::js/opcheckout.js</argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <container name="checkout.progress.wrapper" label="Checkout Progress Wrapper" htmlTag="div" htmlId="checkout-progress-wrapper">
+            <block class="Magento\Checkout\Block\Onepage\Progress" name="checkout.progress" before="-" template="onepage/progress.phtml"/>
+        </container>
+    </referenceContainer>
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Onepage" name="checkout.onepage" template="onepage.phtml">
+            <block class="Magento\Checkout\Block\Onepage\Login" name="checkout.onepage.login" as="login" template="onepage/login.phtml">
+                <container name="checkout.onepage.login.before" as="login_before" label="Login/Registration Before" htmlTag="div"/>
+                <container name="form.login.additional.info" label="invisible" as="form_additional_info"/>
+            </block>
+            <block class="Magento\Checkout\Block\Onepage\Billing" name="checkout.onepage.billing" as="billing" template="onepage/billing.phtml">
+                <container name="form.billing.additional.info" label="invisible" as="form_additional_info"/>
+            </block>
+            <block class="Magento\Checkout\Block\Onepage\Shipping" name="checkout.onepage.shipping" as="shipping" template="onepage/shipping.phtml" />
+            <block class="Magento\Checkout\Block\Onepage\Shipping\Method" name="checkout.onepage.shipping_method" as="shipping_method" template="onepage/shipping_method.phtml">
+                <block class="Magento\Checkout\Block\Onepage\Shipping\Method\Available" name="checkout.onepage.shipping_method.available" as="available" template="onepage/shipping_method/available.phtml"/>
+                <block class="Magento\Checkout\Block\Onepage\Shipping\Method\Additional" name="checkout.onepage.shipping_method.additional" as="additional" template="onepage/shipping_method/additional.phtml"/>
+            </block>
+            <block class="Magento\Checkout\Block\Onepage\Payment" name="checkout.onepage.payment" as="payment" template="onepage/payment.phtml">
+                <block class="Magento\Checkout\Block\Onepage\Payment\Methods" name="checkout.payment.methods" as="methods" template="onepage/payment/methods.phtml">
+                    <action method="setMethodFormTemplate">
+                        <argument name="method" xsi:type="string">purchaseorder</argument>
+                        <argument name="template" xsi:type="string">Magento_Payment::form/purchaseorder.phtml</argument>
+                    </action>
+                </block>
+                <block class="Magento\Core\Block\Template" name="checkout.onepage.payment.additional" as="additional"/>
+                <block class="Magento\Core\Block\Template" name="checkout.onepage.payment.methods_additional" as="methods_additional"/>
+            </block>
+            <block class="Magento\Checkout\Block\Onepage\Review" name="checkout.onepage.review" as="review" template="onepage/review.phtml"/>
+        </block>
+    </referenceContainer>
+    <update handle="customer_form_template_handle"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_success.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_success.xml
new file mode 100644
index 00000000000..8eb136e4ea3
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_success.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="One Page Checkout Success" type="page" parent="default">
+    <update handle="page_one_column"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">Your order has been received.</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Onepage\Success" name="checkout.success" template="success.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/default.xml
new file mode 100644
index 00000000000..38f1fbec78f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/default.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="head.components">
+        <block class="Magento\Core\Block\Template" name="checkout_page_head_components" template="Magento_Checkout::js/components.phtml"/>
+    </referenceBlock>
+    <referenceContainer name="header">
+        <block class="Magento\Checkout\Block\Cart\Sidebar" name="minicart" as="minicart" after="logo" template="cart/minicart.phtml">
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="simple" template="cart/sidebar/default.phtml"/>
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="cart/sidebar/default.phtml"/>
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="cart/sidebar/default.phtml"/>
+            <container name="minicart.extra.info" as="minicart_info" label="My Cart Extra info"/>
+            <container name="topCart.extra_actions" as="extra_actions" label="My Cart Extra Actions"/>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/address/select.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/address/select.phtml
new file mode 100644
index 00000000000..91a0dd3b6de
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/address/select.phtml
@@ -0,0 +1,60 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="multicheckout block change billing">
+    <div class="actions">
+        <button type="button" class="action add" role="add-address" title="<?php echo __('Add New Address') ?>"><span><?php echo __('Add New Address') ?></span></button>
+    </div>
+    <?php $_index=0 ?>
+    <?php foreach ($this->getAddressCollection() as $_address): ?>
+        <div class="box billing<?php if($_index%2==0): ?> odd<?php endif; ?>">
+            <address>
+                <?php echo $_address->format('html') ?>
+                <?php if($this->isAddressDefaultBilling($_address)): ?>
+                    <br /><strong><?php echo __('Default Billing') ?></strong>
+                <?php endif; ?>
+                <?php if($this->isAddressDefaultShipping($_address)): ?>
+                    <br /><strong><?php echo __('Default Shipping') ?></strong>
+                <?php endif; ?>
+            </address>
+            <div class="actions">
+                <a href="<?php echo $this->getEditAddressUrl($_address) ?>" class="action edit"><span><?php echo __('Edit Address') ?></span></a>
+                <a href="<?php echo $this->getSetAddressUrl($_address) ?>" class="action select"><span><?php echo __('Select Address') ?></span></a>
+            </div>
+        </div>
+        <?php $_index++ ?>
+    <?php endforeach; ?>
+    <div class="actions">
+        <a href="<?php echo $this->getBackUrl() ?>" class="action back"><span><?php echo __('Back to Billing Information') ?></span></a>
+    </div>
+</div>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('Magento_Customer::address.js'); ?>", function() {
+        jQuery('.actions').address({
+            addAddress: "button[role='add-address']",
+            addAddressLocation: '<?php echo $this->getAddNewUrl() ?>'
+        });
+    });
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/addresses.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/addresses.phtml
new file mode 100644
index 00000000000..6c8f5f322c3
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/addresses.phtml
@@ -0,0 +1,92 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Ship to multiple address template
+ *
+ * @see \Magento\Checkout\Block\Multishipping\Addresses
+ */
+?>
+<form id="checkout_multishipping_form" action="<?php echo $this->getPostActionUrl() ?>" method="post" class="multicheckout address form">
+    <div class="title">
+        <strong><?php echo __('Please select a shipping address for applicable items.') ?></strong>
+        <button type="button" title="<?php echo __('Enter a New Address') ?>" class="action add" data-role="add-new-address"><span><?php echo __('Enter a New Address') ?></span></button>
+    </div>
+    <input type="hidden" name="continue" value="0" id="can_continue_flag"/>
+    <input type="hidden" name="new_address" value="0" id="add_new_address_flag"/>
+    <table class="items data" id="multiship-addresses-table">
+        <thead>
+        <tr>
+            <th class="col product"><?php echo __('Product') ?></th>
+            <th class="col qty"><?php echo __('Qty') ?></th>
+            <th class="col address"><?php echo __('Send To') ?></th>
+            <th class="col delete">&nbsp;</th>
+        </tr>
+        </thead>
+        <tbody>
+        <?php foreach ($this->getItems() as $_index => $_item): ?>
+            <?php if ($_item->getQuoteItem()) : ?>
+                <tr>
+                    <td class="col product"><?php echo $this->getItemHtml($_item->getQuoteItem()) ?></td>
+                    <td class="col qty">
+                        <input type="text" name="ship[<?php echo $_index ?>][<?php echo $_item->getQuoteItemId() ?>][qty]" value="<?php echo $this->escapeHtml($_item->getQty()) ?>" size="2" class="input-text qty" data-validate="{number: true}"/>
+                    </td>
+                    <td class="col address">
+                        <?php if ($_item->getProduct()->getIsVirtual()): ?>
+                            <div class="applicable"><?php echo __('Shipping selection is not applicable.'); ?></div>
+                        <?php else: ?>
+                            <?php echo $this->getAddressesHtmlSelect($_item, $_index); ?>
+                        <?php endif; ?>
+                    </td>
+                    <td class="col delete">
+                        <a href="<?php echo $this->getItemDeleteUrl($_item) ?>" title="<?php echo __('Remove Item') ?>" class="action delete">
+                            <span><?php echo __('Remove item') ?></span>
+                        </a>
+                    </td>
+                </tr>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </tbody>
+    </table>
+    <div class="actions">
+        <a href="<?php echo $this->getBackUrl() ?>" class="action back"><span><?php echo __('Back to Shopping Cart') ?></span></a>
+        <button type="submit" class="action update" data-role="can-continue" data-flag="0"><span><?php echo __('Update Qty &amp; Addresses') ?></span></button>
+        <button type="submit" title="<?php echo __('Continue to Shipping Information') ?>" class="action continue<?php if ($this->isContinueDisabled()):?> disabled<?php endif; ?>" data-role="can-continue" data-flag="1"<?php if ($this->isContinueDisabled()):?> disabled="disabled"<?php endif; ?>><span><?php echo __('Continue to Shipping Information') ?></span></button>
+    </div>
+</form>
+
+<script type="text/javascript">
+    head.js(
+        "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+        "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+        "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+        "<?php echo $this->getViewFileUrl('Magento_Checkout::js/multi-shipping.js') ?>",
+        function () {
+            jQuery('#checkout_multishipping_form').multiShipping().validation();
+        }
+    );
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/agreements.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/agreements.phtml
new file mode 100644
index 00000000000..c2d5797a9f6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/agreements.phtml
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @see \Magento\Checkout\Block\Agreements
+ */
+?>
+<?php  if (!$this->getAgreements()) return;  ?>
+<ol id="checkout-agreements" class="checkout agreements">
+<?php foreach ($this->getAgreements() as $_a): ?>
+    <li class="item">
+        <div class="agreement"<?php echo ($_a->getContentHeight() ? ' style="height:' . $_a->getContentHeight() . '"' : '')?>>
+            <?php if ($_a->getIsHtml()):?>
+                <?php echo $_a->getContent() ?>
+            <?php else:?>
+                <?php echo nl2br($this->escapeHtml($_a->getContent())) ?>
+            <?php endif; ?>
+        </div>
+        <div class="field choice">
+            <input type="checkbox" id="agreement-<?php echo $_a->getId()?>" name="agreement[<?php echo $_a->getId()?>]" value="1" title="<?php echo $this->escapeHtml($_a->getCheckboxText()) ?>" class="checkbox" />
+            <label for="agreement-<?php echo $_a->getId()?>" class="label"><?php echo $_a->getIsHtml() ? $_a->getCheckboxText() : $this->escapeHtml($_a->getCheckboxText()) ?></label>
+        </div>
+    </li>
+<?php endforeach ?>
+</ol>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing.phtml
new file mode 100644
index 00000000000..e9e312eb177
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing.phtml
@@ -0,0 +1,98 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Multishipping checkout billing information
+ *
+ * @see \Magento\Checkout\Block\Multishipping\Billing
+ */
+?>
+<form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="multishipping-billing-form" class="form multicheckout billing">
+    <div class="block billing">
+        <div class="box address">
+            <strong class="subtitle">
+                <span><?php echo __('Billing Address') ?></span>
+                <a href="<?php echo $this->getSelectAddressUrl() ?>" class="action"><span><?php echo __('Change') ?></span></a>
+            </strong>
+            <?php $_address = $this->getAddress() ?>
+            <address><?php echo $_address->format('html') ?></address>
+        </div>
+        <div class="box method">
+            <strong class="subtitle"><span><?php echo __('Payment Method') ?></span></strong>
+            <?php echo $this->getChildHtml('payment_methods_before') ?>
+            <?php /* Payment methods forms list */ ?>
+            <dl class="sp-methods" id="payment-methods">
+                <?php
+                    $_methods       = $this->getMethods();
+                    $_methodsCount  = count($_methods);
+                ?>
+                <?php foreach ($_methods as $_method): $_code = $_method->getCode() ?>
+                    <dt>
+                        <?php if ($_methodsCount > 1): ?>
+                            <input type="radio" id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" name="payment[method]" title="<?php echo $this->escapeHtml($_method->getTitle()) ?>" <?php if ($this->getSelectedMethodCode() == $_code): ?> checked="checked"<?php endif; ?> class="radio"/>
+                        <?php else : ?>
+                            <input type="radio" id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" name="payment[method]" checked="checked" class="radio solo method"/>
+                        <?php endif; ?>
+                        <label for="p_method_<?php echo $_code ?>"><?php echo $this->escapeHtml($_method->getTitle()) ?></label>
+                    </dt>
+                    <?php if ($html = $this->getChildHtml('payment.method.' . $_code)) : ?>
+                        <dd>
+                            <?php echo $html; ?>
+                        </dd>
+                    <?php endif; ?>
+                <?php endforeach; ?>
+            </dl>
+            <?php echo $this->getChildHtml('payment_methods_after') ?>
+            <?php echo $this->getChildHtml('checkout_billing_items') ?>
+        </div>
+    </div>
+    <div class="actions">
+        <a href="<?php echo $this->getBackUrl() ?>" class="action back"><span><?php echo __('Back to Shipping Information') ?></span></a>
+        <button id="payment-continue" type="submit" class="action continue"><span><?php echo __('Continue to Review Your Order') ?></span></button>
+    </div>
+</form>
+<script type="text/javascript">
+    head.js(
+        "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+        "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('Magento_Checkout::js/payment.js') ?>",
+        function() {
+            jQuery('#multishipping-billing-form').payment({
+                checkoutPrice: <?php echo (float)$this->getQuoteBaseGrandTotal(); ?>
+            }).validation({
+                errorPlacement: function(error, element) {
+                    if (element.attr('data-validate') && element.attr('data-validate').indexOf('validate-cc-ukss') >= 0) {
+                        element.parents('form').find('[data-validation-msg="validate-cc-ukss"]').html(error);
+                    } else {
+                        element.after(error);
+                    }
+                }
+            });
+        });
+</script>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing/items.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing/items.phtml
new file mode 100644
index 00000000000..25a6d9d17e6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing/items.phtml
@@ -0,0 +1,52 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if ($this->getQuote()->hasVirtualItems()): ?>
+<div class="block other">
+    <div class="title"><strong><?php echo __('Other items in your order') ?></strong></div>
+    <div class="content">
+        <strong class="subtitle">
+            <span><?php echo __('Items') ?></span>
+            <a href="<?php echo $this->getVirtualProductEditUrl() ?>" class="action edit"><span><?php echo __('Edit Items') ?></></a>
+        </strong>
+        <table class="items data" id="unavailable-shipping-table">
+            <thead>
+                <tr>
+                    <th class="col item"><?php echo __('Product Name') ?></th>
+                    <th class="col qty"><?php echo __('Qty') ?></th>
+                </tr>
+            </thead>
+            <tbody>
+            <?php foreach ($this->getVirtualQuoteItems() as $_item): ?>
+                <tr>
+                    <td class="col item"><?php echo $this->getItemHtml($_item) ?></td>
+                    <td class="col qty"><?php echo $_item->getQty() ?></td>
+                </tr>
+            <?php endforeach; ?>
+            </tbody>
+        </table>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/item/default.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/item/default.phtml
new file mode 100644
index 00000000000..3b4ffb1fea8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/item/default.phtml
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="product details">
+    <strong class="product name"><a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->escapeHtml($this->getProductName()) ?></a></strong>
+    <?php if ($_options = $this->getOptionList()): ?>
+        <dl class="item options">
+            <?php foreach ($_options as $_option) : ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    <?php endif; ?>
+                </dd>
+            <?php endforeach; ?>
+        </dl>
+    <?php endif; ?>
+    <?php if ($addtInfoBlock = $this->getProductAdditionalInformationBlock()): ?>
+        <?php echo $addtInfoBlock->setItem($this->getItem())->toHtml() ?>
+    <?php endif; ?>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/link.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/link.phtml
new file mode 100644
index 00000000000..6d72e1a9009
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/link.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<a class="action multicheckout" href="<?php echo $this->getCheckoutUrl()?>" title="<?php echo __('Checkout with Multiple Addresses');?>"><span><?php echo __('Checkout with Multiple Addresses');?></span></a>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview.phtml
new file mode 100644
index 00000000000..781504d434a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview.phtml
@@ -0,0 +1,186 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Checkout\Block\Multishipping\Overview */ ?>
+<form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="review-order-form" class="form multicheckout overview">
+    <div class="block billing">
+        <div class="title"><strong><?php echo __('Billing Information') ?></strong></div>
+        <div class="box address">
+            <?php $_address=$this->getBillingAddress() ?>
+            <strong class="subtitle">
+                <span><?php echo __('Billing Address') ?></span>
+                <a href="<?php echo $this->getEditBillingAddressUrl($_address) ?>" class="action edit"><span><?php echo __('Change') ?></span></a>
+            </strong>
+            <address>
+                <?php echo $_address->format('html') ?>
+            </address>
+        </div>
+        <div class="box method">
+            <strong class="subtitle">
+                <span><?php echo __('Payment Method') ?></span>
+                <a href="<?php echo $this->getEditBillingUrl() ?>" class="action edit"><span><?php echo __('Change') ?></span></a>
+            </strong>
+            <div class="content">
+                <input type="hidden" name="payment[cc_number]" value="<?php echo $this->escapeHtml($this->getPayment()->getCcNumber())?>" />
+                <input type="hidden" name="payment[cc_cid]" value="<?php echo $this->escapeHtml($this->getPayment()->getCcCid())?>" />
+                <?php echo $this->getPaymentHtml() ?>
+            </div>
+        </div>
+    </div>
+    <div class="block shipping">
+        <div class="title"><strong><?php echo __('Shipping Information') ?></strong></div>
+        <?php $mergedCells = ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices() ? 2 : 1); ?>
+        <?php foreach ($this->getShippingAddresses() as $_index => $_address): ?>
+            <div class="content">
+            <div class="title">
+                <strong><?php echo __('Address %1 of %2', ($_index+1), $this->getShippingAddressCount()) ?></strong>
+            </div>
+            <div class="box address">
+                <strong class="subtitle">
+                    <span><?php echo __('Shipping To') ?></span>
+                    <a href="<?php echo $this->getEditShippingAddressUrl($_address) ?>" class="action edit"><span><?php echo __('Change') ?></span></a>
+                </strong>
+                <address>
+                    <?php echo $_address->format('html') ?>
+                </address>
+            </div>
+            <div class="box method">
+                <strong class="subtitle">
+                    <span><?php echo __('Shipping Method') ?></span>
+                    <a href="<?php echo $this->getEditShippingUrl() ?>" class="action edit"><span><?php echo __('Change') ?></span></a>
+                </strong>
+                <?php if($_rate=$this->getShippingAddressRate($_address)): ?>
+                    <p>
+                        <?php echo $this->escapeHtml($_rate->getCarrierTitle()) ?> (<?php echo $this->escapeHtml($_rate->getMethodTitle()) ?>)
+                        <?php $_excl = $this->getShippingPriceExclTax($_address); ?>
+                        <?php $_incl = $this->getShippingPriceInclTax($_address); ?>
+
+                        <?php echo $_excl; ?>
+                        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayShippingBothPrices() && $_incl != $_excl): ?>
+                            (<?php echo __('Incl. Tax'); ?> <?php echo $_incl; ?>)
+                        <?php endif; ?>
+                    </p>
+                <?php endif; ?>
+            </div>
+            <div class="box items">
+                <strong class="subtitle">
+                    <span><?php echo __('Items') ?></span>
+                    <a href="<?php echo $this->getAddressesEditUrl() ?>" class="action edit"><span><?php echo __('Edit Items') ?></span></a>
+                </strong>
+                <table class="items data" id="overview-table-<?php echo $_address->getId() ?>">
+                    <thead>
+                    <tr>
+                        <th rowspan="<?php echo $mergedCells; ?>" class="col item"><?php echo __('Product Name') ?></th>
+                        <th colspan="<?php echo $mergedCells; ?>" class="col price"><?php echo __('Price') ?></th>
+                        <th rowspan="<?php echo $mergedCells; ?>" class="col qty"><?php echo __('Qty') ?></th>
+                        <th colspan="<?php echo $mergedCells; ?>" class="col subtotal"><?php echo __('Subtotal') ?></th>
+                    </tr>
+                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                        <tr>
+                            <th class="col price excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                            <th class="col price incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                            <th class="col subtotal excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                            <th class="col subtotal incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                        </tr>
+                    <?php endif; ?>
+                    </thead>
+                    <tfoot>
+                        <?php echo $this->renderTotals($this->getShippingAddressTotals($_address)); ?>
+                    </tfoot>
+                    <tbody>
+                        <?php foreach ($this->getShippingAddressItems($_address) as $_item): ?>
+                            <?php echo $this->getRowItemHtml($_item); ?>
+                        <?php endforeach; ?>
+                    </tbody>
+                </table>
+            </div>
+            <script type="text/javascript">jQuery('#overview-table-<?php echo $_address->getId() ?>').decorate('table')</script>
+        </div>
+            <?php if($this->getShippingAddressCount()!=$_index+1): ?>
+        <?php endif; ?>
+        <?php endforeach; ?>
+    </div>
+
+    <?php if ($this->getQuote()->hasVirtualItems()): ?>
+    <div class="block other">
+        <div class="title"><strong><?php echo __('Other items in your order') ?></strong></div>
+        <div class="content">
+            <strong class="subtitle">
+                <span><?php echo __('Items') ?></span>
+                <a href="<?php echo $this->getVirtualProductEditUrl() ?>" class="action edit"><span><?php echo __('Edit Items') ?></span></a>
+            </strong>
+            <?php $mergedCells = ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices() ? 2 : 1); ?>
+            <table class="items data" id="virtual-overview-table">
+                <thead>
+                    <tr>
+                        <th rowspan="<?php echo $mergedCells; ?>" class="col item"><?php echo __('Product Name') ?></th>
+                        <th colspan="<?php echo $mergedCells; ?>" class="col price"><?php echo __('Price') ?></th>
+                        <th rowspan="<?php echo $mergedCells; ?>" class="col qty"><?php echo __('Qty') ?></th>
+                        <th colspan="<?php echo $mergedCells; ?>" class="col subtotal"><?php echo __('Subtotal') ?></th>
+                    </tr>
+                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                    <tr>
+                        <th class="col price excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                        <th class="col price incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                        <th class="col subtotal excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                        <th class="col subtotal incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                    </tr>
+                    <?php endif; ?>
+                </thead>
+                <tfoot>
+                    <?php echo $this->renderTotals($this->getBillinAddressTotals()); ?>
+                </tfoot>
+                <tbody>
+                    <?php foreach ($this->getVirtualItems() as $_item): ?>
+                        <?php echo $this->getRowItemHtml($_item); ?>
+                    <?php endforeach; ?>
+                </tbody>
+            </table>
+        </div>
+    </div>
+    <?php endif; ?>
+
+    <?php echo $this->getChildHtml('items_after'); ?>
+
+    <div id="checkout-review-submit" class="checkout review">
+        <?php echo $this->getChildHtml('agreements') ?>
+        <div class="grand total">
+            <strong class="label"><?php echo __('Grand Total:') ?></strong>
+            <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()) ?>
+        </div>
+        <div class="actions" id="review-buttons-container">
+            <a href="<?php echo $this->getBackUrl() ?>" class="action back"><span><?php echo __('Back to Billing Information') ?></span></a>
+            <button type="submit" class="action submit" id="review-button"><span><?php echo __('Place Order') ?></span></button>
+            <span id="review-please-wait" class="please-wait load indicator" style="display:none;">
+                <span><?php echo __('Submitting order information...') ?></span>
+            </span>
+        </div>
+    </div>
+</form>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('Magento_Checkout::js/overview.js')?>", function() {
+        jQuery('#review-order-form').orderOverview();
+    });
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview/item.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview/item.phtml
new file mode 100644
index 00000000000..d7cb049a107
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview/item.phtml
@@ -0,0 +1,216 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Quote Item row html
+ *
+ * @see \Magento\Checkout\Block\Cart\Item\Renderer
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<tr>
+    <td class="col item"><?php echo $this->getRenderedBlock()->getItemHtml($_item) ?></td>
+<?php /* Excluding Tax */ ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col price excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
+            <?php endif; ?>
+        </span>
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display: none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+<?php /* // Excluding Tax */ ?>
+
+<?php /* Including Tax */ ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col price incll tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
+            <?php endif; ?>
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display: none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+
+    </td>
+    <?php endif; ?>
+<?php /* // Including Tax */ ?>
+    <td class="col qty"><?php echo $_item->getQty()*1 ?></td>
+<?php /* Excluding Tax Subtotal */ ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col subtotal excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()) ?>
+            <?php endif; ?>
+
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display: none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="weee"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+<?php /* //Excluding Tax Subtotal */ ?>
+
+<?php /* Including Tax Subtotal */ ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col subtotal incl tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
+            <?php endif; ?>
+        </span>
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display: none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="weee"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+<?php /* //Including Tax Subtotal */ ?>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/shipping.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/shipping.phtml
new file mode 100644
index 00000000000..9725a84bc70
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/shipping.phtml
@@ -0,0 +1,118 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Multishipping checkout shipping template
+ *
+ * @see \Magento\Checkout\Block\Multishipping\Shipping
+ * @var $this \Magento\Checkout\Block\Multishipping\Shipping
+ */
+?>
+<form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="shipping_method_form" class="form multicheckout shipping">
+    <div class="title">
+        <strong><?php echo __('Select Shipping Method') ?></strong>
+    </div>
+    <?php foreach ($this->getAddresses() as $_index => $_address): ?>
+    <div class="block shipping">
+        <div class="title"><strong><?php echo __('Address %1 of %2', ($_index+1), $this->getAddressCount()) ?></strong></div>
+        <div class="content">
+            <div class="box address">
+                <strong class="subtitle">
+                    <span><?php echo __('Shipping To') ?></span>
+                    <a href="<?php echo $this->getAddressEditUrl($_address) ?>" class="action edit"><span><?php echo __('Change') ?></span></a>
+                </strong>
+                <address><?php echo $_address->format('html') ?></address>
+            </div>
+            <div class="box method">
+                <strong class="subtitle">
+                    <span><?php echo __('Shipping Method') ?></span>
+                </strong>
+                <?php if (!($_shippingRateGroups = $this->getShippingRates($_address))): ?>
+                    <p><?php echo __('Sorry, no quotes are available for this order at this time.') ?></p>
+                <?php else: ?>
+                <dl class="sp-methods items methods">
+                    <?php $_sole = count($_shippingRateGroups) == 1; foreach ($_shippingRateGroups as $code => $_rates): ?>
+                        <dt class="item title"><?php echo $this->escapeHtml($this->getCarrierName($code)) ?></dt>
+                        <dd class="item options">
+                            <?php $_sole = $_sole && count($_rates) == 1; foreach ($_rates as $_rate): ?>
+                                <div class="field choice">
+                                   <?php if ($_rate->getErrorMessage()): ?>
+                                            <strong><?php echo $this->escapeHtml($_rate->getCarrierTitle()) ?>: <?php echo $this->escapeHtml($_rate->getErrorMessage()) ?></strong>
+                                       <?php else: ?>
+                                            <?php if ($_sole) : ?>
+                                            <input type="radio" name="shipping_method[<?php echo $_address->getId() ?>]" value="<?php echo $this->escapeHtml($_rate->getCode()) ?>" id="s_method_<?php echo $_address->getId() ?>_<?php echo $_rate->getCode() ?>" class="radio solo method" checked="checked"/>
+                                            <?php else: ?>
+                                            <input type="radio" name="shipping_method[<?php echo $_address->getId() ?>]" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_address->getId() ?>_<?php echo $_rate->getCode() ?>"<?php if($_rate->getCode()===$this->getAddressShippingMethod($_address)) echo ' checked="checked"' ?> class="radio" />
+                                            <?php endif; ?>
+                                            <label for="s_method_<?php echo $_address->getId() ?>_<?php echo $_rate->getCode() ?>"><?php echo $this->escapeHtml($_rate->getMethodTitle()) ?>
+                                            <?php $_excl = $this->getShippingPrice($_address, $_rate->getPrice(), $this->helper('Magento\Tax\Helper\Data')->displayShippingPriceIncludingTax()); ?>
+                                            <?php $_incl = $this->getShippingPrice($_address, $_rate->getPrice(), true); ?>
+                                            <?php echo $_excl; ?>
+                                            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayShippingBothPrices() && $_incl != $_excl): ?>
+                                                (<?php echo __('Incl. Tax'); ?> <?php echo $_incl; ?>)
+                                            <?php endif; ?>
+                                            </label>
+                                   <?php endif ?>
+                                </div>
+                            <?php endforeach; ?>
+                        </dd>
+                    <?php endforeach; ?>
+                </dl>
+                <?php endif; ?>
+            </div>
+            <div class="box items">
+                <?php echo $this->helper('Magento\GiftMessage\Helper\Message')->getInline('multishipping_adress_checkbox', $_address); ?>
+                <strong class="subtitle">
+                    <span><?php echo __('Items') ?></span>
+                    <a href="<?php echo $this->getItemsEditUrl($_address) ?>" class="action edit"><span><?php echo __('Edit Items') ?></span></a>
+                </strong>
+                <table class="items data" id="shipping-table-<?php echo $_address->getId() ?>">
+                    <thead>
+                        <tr>
+                            <th class="col item"><?php echo __('Product Name') ?></th>
+                            <th class="col qty"><?php echo __('Qty') ?></th>
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <?php foreach ($this->getAddressItems($_address) as $_item): ?>
+                        <tr>
+                            <td class="col item"><?php echo $this->getItemHtml($_item->getQuoteItem()) ?></td>
+                            <td class="col qty"><?php echo $_item->getQty() ?></td>
+                        </tr>
+                    <?php endforeach; ?>
+                    </tbody>
+                </table>
+                <?php echo $this->helper('Magento\GiftMessage\Helper\Message')->getInline('multishipping_address', $_address); ?>
+            </div>
+        </div>
+    </div>
+    <?php endforeach; ?>
+    <?php echo $this->getChildHtml('checkout_billing_items') ?>
+    <div class="actions">
+        <a href="<?php echo $this->getBackUrl() ?>" class="action back"><span><?php echo __('Back to Select Addresses') ?></span></a>
+        <button class="action continue" type="submit"><span><?php echo __('Continue to Billing Information') ?></span></button>
+    </div>
+</form>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/state.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/state.phtml
new file mode 100644
index 00000000000..e718013b82c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/state.phtml
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Mustishipping state
+ *
+ * @see \Magento\Checkout\Block\Multishipping\State
+ */
+?>
+<ul class="block multicheckout progress" id="checkout-progress-state">
+    <?php foreach ($this->getSteps() as $_step): ?>
+        <li title="<?php echo $_step->getLabel() ?>"<?php if($_step->getIsActive()): ?> class="active"<?php endif; ?>><span><?php echo $_step->getLabel() ?></span></li>
+    <?php endforeach; ?>
+</ul>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/success.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/success.phtml
new file mode 100644
index 00000000000..51ef877cc16
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/success.phtml
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="multicheckout success">
+    <h2 class="subtitle"><?php echo __('Thank you for your purchase!') ?></h2>
+    <p><?php echo __('Thanks for your order. We\'ll send you emails with order details and tracking information.') ?></p>
+    <?php if($_orderIds = $this->getOrderIds()): ?>
+    <p>
+        <?php $flag = false ?>
+        <?php echo __('Your order number is ') ?>
+        <?php foreach ($_orderIds as $orderId=>$incrementId): ?>
+            <?php if ($flag): ?><?php echo ', ' ?><?php endif; ?>
+            <?php $flag = true ?>
+            <a href="<?php echo $this->getViewOrderUrl($orderId) ?>"><?php echo $incrementId ?></a>
+        <?php endforeach; ?>
+    </p>
+    <?php endif; ?>
+    <?php echo $this->getChildHtml() ?>
+    <div class="actions">
+        <a class="action continue" title="<?php echo __('Continue Shopping') ?>" href="<?php echo $this->getContinueUrl() ?>"><span><?php echo __('Continue Shopping') ?></span></a>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage.phtml
new file mode 100644
index 00000000000..7e00b188d24
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage.phtml
@@ -0,0 +1,94 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+$_paymentBlock = $this->getLayout()->getBlock('checkout.onepage.payment');
+$_registerParam = $this->getRequest()->getParam('register');
+?>
+<div class="opc wrapper">
+    <ol class="opc" id="checkoutSteps">
+    <?php $i=0; foreach($this->getSteps() as $_stepId => $_stepInfo): ?>
+    <?php if (!$this->getChildBlock($_stepId) || !$this->getChildBlock($_stepId)->isShow()): continue; endif; $i++ ?>
+        <li id="opc-<?php echo $_stepId ?>" class="section<?php echo !empty($_stepInfo['allow'])?' allow':'' ?><?php echo !empty($_stepInfo['complete'])?' saved':'' ?>">
+            <div class="step-title">
+                <span class="number"><?php echo $i ?></span>
+                <h2><?php echo $_stepInfo['label'] ?></h2>
+                <!--<a href="#"><?php echo __('Edit') ?></a>-->
+            </div>
+            <div id="checkout-step-<?php echo $_stepId ?>" class="step a-item" style="display:none;">
+                <?php echo $this->getChildHtml($_stepId) ?>
+            </div>
+        </li>
+    <?php endforeach ?>
+    </ol>
+    <script type="text/javascript">
+        (function($) {
+            head.js(
+                "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('Magento_Checkout::js/accordion.js') ?>",
+                function() {
+                    $('#checkoutSteps')
+                        .accordion({
+                            activeSelector: '#opc-<?php echo $this->getActiveStep() ?>'
+                        })
+                        .opcheckout({
+                            quoteBaseGrandTotal: <?php echo (float)$_paymentBlock->getQuoteBaseGrandTotal() ?>,
+                            progressUrl: '<?php echo $this->getUrl('checkout/onepage/progress') ?>',
+                            reviewUrl: '<?php echo $this->getUrl('checkout/onepage/review') ?>',
+                            failureUrl: '<?php echo $this->getUrl('checkout/cart') ?>',
+                            getAddressUrl: '<?php echo $this->getUrl('checkout/onepage/getAddress') ?>address/',
+                            checkoutAgreements: '#checkout-agreements',
+                            checkoutProgressContainer: '#checkout-progress-wrapper',
+                            checkout: {
+                                suggestRegistration: <?php echo ($_registerParam || $_registerParam === '') ? 'true' : 'false' ?>,
+                                saveUrl: '<?php echo $this->getUrl('checkout/onepage/saveMethod') ?>'
+                            },
+                            billing: {
+                                saveUrl: '<?php echo $this->getUrl('checkout/onepage/saveBilling') ?>'
+                            },
+                            shipping: {
+                                saveUrl: '<?php echo $this->getUrl('checkout/onepage/saveShipping') ?>'
+                            },
+                            shippingMethod: {
+                                saveUrl: "<?php echo $this->getUrl('checkout/onepage/saveShippingMethod') ?>"
+                            },
+                            payment: {
+                                <?php if ($_paymentBlock->getChildBlock('methods')->getSelectedMethodCode()): ?>
+                                    defaultPaymentMethod: "<?php echo $_paymentBlock->getChildBlock('methods')->getSelectedMethodCode() ?>",
+                                <?php endif ?>
+                                saveUrl: '<?php echo $this->getUrl('checkout/onepage/savePayment') ?>'
+                            },
+                            review: {
+                                saveUrl: '<?php echo $this->getUrl('checkout/onepage/saveOrder') ?>',
+                                successUrl: '<?php echo $this->getUrl('checkout/onepage/success') ?>'
+                            }
+                        });
+                });
+        })(jQuery);
+    </script>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/billing.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/billing.phtml
new file mode 100644
index 00000000000..5e76f4cd52b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/billing.phtml
@@ -0,0 +1,212 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form billing" id="co-billing-form" action="" data-hasrequired="<?php echo __('* Required Fields') ?>">
+
+    <?php if ($this->customerHasAddresses()): ?>
+        <div class="field addresses">
+            <label class="label" for="billing-address-select"><span><?php echo __('Select a billing address from your address book or enter a new address.') ?></span></label>
+            <div class="control">
+                <?php echo $this->getAddressesHtmlSelect('billing') ?>
+            </div>
+        </div>
+    <?php endif; ?>
+    <fieldset class="fieldset address" id="billing-new-address-form"<?php if ($this->customerHasAddresses()): ?> style="display:none;"<?php endif; ?>
+        <input type="hidden" name="billing[address_id]" value="<?php echo $this->getAddress()->getId() ?>" id="billing:address_id" />
+
+        <?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')->setObject($this->getAddress()->getFirstname() ? $this->getAddress() : $this->getQuote()->getCustomer())->setForceUseCustomerRequiredAttributes(!$this->isCustomerLoggedIn())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
+
+        <?php if (!$this->isCustomerLoggedIn()): ?>
+                <div class="field required">
+                    <label class="label" for="billing:email"><span><?php echo __('Email Address') ?></span></label>
+                    <div class="control">
+                        <input type="text" name="billing[email]" id="billing:email" value="<?php echo $this->escapeHtml($this->getAddress()->getEmail()) ?>" title="<?php echo __('Email Address') ?>" class="input-text" data-validate="{required:true, 'validate-email':true}"/>
+                    </div>
+                </div>
+        <?php endif; ?>
+
+        <div class="field company">
+            <label class="label" for="billing:company"><span><?php echo __('Company') ?></span></label>
+            <div class="control">
+                <input type="text" id="billing:company" name="billing[company]" value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>" title="<?php echo __('Company') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('company') ?>" />
+            </div>
+        </div>
+
+        <?php if ($this->helper('Magento\Customer\Helper\Address')->isVatAttributeVisible()) : ?>
+        <div class="field taxvat">
+            <label class="label" for="billing:vat_id"><span><?php echo __('VAT Number') ?></span></label>
+            <div class="control">
+                <input type="text" id="billing:vat_id" name="billing[vat_id]" value="<?php echo $this->escapeHtml($this->getAddress()->getVatId()) ?>" title="<?php echo __('VAT Number') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('vat_id') ?>" />
+            </div>
+        </div>
+        <?php endif; ?>
+
+        <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
+        <div class="field street required">
+            <label class="label" for="billing:street1"><span><?php echo __('Address') ?></span></label>
+            <div class="control">
+                <input type="text" title="<?php echo __('Street Address') ?>" name="billing[street][]" id="billing:street1" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet(1)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                <div class="nested">
+                    <?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
+                    <?php for ($_i = 2, $_n = $this->helper('Magento\Customer\Helper\Address')->getStreetLines(); $_i <= $_n; $_i++): ?>
+                        <div class="field additional no-label">
+                            <div class="control">
+                                <input type="text" title="<?php echo __('Street Address %1', $_i) ?>" name="billing[street][]" id="billing:street<?php echo $_i ?>" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet($_i)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                            </div>
+                        </div>
+                    <?php endfor; ?>
+                </div>
+            </div>
+        </div>
+
+
+        <div class="field city required">
+            <label class="label" for="billing:city"><span><?php echo __('City') ?></span></label>
+            <div class="control">
+                <input type="text" title="<?php echo __('City') ?>" name="billing[city]" value="<?php echo $this->escapeHtml($this->getAddress()->getCity()) ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('city') ?>" id="billing:city" />
+            </div>
+        </div>
+
+        <div class="field region required">
+            <label class="label" for="billing:region_id"><span><?php echo __('State/Province') ?></span></label>
+            <div class="control">
+                <select id="billing:region_id" name="billing[region_id]" title="<?php echo __('State/Province') ?>" data-validate="{'validate-select':true}" style="display:none;">
+                    <option value=""><?php echo __('Please select region, state or province') ?></option>
+                </select>
+                <input type="text" id="billing:region" name="billing[region]" value="<?php echo $this->escapeHtml($this->getAddress()->getRegion()) ?>"  title="<?php echo __('State/Province') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region') ?>" style="display:none;" />
+            </div>
+        </div>
+
+        <div class="field zip required">
+            <label class="label" for="billing:postcode"><span><?php echo __('Zip/Postal Code') ?></span></label>
+            <div class="control">
+                <input type="text" title="<?php echo __('Zip/Postal Code') ?>" name="billing[postcode]" id="billing:postcode" value="<?php echo $this->escapeHtml($this->getAddress()->getPostcode()) ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('postcode') ?>" data-validate="{'validate-zip-international':true}"/>
+            </div>
+        </div>
+
+        <div class="field country required">
+            <label class="label" for="billing:country_id"><span><?php echo __('Country') ?></span></label>
+            <div class="control">
+                <?php echo $this->getCountryHtmlSelect('billing') ?>
+            </div>
+        </div>
+
+        <div class="field telephone required">
+            <label class="label" for="billing:telephone"><span><?php echo __('Telephone') ?></span></label>
+            <div class="control">
+                <input type="text" name="billing[telephone]" value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone()) ?>" title="<?php echo __('Telephone') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('telephone') ?>" id="billing:telephone" />
+            </div>
+        </div>
+
+        <div class="field fax">
+            <label class="label" for="billing:fax"><span><?php echo __('Fax') ?></span></label>
+            <div class="control">
+                <input type="text" name="billing[fax]" value="<?php echo $this->escapeHtml($this->getAddress()->getFax()) ?>" title="<?php echo __('Fax') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('fax') ?>" id="billing:fax" />
+            </div>
+        </div>
+
+        <?php if(!$this->isCustomerLoggedIn()): ?>
+        <?php $_dob = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Dob') ?>
+        <?php $_taxvat = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Taxvat') ?>
+        <?php $_gender = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Gender') ?>
+
+        <?php if ($_dob->isEnabled()): ?>
+            <?php echo $_dob->setDate($this->getQuote()->getCustomerDob())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
+        <?php endif; ?>
+        <?php if ($_taxvat->isEnabled()): ?>
+            <?php echo $_taxvat->setTaxvat($this->getQuote()->getCustomerTaxvat())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
+        <?php endif ?>
+        <?php if ($_gender->isEnabled()): ?>
+            <?php echo $_gender->setGender($this->getQuote()->getCustomerGender())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
+        <?php endif ?>
+        <?php $customerAttributes = $this->getChildBlock('customer_form_customer_user_defined_attributes');?>
+        <?php if ($customerAttributes): ?>
+            <?php $customerAttributes->setEntityModelClass('Magento\Customer\Model\Customer')->setFieldIdFormat('billing:%1$s');?>
+            <?php $customerAttributes->setFieldNameFormat('billing[%1$s]')->setShowContainer(false);?>
+            <?php echo $customerAttributes->setExcludeFileAttributes(true)->toHtml()?>
+        <?php endif;?>
+        <div class="field password required">
+            <label class="label" for="billing:customer_password"><span><?php echo __('Password') ?></span></label>
+            <div class="control">
+                <input type="password" name="billing[customer_password]" id="billing:customer_password" title="<?php echo __('Password') ?>" class="input-text" data-validate="{required:true, 'validate-password':true}"/>
+            </div>
+        </div>
+        <div class="field confirm required">
+            <label class="label" for="billing:confirm_password"><span><?php echo __('Confirm Password') ?></span></label>
+            <div class="control">
+                <input type="password" name="billing[confirm_password]" title="<?php echo __('Confirm Password') ?>" id="billing:confirm_password" class="input-text" data-validate="{required:true, 'validate-cpassword':true}"/>
+            </div>
+        </div>
+        <?php endif; ?>
+        <?php echo $this->getChildHtml('form_additional_info'); ?>
+        <?php if ($this->isCustomerLoggedIn() && $this->customerHasAddresses()):?>
+            <div  class="field save choice">
+                <input type="checkbox" name="billing[save_in_address_book]" value="1" title="<?php echo __('Save in address book') ?>" id="billing:save_in_address_book" <?php if ($this->getAddress()->getSaveInAddressBook()):?> checked="checked"<?php endif;?> class="checkbox" />
+                <label class="label" for="billing:save_in_address_book"><span><?php echo __('Save in address book') ?></span></label>
+            </div>
+        <?php else:?>
+            <input type="hidden" name="billing[save_in_address_book]" value="1" />
+        <?php endif; ?>
+        <?php /* Extensions placeholder */ ?>
+        <?php echo $this->getChildHtml('checkout.onepage.billing.extra')?>
+</fieldset>
+<?php if ($this->canShip()): ?>
+    <div class="field choice">
+        <input type="radio" name="billing[use_for_shipping]" id="billing:use_for_shipping_yes" value="1"<?php if ($this->isUseBillingAddressForShipping()) {?> checked="checked"<?php }?> class="radio" />
+        <label class="label" for="billing:use_for_shipping_yes"><span><?php echo  __('Ship to this address') ?></span></label>
+    </div>
+    <div class="field choice">
+        <input type="radio" name="billing[use_for_shipping]" id="billing:use_for_shipping_no" value="0"<?php if (!$this->isUseBillingAddressForShipping()) {?> checked="checked"<?php }?> class="radio" />
+        <label class="label" for="billing:use_for_shipping_no"><span><?php echo __('Ship to different address') ?></span></label>
+    </div>
+<?php endif; ?>
+
+<?php if (!$this->canShip()): ?>
+    <input type="hidden" name="billing[use_for_shipping]" value="1" />
+<?php endif; ?>
+<div class="actions buttons-set form-buttons btn-only" id="billing-buttons-container">
+    <div class="primary"><button type="button" class="button action continue"><span><?php echo __('Continue') ?></span></button></div>
+    <span id="billing-please-wait" class="please-wait load indicator" style="display:none;">
+        <span><?php echo __('Loading next step...') ?></span>
+    </span>
+</div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('Magento_Checkout::js/region-updater.js') ?>",
+            function() {
+                $('#billing\\:country_id').regionUpdater({
+                    optionalRegionAllowed: <?php echo ($this->getConfig('general/region/display_all')? 'true' : 'false'); ?>,
+                    regionListId: '#billing\\:region_id',
+                    regionInputId: '#billing\\:region',
+                    postcodeId: '#billing\\:postcode',
+                    regionJson: <?php echo $this->helper('Magento\Directory\Helper\Data')->getRegionJson() ?>,
+                    defaultRegion: "<?php echo $this->getAddress()->getRegionId() ?>",
+                    countriesWithOptionalZip: <?php echo $this->helper('Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(true) ?>
+                });
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/failure.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/failure.phtml
new file mode 100644
index 00000000000..f0ccb4c1f26
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/failure.phtml
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if ($this->getRealOrderId()) : ?><p><?php echo __('Order #') . $this->getRealOrderId() ?></p><?php endif ?>
+<?php if ($error = $this->getErrorMessage()) : ?><p><?php echo $error ?></p><?php endif ?>
+<p><?php echo __('Click <a href="%1">here</a> to continue shopping.', $this->getContinueShoppingUrl()) ?></p>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/link.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/link.phtml
new file mode 100644
index 00000000000..a016f12eaca
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/link.phtml
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if ($this->isPossibleOnepageCheckout()):?>
+    <button type="button" title="<?php echo __('Proceed to Checkout') ?>" class="action primary checkout<?php if ($this->isDisabled()):?> disabled<?php endif; ?>"<?php if ($this->isDisabled()):?> disabled="disabled"<?php endif; ?> onclick="window.location='<?php echo $this->getCheckoutUrl() ?>';"><span><span><?php echo __('Proceed to Checkout') ?></span></span></button>
+<?php endif?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/login.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/login.phtml
new file mode 100644
index 00000000000..a66ba381e91
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/login.phtml
@@ -0,0 +1,154 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Customer onepage checkout login form template
+ *
+ */
+/** @var $this \Magento\Checkout\Block\Onepage\Login */
+?>
+<div class="step login wrapper">
+<?php echo $this->getChildHtml('login_before')?>
+<div class="block customer login">
+    <div class="title"><strong><?php echo __('Login') ?></strong></div>
+    <div class="content">
+        <form class="form login" id="login-form" action="<?php echo $this->getPostAction() ?>" method="post">
+            <fieldset class="fieldset login" data-hasrequired="<?php echo __('* Required Fields') ?>">
+                <p class="field note"><?php echo __('Already registered?') ?> <?php echo __('Please log in below:') ?></p>
+                <div class="field email required">
+                    <label class="label" for="login-email"><span><?php echo __('Email Address') ?></span></label>
+                    <div class="control">
+                        <input type="text" class="input-text" id="login-email" name="login[username]" data-validate="{required:true, 'validate-email':true}" value="<?php echo $this->escapeHtml($this->getUsername()) ?>" />
+                    </div>
+                </div>
+                <div class="field password required">
+                    <label for="login-password" class="label"><span><?php echo __('Password') ?></span></label>
+                    <div class="control">
+                        <input type="password" class="input-text" id="login-password" name="login[password]" data-validate="{required:true, 'validate-password':true}"/>
+                    </div>
+                </div>
+                <?php echo $this->getChildHtml('form_additional_info'); ?>
+                <div class="actions">
+                    <input name="context" type="hidden" value="checkout" />
+                    <div class="primary">
+                        <button type="submit" class="action login"><span><?php echo __('Login') ?></span></button>
+                    </div>
+                    <div class="secondary">
+                        <a class="action remind" href="<?php echo $this->helper('Magento\Customer\Helper\Data')->getForgotPasswordUrl()?>">
+                            <span><?php echo __('Forgot Your Password?') ?></span>
+                        </a>
+                    </div>
+                </div>
+            </fieldset>
+        </form>
+    </div>
+    <script type="text/javascript">
+        (function($) {
+            head.js(
+                "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+                function() {
+                    $('#login-form').validation();
+                });
+        })(jQuery);
+    </script>
+</div>
+<?php if ( $this->isAllowedGuestCheckout() || $this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed() ): ?>
+<div class="block guest">
+    <div class="title">
+        <strong>
+        <?php if( $this->isAllowedGuestCheckout() && $this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed() ): ?>
+            <?php echo __('Checkout as a Guest or Register') ?>
+        <?php elseif ( $this->isAllowedGuestCheckout() && !$this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed() ): ?>
+            <?php echo __('Checkout as a Guest') ?>
+        <?php else: ?>
+            <?php echo __('Register to Create an Account') ?>
+        <?php endif; ?>
+        </strong>
+    </div>
+    <div class="content">
+        <?php if( !$this->isAllowedGuestCheckout() && $this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed() ): ?>
+            <p><strong><?php echo __('Register and save time!') ?></strong><br />
+            <?php echo __('Register with us for future convenience:') ?></p>
+            <ul>
+                <li><?php echo __('Fast and easy check out') ?></li>
+                <li><?php echo __('Easy access to your order history and status') ?></li>
+            </ul>
+        <?php elseif( $this->isAllowedGuestCheckout() && $this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed() ): ?>
+            <p class="note"><?php echo __('Register with us for future convenience:') ?></p>
+        <?php endif ?>
+
+        <?php if( $this->isAllowedGuestCheckout() ): ?>
+            <fieldset class="fieldset guest">
+                <?php if( $this->isAllowedGuestCheckout() ): ?>
+                <div class="field choice">
+                    <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if($this->getQuote()->getCheckoutMethod()==Magento\Checkout\Model\Type\Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" />
+                    <label class="label" for="login:guest"><span><?php echo __('Checkout as Guest') ?></span></label>
+                </div>
+                <?php endif; ?>
+                <?php if( $this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed() ): ?>
+                <div class="field choice">
+                    <input type="radio" name="checkout_method" id="login:register" value="register"<?php if($this->getQuote()->getCheckoutMethod()==Magento\Checkout\Model\Type\Onepage::METHOD_REGISTER || !$this->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" />
+                    <label class="label" for="login:register"><span><?php echo __('Register') ?></span></label>
+                </div>
+                <?php endif; ?>
+            </fieldset>
+        <?php else: ?>
+            <input type="hidden" name="checkout_method" id="login:register" value="register" checked="checked" />
+        <?php endif; ?>
+        <div class="actions">
+            <span class="please-wait load indicator" style="display:none;">
+                <span><?php echo __('Loading next step...') ?></span>
+            </span>
+            <?php if ($this->isAllowedGuestCheckout()): ?>
+                <button id="onepage-guest-register-button" type="button" class="action continue" data-checkout='{"isGuestCheckoutAllowed":true}'><span><?php echo __('Continue') ?></span></button>
+            <?php elseif ($this->helper('Magento\Checkout\Helper\Data')->isCustomerMustBeLogged()): ?>
+                <button id="onepage-guest-register-button" type="button" class="action register" data-checkout='{"isGuestCheckoutAllowed":false, "registrationUrl":"<?php echo $this->helper('Magento\Checkout\Helper\Url')->getRegistrationUrl();?>"}'><span><?php echo __('Register') ?></span></button>
+            <?php else: ?>
+                <form action="<?php echo $this->getUrl('persistent/index/saveMethod'); ?>">
+                    <button id="onepage-guest-register-button" type="submit" class="action register"><span><?php echo __('Register') ?></span></button>
+                </form>
+            <?php endif; ?>
+        </div>
+    </div>
+</div>
+<?php endif; ?>
+</div>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            function() {
+                $('#login-form').validation();
+            }
+        )}
+    )(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/payment.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/payment.phtml
new file mode 100644
index 00000000000..fe8f86c816f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/payment.phtml
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form action="" id="co-payment-form" class="form payments">
+    <fieldset class="fieldset">
+        <?php echo $this->getChildChildHtml('methods_additional') ?>
+        <?php echo $this->getChildHtml('methods') ?>
+    </fieldset>
+    <?php echo $this->getChildChildHtml('additional') ?>
+    <div class="buttons-set actions" id="payment-buttons-container">
+        <div class="primary">
+            <button type="button" class="button action continue"><span><?php echo __('Continue') ?></span></button>
+        </div>
+        <div class="secondary">
+            <a class="action back" href="#"><span><?php echo __('Back') ?></span></a>
+        </div>
+        <span id="payment-please-wait" class="please-wait load indicator" style="display:none">
+            <span><?php echo __('Loading next step...') ?></span>
+        </span>
+    </div>
+</form>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/progress.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/progress.phtml
new file mode 100644
index 00000000000..5719d1f9962
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/progress.phtml
@@ -0,0 +1,114 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Checkout\Block\Onepage\Progress */
+?>
+<div class="block progress onepage opc-block-progress">
+    <div class="title">
+        <strong><?php echo __('Your Checkout Progress') ?></strong>
+    </div>
+    <div class="content">
+        <dl>
+        <?php if ($this->getCheckout()->getStepData('billing', 'is_show')): ?>
+        <?php if ($this->isStepComplete('billing')): ?>
+            <dt class="complete">
+                <?php echo __('Billing Address') ?> <span class="separator">|</span>
+                <a href="#billing" data-goto-section="billing"><?php echo __('Change') ?></a>
+            </dt>
+            <dd class="complete">
+                <address><?php echo $this->getBilling()->format('html') ?></address>
+            </dd>
+        <?php else: ?>
+            <dt>
+                <?php echo __('Billing Address') ?>
+            </dt>
+        <?php endif; ?>
+        <?php endif; ?>
+
+        <?php if ($this->getCheckout()->getStepData('shipping', 'is_show')): ?>
+        <?php if ($this->isStepComplete('shipping')): ?>
+            <dt class="complete">
+                <?php echo __('Shipping Address') ?> <span class="separator">|</span>
+                <a href="#payment" data-goto-section="shipping"><?php echo __('Change') ?></a>
+            </dt>
+            <dd class="complete">
+                <address><?php echo $this->getShipping()->format('html') ?></address>
+            </dd>
+        <?php else: ?>
+            <dt>
+                <?php echo __('Shipping Address') ?>
+            </dt>
+        <?php endif; ?>
+        <?php endif; ?>
+
+        <?php if ($this->getCheckout()->getStepData('shipping_method', 'is_show')): ?>
+        <?php if ($this->isStepComplete('shipping_method')): ?>
+            <dt class="complete">
+                <?php echo __('Shipping Method') ?> <span class="separator">|</span>
+                <a href="#shipping_method" data-goto-section="shipping_method"><?php echo __('Change') ?></a>
+            </dt>
+            <dd class="complete">
+                <?php if ($this->getShippingMethod()): ?>
+                    <?php echo $this->escapeHtml($this->getShippingDescription()) ?>
+
+                    <?php $_excl = $this->getShippingPriceExclTax(); ?>
+                    <?php $_incl = $this->getShippingPriceInclTax(); ?>
+                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayShippingPriceIncludingTax()): ?>
+                        <?php echo $_incl; ?>
+                    <?php else: ?>
+                        <?php echo $_excl; ?>
+                    <?php endif; ?>
+                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayShippingBothPrices() && $_incl != $_excl): ?>
+                        (<?php echo __('Incl. Tax'); ?> <?php echo $_incl; ?>)
+                    <?php endif; ?>
+
+                <?php else: ?>
+                    <?php echo __('Shipping method has not been selected yet') ?>
+                <?php endif; ?>
+            </dd>
+        <?php else: ?>
+            <dt>
+                <?php echo __('Shipping Method') ?>
+            </dt>
+        <?php endif; ?>
+        <?php endif; ?>
+
+        <?php if ($this->getCheckout()->getStepData('payment', 'is_show')): ?>
+        <?php if ($this->isStepComplete('payment')): ?>
+            <dt class="complete">
+                <?php echo __('Payment Method') ?> <span class="separator">|</span>
+                <a href="#payment" data-goto-section="payment"><?php echo __('Change') ?></a>
+            </dt>
+            <dd class="complete">
+                <?php echo $this->getPaymentHtml() ?>
+            </dd>
+        <?php else: ?>
+            <dt>
+                <?php echo __('Payment Method') ?>
+            </dt>
+        <?php endif; ?>
+        <?php endif; ?>
+        </dl>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/button.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/button.phtml
new file mode 100644
index 00000000000..35ddad1c26c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/button.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<button role='review-save' type="submit" title="<?php echo __('Place Order') ?>" class="button btn-checkout action checkout"><span><?php echo __('Place Order') ?></span></button>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/info.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/info.phtml
new file mode 100644
index 00000000000..9b8fc74bc43
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/info.phtml
@@ -0,0 +1,65 @@
+\<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php echo $this->getChildHtml('items_before'); ?>
+<div id="checkout-review-table-wrapper" class="review table wrapper">
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): $colspan = $rowspan = 2; else: $colspan = $rowspan = 1; endif; ?>
+    <table class="order review items data" id="checkout-review-table">
+        <thead>
+            <tr>
+                <th rowspan="<?php echo $rowspan ?>" class="col item"><?php echo __('Product Name') ?></th>
+                <th colspan="<?php echo $colspan ?>" class="col price"><?php echo __('Price') ?></th>
+                <th rowspan="<?php echo $rowspan ?>" class="col qty"><?php echo __('Qty') ?></th>
+                <th colspan="<?php echo $colspan ?>" class="col subtotal"><?php echo __('Subtotal') ?></th>
+            </tr>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <tr>
+                    <th class="col price excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                    <th class="col price incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                    <th class="col subtotal excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                    <th class="col subtotal incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                </tr>
+            <?php endif; ?>
+        </thead>
+        <?php echo $this->getChildHtml('totals'); ?>
+        <tbody>
+        <?php foreach($this->getItems() as $_item): ?>
+            <?php echo $this->getItemHtml($_item)?>
+        <?php endforeach ?>
+        </tbody>
+    </table>
+</div>
+<?php echo $this->getChildHtml('items_after'); ?>
+
+<div id="checkout-review-submit" class="checkout submit order">
+    <?php echo $this->getChildHtml('agreements') ?>
+    <div class="buttons-set actions" id="review-buttons-container">
+        <div class="primary"><?php echo $this->getChildHtml('button') ?></div>
+        <div class="secondary"><?php echo __('Forgot an Item?') ?> <a href="<?php echo $this->getUrl('checkout/cart') ?>" class="action edit"><span><?php echo __('Edit Your Cart') ?></span></a></div>
+        <span class="please-wait load indicator" id="review-please-wait" style="display:none;">
+            <span><?php echo __('Submitting order information...') ?></span>
+        </span>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/item.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/item.phtml
new file mode 100644
index 00000000000..a177ee2976d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/item.phtml
@@ -0,0 +1,238 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem()?>
+<tr>
+    <td class="col item"><strong class="product name"><?php echo $this->escapeHtml($this->getProductName()) ?></strong>
+        <?php if ($_options = $this->getOptionList()):?>
+        <dl class="review item options">
+            <?php foreach ($_options as $_option) : ?>
+            <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                <div class="truncated_full_value">
+                    <dl class="item-options">
+                        <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                        <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                    </dl>
+                </div>
+                <?php endif; ?>
+            </dd>
+            <?php endforeach; ?>
+        </dl>
+        <?php endif;?>
+        <?php if ($addtInfoBlock = $this->getProductAdditionalInformationBlock()):?>
+            <?php echo $addtInfoBlock->setItem($_item)->toHtml() ?>
+        <?php endif;?>
+    </td>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col price excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
+            <?php endif; ?>
+
+        </span>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col price incl tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
+            <?php endif; ?>
+
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <td class="col qty"><span class="qty"><?php echo $_item->getQty() ?></span></td>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col subtotal excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()) ?>
+            <?php endif; ?>
+
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col subtotal incl tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
+            <?php endif; ?>
+
+        </span>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/totals.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/totals.phtml
new file mode 100644
index 00000000000..70938f93971
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/totals.phtml
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * @see \Magento\Checkout\Block\Cart\Totals
+ */
+?>
+<?php if ($this->getTotals()): ?>
+<tfoot>
+    <?php $_colspan = $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices() ? 5 : 3; ?>
+    <?php echo $this->renderTotals(null, $_colspan); ?>
+    <?php echo $this->renderTotals('footer', $_colspan); ?>
+    <?php if ($this->needDisplayBaseGrandtotal()):?>
+    <tr>
+        <td class="col label" colspan="<?php echo $_colspan; ?>">
+            <small><?php echo __('Your credit card will be charged for') ?></small>
+        </td>
+        <td class="col total">
+            <small><?php echo $this->displayBaseGrandtotal() ?></small>
+        </td>
+    </tr>
+    <?php endif?>
+</tfoot>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping.phtml
new file mode 100644
index 00000000000..6c183170aee
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping.phtml
@@ -0,0 +1,144 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form shipping address" action="" id="co-shipping-form" data-hasrequired="<?php echo __('* Required Fields') ?>">
+
+<?php if ($this->customerHasAddresses()): ?>
+   <div class="field addresses">
+       <label class="label" for="shipping-address-select"><span><?php echo __('Select a shipping address from your address book or enter a new address.') ?></span></label>
+       <div class="control"><?php echo $this->getAddressesHtmlSelect('shipping') ?></div>
+   </div>
+<?php endif ?>
+    <fieldset class="fieldset address" id="shipping-new-address-form"<?php if ($this->customerHasAddresses()): ?> style="display:none;"<?php endif ?>>
+        <input type="hidden" name="shipping[address_id]" value="<?php echo $this->getAddress()->getId() ?>" id="shipping:address_id" />
+        <?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')->setObject($this->getAddress())->setFieldIdFormat('shipping:%s')->setFieldNameFormat('shipping[%s]')->toHtml() ?>
+        <div class="field company">
+            <label class="label" for="shipping:company"><span><?php echo __('Company') ?></span></label>
+            <div class="control">
+                <input type="text" id="shipping:company" name="shipping[company]" value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>" title="<?php echo __('Company') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('company') ?>" />
+            </div>
+        </div>
+        <?php if ($this->helper('Magento\Customer\Helper\Address')->isVatAttributeVisible()) : ?>
+        <div class="field taxvat">
+            <label class="label" for="shipping:vat_id"><span><?php echo __('VAT Number'); ?></span></label>
+            <div class="control">
+                <input type="text" id="shipping:vat_id" name="shipping[vat_id]" value="<?php echo $this->escapeHtml($this->getAddress()->getVatId()); ?>" title="<?php echo __('VAT Number'); ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('vat_id') ?>" />
+            </div>
+        </div>
+        <?php endif; ?>
+        <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
+        <div class="field street required">
+            <label class="label" for="shipping:street1"><span><?php echo __('Address') ?></span></label>
+            <div class="control">
+                <input type="text" title="<?php echo __('Street Address') ?>" name="shipping[street][]" id="shipping:street1" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet(1)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                <div class="nested">
+                <?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
+                <?php for ($_i = 2, $_n = $this->helper('Magento\Customer\Helper\Address')->getStreetLines(); $_i <= $_n; $_i++): ?>
+                     <div class="field additional no-label">
+                        <div class="control">
+                            <input type="text" title="<?php echo __('Street Address %1', $_i) ?>" name="shipping[street][]" id="shipping:street<?php echo $_i ?>" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet($_i)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                        </div>
+                    </div>
+                <?php endfor; ?>
+                </div>
+            </div>
+        </div>
+
+        <div class="field city required">
+            <label class="label" for="shipping:city"><span><?php echo __('City') ?></span></label>
+            <div class="control">
+                <input type="text" title="<?php echo __('City') ?>" name="shipping[city]" value="<?php echo $this->escapeHtml($this->getAddress()->getCity()) ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('city') ?>" id="shipping:city" />
+            </div>
+        </div>
+        <div class="field region required">
+            <label class="label" for="shipping:region"><span><?php echo __('State/Province') ?></span></label>
+            <div class="control">
+                <select id="shipping:region_id" name="shipping[region_id]" title="<?php echo __('State/Province') ?>" class="validate-select" style="display:none;">
+                    <option value=""><?php echo __('Please select region, state or province') ?></option>
+                </select>
+                <input type="text" id="shipping:region" name="shipping[region]" value="<?php echo $this->escapeHtml($this->getAddress()->getRegion()) ?>" title="<?php echo __('State/Province') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region') ?>" style="display:none;" />
+            </div>
+        </div>
+        <div class="field zip required">
+            <label class="label" for="shipping:postcode"><span><?php echo __('Zip/Postal Code') ?></span></label>
+            <div class="control">
+                <input type="text" title="<?php echo __('Zip/Postal Code') ?>" name="shipping[postcode]" id="shipping:postcode" value="<?php echo $this->escapeHtml($this->getAddress()->getPostcode()) ?>" class="input-text validate-zip-international <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('postcode') ?>" />
+            </div>
+        </div>
+        <div class="field country required">
+            <label class="label" for="shipping:country_id"><span><?php echo __('Country') ?></span></label>
+            <div class="control">
+                <?php echo $this->getCountryHtmlSelect('shipping') ?>
+            </div>
+        </div>
+        <div class="field telephone required">
+            <label class="label" for="shipping:telephone"><span><?php echo __('Telephone') ?></span></label>
+            <div class="control">
+                <input type="text" name="shipping[telephone]" value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone()) ?>" title="<?php echo __('Telephone') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('telephone') ?>" id="shipping:telephone" />
+            </div>
+        </div>
+        <div class="field fax">
+            <label class="label" for="shipping:fax"><span><?php echo __('Fax') ?></span></label>
+            <div class="control">
+                <input type="text" name="shipping[fax]" value="<?php echo $this->escapeHtml($this->getAddress()->getFax()) ?>" title="<?php echo __('Fax') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('fax') ?>" id="shipping:fax" />
+            </div>
+        </div>
+
+        <?php if ($this->isCustomerLoggedIn() && $this->customerHasAddresses()):?>
+            <div class="field choice save">
+                <input type="checkbox" name="shipping[save_in_address_book]" value="1" title="<?php echo __('Save in address book') ?>" id="shipping:save_in_address_book" <?php if ($this->getAddress()->getSaveInAddressBook()):?> checked="checked"<?php endif;?> class="checkbox" />
+                <label class="label" for="shipping:save_in_address_book"><span><?php echo __('Save in address book') ?></span></label>
+            </div>
+        <?php else:?>
+            <input type="hidden" name="shipping[save_in_address_book]" value="1" />
+        <?php endif;?>
+    </fieldset>
+    <div class="choice field">
+            <input type="checkbox" name="shipping[same_as_billing]" id="shipping:same_as_billing" value="1"<?php if($this->getAddress()->getSameAsBilling()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+        <label class="label" for="shipping:same_as_billing"><span><?php echo __('Use Billing Address') ?></span></label>
+    </div>
+    <div class="actions buttons-set form-buttons" id="shipping-buttons-container">
+        <div class="primary"><button type="button" class="button action continue"><span><?php echo __('Continue') ?></span></button></div>
+        <div class="secondary"><a href="#" class="action back"><span><?php echo __('Back') ?></span></a>
+        <span id="shipping-please-wait" class="please-wait load indicator" style="display:none;"><span><?php echo __('Loading next step...') ?></span></span>
+    </div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('Magento_Checkout::js/region-updater.js') ?>",
+            function() {
+                $('#shipping\\:country_id').regionUpdater({
+                    optionalRegionAllowed: <?php echo ($this->getConfig('general/region/display_all')? 'true' : 'false'); ?>,
+                    regionListId: '#shipping\\:region_id',
+                    regionInputId: '#shipping\\:region',
+                    postcodeId: '#shipping\\:postcode',
+                    regionJson: <?php echo $this->helper('Magento\Directory\Helper\Data')->getRegionJson() ?>,
+                    defaultRegion: "<?php echo $this->getAddress()->getRegionId() ?>",
+                    countriesWithOptionalZip: <?php echo $this->helper('Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(true) ?>
+                });
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method.phtml
new file mode 100644
index 00000000000..955011f9ff0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method.phtml
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form shipping methods" id="co-shipping-method-form" action="">
+    <div id="checkout-shipping-method-load">
+        <?php echo $this->getChildHtml('available') ?>
+    </div>
+    <div id="onepage-checkout-shipping-method-additional-load">
+        <?php echo $this->getChildHtml('additional') ?>
+    </div>
+    <div class="actions buttons-set" id="shipping-method-buttons-container">
+        <div class="primary"><button type="button" class="button action continue"><span><?php echo __('Continue') ?></span></button></div>
+        <div class="secondary"><a class="action back" href="#"><span><?php echo __('Back') ?></span></a></div>
+        <span id="shipping-method-please-wait" class="please-wait load indicator" style="display:none;">
+            <span><?php echo __('Loading next step...') ?></span>
+        </span>
+    </div>
+</form>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method/available.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method/available.phtml
new file mode 100644
index 00000000000..15c7081b746
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method/available.phtml
@@ -0,0 +1,63 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Checkout\Block\Onepage\Shipping\Method\Available */ ?>
+<?php $_shippingRateGroups = $this->getShippingRates(); ?>
+<?php if (!$_shippingRateGroups): ?>
+    <p><?php echo __('Sorry, no quotes are available for this order at this time.') ?></p>
+<?php else: ?>
+    <dl class="sp-methods items methods">
+    <?php $shippingCodePrice = array(); ?>
+    <?php $_sole = count($_shippingRateGroups) == 1; foreach ($_shippingRateGroups as $code => $_rates): ?>
+        <dt class="item title"><?php echo $this->escapeHtml($this->getCarrierName($code)) ?></dt>
+        <dd class="item options">
+            <?php $_sole = $_sole && count($_rates) == 1; foreach ($_rates as $_rate): ?>
+                <?php $shippingCodePrice[] = '"'.$_rate->getCode().'":'.(float)$_rate->getPrice(); ?>
+                <div class="field choice">
+                   <?php if ($_rate->getErrorMessage()): ?>
+                    <ul class="messages"><li class="error-msg"><ul><li><?php echo $this->escapeHtml($_rate->getErrorMessage()) ?></li></ul></li></ul>
+                   <?php else: ?>
+                        <?php if ($_sole) : ?>
+                        <span class="no-display"><input name="shipping_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>" checked="checked" /></span>
+                        <?php else: ?>
+                        <input name="shipping_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>"<?php if($_rate->getCode()===$this->getAddressShippingMethod()) echo ' checked="checked"' ?> class="radio"/>
+                        <?php endif; ?>
+                        <label class="label" for="s_method_<?php echo $_rate->getCode() ?>"><span><?php echo $this->escapeHtml($_rate->getMethodTitle()) ?>
+                        <?php $_excl = $this->getShippingPrice($_rate->getPrice(), $this->helper('Magento\Tax\Helper\Data')->displayShippingPriceIncludingTax()); ?>
+                        <?php $_incl = $this->getShippingPrice($_rate->getPrice(), true); ?>
+                        <?php echo $_excl; ?>
+                        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayShippingBothPrices() && $_incl != $_excl): ?>
+                            (<?php echo __('Incl. Tax'); ?> <?php echo $_incl; ?>)
+                        <?php endif; ?>
+                        </span>
+                        </label>
+                   <?php endif ?>
+                </div>
+            <?php endforeach; ?>
+        </dd>
+    <?php endforeach; ?>
+    </dl>
+    <div class="no-display" data-shipping-code-price='{<?php echo implode(",",$shippingCodePrice); ?>}'></div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/success.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/success.phtml
new file mode 100644
index 00000000000..95681ab6f6e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/success.phtml
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<h2 class="subtitle"><?php echo __('Thank you for your purchase!') ?></h2>
+<?php if ($this->getOrderId()):?>
+    <?php if ($this->getCanViewOrder()) :?>
+        <p><?php echo __('Your order # is: %1.', sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getViewOrderUrl()), $this->escapeHtml($this->getOrderId()))) ?></p>
+    <?php  else :?>
+        <p><?php echo __('Your order # is: %1.', $this->escapeHtml($this->getOrderId())) ?></p>
+    <?php endif;?>
+        <p><?php echo __('You will receive an order confirmation email with details of your order and a link to track its progress.') ?></p>
+    <?php if ($this->getCanViewOrder() && $this->getCanPrintOrder()) :?>
+        <p>
+            <?php echo __('Click <a href="%1" onclick="this.target=\'_blank\'">here to print</a> a copy of your order confirmation.', $this->getPrintUrl()) ?>
+            <?php echo $this->getChildHtml() ?>
+        </p>
+    <?php endif;?>
+<?php endif;?>
+
+<?php if ($this->getAgreementRefId()): ?>
+    <p><?php echo __('Your billing agreement # is: %1.', sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getAgreementUrl()), $this->escapeHtml($this->getAgreementRefId())))?></p>
+<?php endif;?>
+
+<?php if ($profiles = $this->getRecurringProfiles()):?>
+<p><?php echo __('Your recurring payment profiles:'); ?></p>
+<ul>
+<?php foreach($profiles as $profile):?>
+<?php $profileIdHtml = ($this->getCanViewProfiles() ? sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getProfileUrl($profile)), $this->escapeHtml($this->getObjectData($profile, 'reference_id'))) : $this->escapeHtml($this->getObjectData($profile, 'reference_id')));?>
+    <li><?php echo __('Payment profile # %1: "%2".', $profileIdHtml, $this->escapeHtml($this->getObjectData($profile, 'schedule_description')))?></li>
+<?php endforeach;?>
+</ul>
+<?php endif;?>
+
+<div class="actions">
+    <a class="action continue" title="<?php echo __('Continue Shopping') ?>" href="<?php echo $this->getUrl() ?>"><span><?php echo __('Continue Shopping') ?></span></a>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/total/default.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/total/default.phtml
new file mode 100644
index 00000000000..06114863bae
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/total/default.phtml
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<tr class="discount">
+    <td colspan="<?php echo $this->getColspan(); ?>" style="<?php echo $this->getTotal()->getStyle() ?>" class="mark">
+        <?php if ($this->getRenderingArea() == $this->getTotal()->getArea()): ?><strong><?php endif; ?>
+            <?php echo $this->escapeHtml($this->getTotal()->getTitle()); ?>
+        <?php if ($this->getRenderingArea() == $this->getTotal()->getArea()): ?></strong><?php endif; ?>
+    </td>
+    <td style="<?php echo $this->getTotal()->getStyle() ?>" class="amount">
+        <?php if ($this->getRenderingArea() == $this->getTotal()->getArea()): ?><strong><?php endif; ?>
+            <span><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?></span>
+        <?php if ($this->getRenderingArea() == $this->getTotal()->getArea()): ?></strong><?php endif; ?>
+    </td>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Cms/default/footerbanners.phtml b/app/design/frontend/magento_plushe/Magento_Cms/default/footerbanners.phtml
new file mode 100644
index 00000000000..5c3641cab13
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Cms/default/footerbanners.phtml
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="widget widget-static-block"> 
+    <div class="place locator">
+        <strong>plushe Near You:</strong> <a class="link locator" href="#">Find stores and retailers.</a>
+    </div>
+    <div class="place blog">
+        <a class="link blog" href="#">Blog</a>
+    </div>
+    <div class="place info">
+        <img src="<?php echo $this->getViewFileUrl('images/info_photo.jpg')?>" alt="plushe" align="left" /> <strong>Our Story:</strong>
+        <p>Use this space to tell customers a little about your business, such as when you opened. And why.</p>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Cms/default/home.phtml b/app/design/frontend/magento_plushe/Magento_Cms/default/home.phtml
new file mode 100644
index 00000000000..781ecd46d40
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Cms/default/home.phtml
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="home main slider">
+    <div class="banner main">
+        <img class="banner image" alt="plushe" src="<?php echo $this->getViewFileUrl('images/main_image1.jpg') ?>" />
+        <div class="banner content">
+            <span contenteditable="true" class="banner text">NEW ARRIVALS</span>
+            <a class="action banner" href="#"><span contenteditable="true">Shop now</span></a>
+        </div>
+    </div>
+</div>
+
+<div class="home banners">
+    <a href="#" class="banner link style1">
+        <img class="banner image" alt="plushe" src="<?php echo $this->getViewFileUrl('images/banner1.jpg') ?>" />
+        <span contenteditable="true" class="banner text">MY plushe</span>
+    </a>
+    <a href="#" class="banner link style2">
+        <img class="banner image" alt="plushe" src="<?php echo $this->getViewFileUrl('images/banner2.jpg') ?>" />
+        <span contenteditable="true" class="banner text">FOOTWEAR</span>
+    </a>
+    <a href="#" class="banner link style3">
+        <img class="banner image" alt="plushe" src="<?php echo $this->getViewFileUrl('images/banner3.jpg') ?>" />
+        <span contenteditable="true" class="banner text">SPRING <b>SALE</b></span>
+    </a>
+    <a href="#" class="banner link style4">
+        <img class="banner image" alt="plushe" src="<?php echo $this->getViewFileUrl('images/banner4.jpg') ?>" />
+        <span contenteditable="true" class="banner text">ITEM OF THE WEEK</span>
+    </a>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Cms/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Cms/layout/override/default.xml
new file mode 100644
index 00000000000..85d511a027c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Cms/layout/override/default.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="footer">
+        <container name="cms_footer_links_container" label="CMS Footer Links" htmlTag="div" htmlClass="links" before="footer_links">
+            <block class="Magento\Cms\Block\Block" name="cms_footer_links">
+                <arguments>
+                    <argument name="block_id" xsi:type="string">footer_links</argument>
+                </arguments>
+            </block>
+        </container>
+    </referenceContainer>
+</layout>
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Db/_files/config.xml b/app/design/frontend/magento_plushe/Magento_Cms/layout/override/print.xml
similarity index 93%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Db/_files/config.xml
rename to app/design/frontend/magento_plushe/Magento_Cms/layout/override/print.xml
index 0c12897169a..6c60196129d 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Db/_files/config.xml
+++ b/app/design/frontend/magento_plushe/Magento_Cms/layout/override/print.xml
@@ -19,10 +19,8 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Mage
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 -->
-<config/>
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Contacts/form.phtml b/app/design/frontend/magento_plushe/Magento_Contacts/form.phtml
new file mode 100644
index 00000000000..44de81662b0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Contacts/form.phtml
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form contact" action="<?php echo $this->getFormAction(); ?>" id="contact-form" method="post" data-hasrequired="<?php echo __('* Required Fields') ?>">
+    <fieldset class="fieldset">
+        <legend class="legend"><span><?php echo __('Contact Information') ?></span></legend><br />
+        <div class="field name required">
+            <label class="label" for="name"><span><?php echo __('Name') ?></span></label>
+            <div class="control">
+                <input name="name" id="name" title="<?php echo __('Name') ?>" value="<?php echo $this->escapeHtml($this->helper('Magento\Contacts\Helper\Data')->getUserName()) ?>" class="input-text" type="text" data-validate="{required:true}"/>
+            </div>
+        </div>
+        <div class="field email required">
+            <label class="label" for="email"><span><?php echo __('Email') ?></span></label>
+            <div class="control">
+                <input name="email" id="email" title="<?php echo __('Email') ?>" value="<?php echo $this->escapeHtml($this->helper('Magento\Contacts\Helper\Data')->getUserEmail()) ?>" class="input-text" type="text" data-validate="{required:true, 'validate-email':true}"/>
+            </div>
+        </div>
+        <div class="field telephone">
+            <label class="label" for="telephone"><span><?php echo __('Telephone') ?></span></label>
+            <div class="control">
+                <input name="telephone" id="telephone" title="<?php echo __('Telephone') ?>" value="" class="input-text" type="text" />
+            </div>
+        </div>
+        <div class="field comment required">
+            <label class="label" for="comment"><span><?php echo __('Comment') ?></span></label>
+            <div class="control">
+                <textarea name="comment" id="comment" title="<?php echo __('Comment') ?>" class="input-text" cols="5" rows="3" data-validate="{required:true}"></textarea>
+            </div>
+        </div>
+    </fieldset>
+    <div class="actions">
+        <input type="hidden" name="hideit" id="hideit" value="" />
+        <button type="submit" title="<?php echo __('Submit') ?>" class="action submit">
+            <span><?php echo __('Submit') ?></span>
+        </button>
+    </div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>", function() {
+                $('#contact-form').validation();
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Contacts/layout/contacts_index_index.xml b/app/design/frontend/magento_plushe/Magento_Contacts/layout/contacts_index_index.xml
new file mode 100644
index 00000000000..58a124e9c15
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Contacts/layout/contacts_index_index.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_one_column"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Contacts/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Contacts/layout/override/default.xml
new file mode 100644
index 00000000000..d9b1bc6867e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Contacts/layout/override/default.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="footer_links">
+        <block class="Magento\Page\Block\Link" ifconfig="contacts/contacts/enabled"
+               name="contact-us-link">
+            <arguments>
+                <argument name="label" xsi:type="string">Contact Us</argument>
+                <argument name="href" xsi:type="string">contacts</argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Core/text.phtml b/app/design/frontend/magento_plushe/Magento_Core/text.phtml
new file mode 100644
index 00000000000..26002f9e02f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Core/text.phtml
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+$attributes = $this->getCssClass() ? ' class="' . $this->getCssClass() . '"' : '';
+$attr = $this->getAttributes();
+if ( !empty($attr) ) {
+    foreach ($this->getAttributes() as $attribute => $value ) {
+        $attributes .= ' '. $attribute . '="' . $value . '"';
+    }
+};
+echo
+    '<' . $this->getTag() . $attributes . '>' . $this->getText() . '</' . $this->getTag() . '>';
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/account/customer.phtml b/app/design/frontend/magento_plushe/Magento_Customer/account/customer.phtml
new file mode 100644
index 00000000000..f158025e446
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/account/customer.phtml
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if($this->customerLoggedIn()): ?>
+    <li class="customer welcome">
+        <strong class="customer name" data-toggle="dropdown">
+            <span><?php echo $this->getCustomerName(); ?></span>
+        </strong>
+        <?php if($this->getChildHtml()):?>
+        <menu class="menu" data-target="dropdown">
+            <?php echo $this->getChildHtml();?>
+        </menu>
+        <?php endif; ?>
+    </li>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/address.phtml b/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/address.phtml
new file mode 100644
index 00000000000..b0c420fc344
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/address.phtml
@@ -0,0 +1,51 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block dashboard addresses">
+    <div class="title">
+        <strong><?php echo __('Address Book') ?></strong>
+        <a class="action edit" href="<?php echo $this->getAddressBookUrl() ?>"><span><?php echo __('Manage Addresses') ?></span></a>
+    </div>
+    <div class="content">
+        <div class="box address billing">
+            <strong class="subtitle">
+                <span><?php echo __('Default Billing Address') ?></span>
+                <a class="action edit" href="<?php echo $this->getPrimaryBillingAddressEditUrl() ?>"><span><?php echo __('Edit Address') ?></span></a>
+            </strong>
+            <address>
+                <?php echo $this->getPrimaryBillingAddressHtml() ?>
+            </address>
+        </div>
+        <div class="box address shipping">
+            <strong class="subtitle">
+                <span><?php echo __('Default Shipping Address') ?></span>
+                <a class="action edit" href="<?php echo $this->getPrimaryShippingAddressEditUrl() ?>"><span><?php echo __('Edit Address') ?></span></a>
+            </strong>
+            <address>
+                <?php echo $this->getPrimaryShippingAddressHtml() ?>
+            </address>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/hello.phtml b/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/hello.phtml
new file mode 100644
index 00000000000..29e0f6bbfe2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/hello.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block dashboard welcome">
+    <div class="title"><strong><?php echo __('Hello, %1!', $this->escapeHtml($this->getCustomerName())) ?></strong></div>
+    <div class="content">
+        <p><?php echo __('From your My Account Dashboard you have the ability to view a snapshot of your recent account activity and update your account information. Select a link below to view or edit information.') ?></p>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/info.phtml b/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/info.phtml
new file mode 100644
index 00000000000..c9a1d6f15fd
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/info.phtml
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block dashboard info">
+    <div class="title"><strong><?php echo __('Account Information') ?></strong></div>
+    <div class="content">
+        <div class="box information">
+            <strong class="subtitle">
+                <?php echo __('Contact Information') ?>
+                <a class="action edit" href="<?php echo $this->getUrl('customer/account/edit') ?>"><span><?php echo __('Edit') ?></span></a>
+            </strong>
+            <p>
+                <?php echo $this->escapeHtml($this->getCustomer()->getName()) ?><br />
+                <?php echo $this->escapeHtml($this->getCustomer()->getEmail()) ?><br />
+                <a href="<?php echo $this->getChangePasswordUrl() ?>"><?php echo __('Change Password') ?></a>
+            </p>
+        </div>
+    <?php if( $this->isNewsletterEnabled() ): ?>
+        <div class="box newsletter">
+            <strong class="subtitle">
+                <?php echo __('Newsletters') ?>
+                <a class="action edit" href="<?php echo $this->getUrl('newsletter/manage') ?>"><span><?php echo __('Edit') ?></span></a>
+            </strong>
+            <p>
+                <?php if( $this->getIsSubscribed() ): ?>
+                    <?php echo __("You are currently subscribed to 'General Subscription'.") ?>
+                <?php else: ?>
+                    <?php echo __('You are currently not subscribed to any newsletter.') ?>
+                <?php endif; ?>
+            </p>
+            <?php /* Extensions placeholder */ ?>
+            <?php echo $this->getChildHtml('customer.account.dashboard.info.extra')?>
+        </div>
+    <?php endif; ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/account/link/back.phtml b/app/design/frontend/magento_plushe/Magento_Customer/account/link/back.phtml
new file mode 100644
index 00000000000..f983ab287d7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/account/link/back.phtml
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="actions">
+    <div class="secondary"><a class="action back" href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><span><?php echo __('Back') ?></span></a></div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/account/navigation.phtml b/app/design/frontend/magento_plushe/Magento_Customer/account/navigation.phtml
new file mode 100644
index 00000000000..cb0c609ef62
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/account/navigation.phtml
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Customer\Block\Account\Navigation */ ?>
+<div class="block account nav">
+    <div class="title">
+        <strong><?php echo __('My Account'); ?></strong>
+    </div>
+    <div class="content">
+        <navigation class="account nav">
+        <ul class="nav items">
+            <?php echo $this->getChildHtml();?>
+        </ul>
+        </navigation>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/address/book.phtml b/app/design/frontend/magento_plushe/Magento_Customer/address/book.phtml
new file mode 100644
index 00000000000..797ef9838b4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/address/book.phtml
@@ -0,0 +1,110 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Temlate for \Magento\Customer\Block\Address\Book block
+ * @var $test \Magento\Customer\Block\Address\Book
+ */
+?>
+<div class="block addresses default">
+    <div class="title"><strong><?php echo __('Default Addresses') ?></strong></div>
+    <div class="content">
+        <?php if($_pAddsses = $this->getDefaultBilling()): ?>
+            <div class="box address billing">
+                <strong class="subtitle">
+                    <span><?php echo __('Default Billing Address') ?></span>
+                    <a class="action edit" href="<?php echo $this->getAddressEditUrl($this->getAddressById($_pAddsses)) ?>">
+                        <span><?php echo __('Change Billing Address') ?></span>
+                    </a>
+                </strong>
+                <address>
+                <?php echo $this->getAddressHtml($this->getAddressById($_pAddsses)) ?>
+                </address>
+           </div>
+        <?php else: ?>
+            <div class="box address no billing">
+                <strong class="box-title"><span><?php echo __('Default Billing Address') ?></span></strong>
+                <p><?php echo __('You have no default billing address in your address book.') ?></p>
+            </div>
+        <?php endif ?>
+
+        <?php if($_pAddsses = $this->getDefaultShipping()): ?>
+            <div class="box address shipping">
+                <strong class="subtitle">
+                    <span><?php echo __('Default Shipping Address') ?></span>
+                    <a class="action edit" href="<?php echo $this->getAddressEditUrl($this->getAddressById($_pAddsses)) ?>">
+                        <span><?php echo __('Change Shipping Address') ?></span>
+                    </a>
+                </strong>
+                <address>
+                    <?php echo $this->getAddressHtml($this->getAddressById($_pAddsses)) ?>
+                </address>
+            </div>
+        <?php else: ?>
+            <div class="box address shipping">
+                <strong class="subtitle"><span><?php echo __('Default Shipping Address') ?></span></strong>
+                <p><?php echo __('You have no default shipping address in your address book.') ?></p>
+            </div>
+        <?php endif ?>
+    </div>
+</div>
+
+<div class="block addresses list">
+    <div class="title"><strong><?php echo __('Additional Address Entries') ?></strong></div>
+    <div class="content">
+        <?php if($_pAddsses = $this->getAdditionalAddresses()): ?>
+        <ol class="items addresses">
+            <?php foreach($_pAddsses as $_address): ?>
+            <li class="item">
+                <address>
+                    <?php echo $this->getAddressHtml($_address) ?><br />
+                </address>
+                <div class="item actions">
+                    <a class="action edit" href="<?php echo $this->getUrl('customer/address/edit', array('id'=>$_address->getId())) ?>"><span><?php echo __('Edit Address') ?></span></a>
+                    <a class="action delete" href="#" role="delete-address" data-address="<?php echo $_address->getId() ?>"><span><?php echo __('Delete Address') ?></span></a>
+                </div>
+            </li>
+            <?php endforeach; ?>
+        </ol>
+        <?php else: ?>
+        <p><?php echo __('You have no additional address entries in your address book.') ?></p>
+        <?php endif ?>
+    </div>
+</div>
+
+<div class="actions">
+    <div class="secondary"><a class="action back" href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><span><?php echo __('Back') ?></span></a></div>
+</div>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('Magento_Customer::address.js'); ?>", function() {
+        jQuery('hgroup.page.title').address({
+            deleteAddress: "li.item a[role='delete-address']",
+            deleteUrlPrefix: '<?php echo $this->getDeleteUrl() ?>id/',
+            addAddress: "button[role='add-address']",
+            addAddressLocation: '<?php echo $this->getAddAddressUrl() ?>'
+        });
+    });
+</script>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/address/button.phtml b/app/design/frontend/magento_plushe/Magento_Customer/address/button.phtml
new file mode 100644
index 00000000000..7cf5a8cafe8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/address/button.phtml
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Temlate for \Magento\Customer\Block\Address\Book block
+ * @var $test \Magento\Customer\Block\Address\Book
+ */
+?>
+<button type="button" role="add-address" title="<?php echo __('Add New Address') ?>" class="action add"><span><?php echo __('Add New Address') ?></span></button>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/address/edit.phtml b/app/design/frontend/magento_plushe/Magento_Customer/address/edit.phtml
new file mode 100644
index 00000000000..560d23a119d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/address/edit.phtml
@@ -0,0 +1,164 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Edit customer address template
+ *
+ * @see \Magento\Customer\Block\Address\Edit
+ */
+?>
+<form class="form address edit" action="<?php echo $this->getSaveUrl() ?>" method="post" id="form-validate" enctype="multipart/form-data" data-hasrequired="<?php echo __('* Required Fields') ?>">
+    <fieldset class="fieldset">
+        <legend class="legend"><span><?php echo __('Contact Information') ?></span></legend><br />
+        <?php echo $this->getBlockHtml('formkey')?>
+        <input type="hidden" name="success_url" value="<?php echo $this->getSuccessUrl() ?>" />
+        <input type="hidden" name="error_url" value="<?php echo $this->getErrorUrl() ?>" />
+        <?php echo $this->getNameBlockHtml() ?>
+        <div class="field company">
+            <label class="label" for="company"><span><?php echo __('Company') ?></span></label>
+            <div class="control">
+                <input type="text" name="company" id="company" title="<?php echo __('Company') ?>" value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('company') ?>" />
+            </div>
+        </div>
+        <div class="field telephone required">
+            <label class="label" for="telephone"><span><?php echo __('Telephone') ?></span></label>
+            <div class="control">
+                <input type="text" name="telephone" value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone()) ?>" title="<?php echo __('Telephone') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('telephone') ?>" id="telephone" />
+            </div>
+        </div>
+        <div class="field fax">
+            <label class="label" for="fax"><span><?php echo __('Fax') ?></span></label>
+            <div class="control">
+                <input type="text" name="fax" id="fax" title="<?php echo __('Fax') ?>" value="<?php echo $this->escapeHtml($this->getAddress()->getFax()) ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('fax') ?>" />
+            </div>
+        </div>
+    </fieldset>
+    <fieldset class="fieldset">
+        <legend class="legend"><span><?php echo __('Address') ?></span></legend><br />
+        <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
+        <div class="field street required">
+            <label for="street_1" class="label"><span><?php echo __('Street Address') ?></span></label>
+            <div class="control">
+                <input type="text" name="street[]" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet(1)) ?>" title="<?php echo __('Street Address') ?>" id="street_1" class="input-text <?php echo $_streetValidationClass ?>"  />
+                <div class="nested">
+                <?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
+                <?php for ($_i = 2, $_n = $this->helper('Magento\Customer\Helper\Address')->getStreetLines(); $_i <= $_n; $_i++): ?>
+                    <div class="field additional no-label">
+                        <div class="control">
+                            <input type="text" name="street[]" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet($_i)) ?>" title="<?php echo __('Street Address %1', $_i) ?>" id="street_<?php echo $_i ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                        </div>
+                    </div>
+                <?php endfor; ?>
+                </div>
+            </div>
+        </div>
+
+        <?php if ($this->helper('Magento\Customer\Helper\Address')->isVatAttributeVisible()) : ?>
+        <div class="field taxvat">
+            <label class="label" for="vat_id"><span><?php echo __('VAT Number') ?></span></label>
+            <div class="control">
+                <input type="text" name="vat_id" value="<?php echo $this->escapeHtml($this->getAddress()->getVatId()) ?>" title="<?php echo __('VAT Number') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('vat_id') ?>" id="vat_id" />
+            </div>
+        </div>
+        <?php endif; ?>
+        <div class="field city required">
+            <label class="label" for="city"><span><?php echo __('City') ?></span></label>
+            <div class="control">
+                <input type="text" name="city" value="<?php echo $this->escapeHtml($this->getAddress()->getCity()) ?>" title="<?php echo __('City') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('city') ?>" id="city" />
+            </div>
+        </div>
+        <div class="field region required">
+            <label class="label" for="region_id"><span><?php echo __('State/Province') ?></span></label>
+            <div class="control">
+                <select id="region_id" name="region_id" title="<?php echo __('State/Province') ?>" class="validate-select" style="display:none;">
+                   <option value=""><?php echo __('Please select region, state or province') ?></option>
+                </select>
+                <input type="text" id="region" name="region" value="<?php echo $this->escapeHtml($this->getAddress()->getRegion()) ?>"  title="<?php echo __('State/Province') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region') ?>" />
+            </div>
+        </div>
+        <div class="field zip required">
+            <label class="label" for="zip"><span><?php echo __('Zip/Postal Code') ?></span></label>
+            <div class="control">
+                <input type="text" name="postcode" value="<?php echo $this->escapeHtml($this->getAddress()->getPostcode()) ?>" title="<?php echo __('Zip/Postal Code') ?>" id="zip" class="input-text validate-zip-international <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('postcode') ?>" />
+            </div>
+        </div>
+        <div class="field country required">
+            <label class="label" for="country"><span><?php echo __('Country') ?></span></label>
+            <div class="control">
+                <?php echo $this->getCountryHtmlSelect() ?>
+            </div>
+        </div>
+
+        <?php if($this->isDefaultBilling()): ?>
+            <div class="field note default"><?php echo __('Default Billing Address') ?></div>
+        <?php elseif($this->canSetAsDefaultBilling()): ?>
+        <div class="field choice set billing">
+            <input type="checkbox" id="primary_billing" name="default_billing" value="1" class="checkbox" />
+            <label class="label" for="primary_billing"><span><?php echo __('Use as my default billing address') ?></span></label>
+        </div>
+        <?php else: ?>
+            <input type="hidden" name="default_billing" value="1" />
+        <?php endif; ?>
+
+        <?php if($this->isDefaultShipping()): ?>
+            <div class="field note default"><?php echo __('Default Shipping Address') ?></div>
+        <?php elseif($this->canSetAsDefaultShipping()): ?>
+            <div class="field choice set shipping">
+                <input type="checkbox" id="primary_shipping" name="default_shipping" value="1" class="checkbox" />
+                <label class="label" for="primary_shipping"><span><?php echo __('Use as my default shipping address') ?></span></label>
+            </div>
+        <?php else: ?>
+            <input type="hidden" name="default_shipping" value="1" />
+        <?php endif; ?>
+    </fieldset>
+    <div class="actions">
+        <div class="primary"><button type="submit" class="action submit" title="<?php echo __('Save Address') ?>"><span><?php echo __('Save Address') ?></span></button></div>
+        <div class="secondary"><a class="action back" href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><span><?php echo __('Go back') ?></span></a></div>
+    </div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            "<?php echo $this->getViewFileUrl('Magento_Checkout::js/region-updater.js') ?>",
+            function() {
+                $('#country').regionUpdater({
+                    optionalRegionAllowed: <?php echo ($this->getConfig('general/region/display_all')? 'true' : 'false'); ?>,
+                    regionListId: '#region_id',
+                    regionInputId: '#region',
+                    postcodeId: '#zip',
+                    form: $('#form-validate').validation(),
+                    regionJson: <?php echo $this->helper('Magento\Directory\Helper\Data')->getRegionJson() ?>,
+                    defaultRegion: "<?php echo $this->getAddress()->getRegionId() ?>",
+                    countriesWithOptionalZip: <?php echo $this->helper('Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(true) ?>
+                });
+            });
+    })(jQuery);
+</script>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/address.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/address.phtml
new file mode 100644
index 00000000000..b2493aded84
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/address.phtml
@@ -0,0 +1,155 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="page-title">
+    <h1><?php if($data->getAddressId()): ?><?php echo __('Edit Address Entry') ?><?php else: ?><?php echo __('New Address Entry') ?><?php endif ?></h1>
+</div>
+<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+<form action="<?php echo $action ?>" method="post" id="form-validate">
+    <div class="fieldset">
+    <input type="hidden" name="address_id" value="<?php echo $data->getAddressId() ?>" />
+    <input type="hidden" name="customer_id" id="address_id" value="<?php echo $data->getCustomerId() ?>" />
+        <h2 class="legend"><?php echo __('Personal Information') ?></h2>
+        <ul class="form-list">
+            <li class="fields">
+                <?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')->setObject($data)->toHtml() ?>
+            </li>
+            <li>
+                <label for="company"><?php echo __('Company') ?></label>
+                <div class="input-box">
+                    <input type="text" name="company" id="company" title="<?php echo __('Company') ?>" value="<?php echo $this->escapeHtml($data->getCompany()) ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('company') ?>" />
+                </div>
+            </li>
+        </ul>
+    </div>
+    <div class="fieldset">
+        <h2 class="legend"><?php echo __('Address') ?></h2>
+        <ul class="form-list">
+        <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
+            <li>
+                <label for="street_1" class="required"><em>*</em><?php echo __('Street Address') ?></label>
+                <div class="input-box">
+                    <input type="text" name="street[]" value="<?php echo $this->escapeHtml($data->getStreet(1)) ?>" title="<?php echo __('Street Address') ?>" id="street_1" class="input-text <?php echo $_streetValidationClass ?>" />
+                </div>
+            </li>
+        <?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
+        <?php for ($_i = 2, $_n = $this->helper('Magento\Customer\Helper\Address')->getStreetLines(); $_i <= $_n; $_i++): ?>
+            <li class="add-field">
+                <div class="input-box">
+                    <input type="text" name="street[]" value="<?php echo $this->escapeHtml($data->getStreet($_i)) ?>" title="<?php echo __('Street Address %1', $_i) ?>" id="street_<?php echo $_i ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                </div>
+            </li>
+        <?php endfor; ?>
+            <li class="fields">
+                <div class="field">
+                    <label for="city" class="required"><em>*</em><?php echo __('City') ?></label>
+                    <div class="input-box">
+                        <input type="text" name="city" value="<?php echo $this->escapeHtml($data->getCity()) ?>" title="<?php echo __('City') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('city') ?>" id="city" />
+                    </div>
+                </div>
+                <div class="field">
+                    <label for="region_id" class="required"><em>*</em><?php echo __('State/Province') ?></label>
+                    <div class="input-box">
+                        <select id="region_id" name="region_id" title="<?php echo __('State/Province') ?>" class="validate-select" style="display:none;">
+                            <option value=""><?php echo __('Please select region, state or province') ?></option>
+                        </select>
+                        <input type="text" id="region" name="region" value="<?php echo $this->escapeHtml($this->getAddress()->getRegion()) ?>"  title="<?php echo __('State/Province') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region') ?>" style="display:none;" />
+                    </div>
+                </div>
+            </li>
+            <li class="fields">
+                <div class="field">
+                    <label for="zip" class="required"><em>*</em><?php echo __('Zip/Postal Code') ?></label>
+                    <div class="input-box">
+                        <input type="text" name="postcode" value="<?php echo $this->escapeHtml($data->getPostcode()) ?>" title="<?php echo __('Zip/Postal Code') ?>" id="zip" class="input-text validate-zip-international <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('postcode') ?>" />
+                    </div>
+                </div>
+                <div class="field">
+                    <label for="country" class="required"><em>*</em><?php echo __('Country') ?></label>
+                    <div class="input-box">
+                        <select name="country_id" id="country" title="<?php echo __('Country') ?>" class="validate-select">
+                            <?php echo $countries->toHtmlOptions($data->getCountryId()) ?>
+                        </select>
+                    </div>
+                </div>
+            </li>
+            <li class="fields">
+                <div class="field">
+                    <label for="telephone" class="required"><em>*</em><?php echo __('Telephone') ?></label>
+                    <div class="input-box">
+                        <input type="text" name="telephone" value="<?php echo $this->escapeHtml($data->getTelephone()) ?>" title="<?php echo __('Telephone') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('telephone') ?>" id="telephone" />
+                    </div>
+                </div>
+                <div class="field">
+                    <label for="fax"><?php echo __('Fax') ?></label>
+                    <div class="input-box">
+                        <input type="text" name="fax" value="<?php echo $this->escapeHtml($data->getFax()) ?>" title="<?php echo __('Fax') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('fax') ?>" id="fax" />
+                    </div>
+                </div>
+            </li>
+            <?php foreach ($primaryTypes as $code=>$type): ?>
+                <li class="control">
+                <?php if ($address->isPrimary($type['address_type_id'])): ?>
+                    <p><?php echo __("This is My Default %1 Address", ucfirst($type['name'])) ?></p>
+                <?php else: ?>
+                    <div class="input-box">
+                        <input type="checkbox" id="primary_<?php echo $code ?>" name="primary_types[]" value="<?php echo $type['address_type_id'] ?>" class="checkbox" />
+                    </div>
+                    <label for="primary_<?php echo $code ?>"><?php echo __("Use as My Default %1 Address", ucfirst($type['name'])) ?></label>
+                <?php endif ?>
+                </li>
+            <?php endforeach ?>
+        </ul>
+    </div>
+    <div class="buttons-set form-buttons">
+        <p class="back-link"><a href="<?php echo $this->getUrl('customer/address/') ?>"><small>&laquo; </small><?php echo __('Back') ?></a></p>
+        <button class="button" type="submit"><span><span><?php echo __('Save Address') ?></span></span></button>
+    </div>
+    <p class="required"><?php echo __('* Required Fields') ?></p>
+</form>
+<script type="text/javascript">
+    //<![CDATA[
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            "<?php echo $this->getViewFileUrl('Magento_Checkout::js/region-updater.js') ?>",
+            function() {
+                $('#country').regionUpdater({
+                    optionalRegionAllowed: <?php echo ($this->getConfig('general/region/display_all')? 'true' : 'false'); ?>,
+                    regionListId: '#region_id',
+                    regionInputId: '#region',
+                    postcodeId: '#zip',
+                    form: $('#form-validate').validation(),
+                    regionJson: <?php echo $this->helper('Magento\Directory\Helper\Data')->getRegionJson() ?>,
+                    defaultRegion: "<?php echo $this->getAddress()->getRegionId() ?>",
+                    countriesWithOptionalZip: <?php echo $this->helper('Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(true) ?>
+                });
+            });
+    })(jQuery);
+    //]]>
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/changepassword.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/changepassword.phtml
new file mode 100644
index 00000000000..756af607ee2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/changepassword.phtml
@@ -0,0 +1,68 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+<form action="<?php echo $action ?>" method="post" id="form-validate">
+<div class="fieldset">
+    <ul class="form-list">
+        <li class="fields">
+            <div class="field">
+                <label for="current_password" class="required"><em>*</em><?php echo __('Current Password') ?></label>
+                <div class="input-box">
+                    <input type="password" class="input-text" name="current_password" id="current_password" data-validate="{required:true, 'validate-password':true}"/>
+                </div>
+            </div>
+        </li>
+        <li class="fields">
+            <div class="field">
+                <label for="password" class="required"><em>*</em><?php echo __('New Password') ?></label>
+                <div class="input-box">
+                    <input type="password" class="input-text" name="password" id="password" data-validate="{required:true, 'validate-password':true}"/>
+                </div>
+            </div>
+            <div class="field">
+                <label for="confirmation" class="required"><em>*</em><?php echo __('Confirm New Password') ?></label>
+                <div class="input-box">
+                    <input type="password" class="input-text" name="confirmation" id="confirmation" data-validate="{required:true, equalTo:'#password'}"/>
+                </div>
+            </div>
+        </li>
+    </ul>
+</div>
+<div class="buttons-set form-buttons">
+    <p class="back-link"><a href="<?php echo $this->getUrl('customer/account') ?>"><small>&laquo; </small><?php echo __('Back') ?></a></p>
+    <button type="submit" class="button"><span><span><?php echo __('Save Password') ?></span></span></button>
+</div>
+<p class="required"><?php echo __('* Required Fields') ?></p>
+</form>
+<script type="text/javascript">
+    head.js(
+        "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+        "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+        "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>", function() {
+            jQuery('#form-validate').validation();
+    });
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/confirmation.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/confirmation.phtml
new file mode 100644
index 00000000000..e1c81f393e7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/confirmation.phtml
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="page-title">
+    <h1><?php echo __('Send confirmation link') ?></h1>
+</div>
+<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+<form action="" method="post" id="form-validate">
+    <div class="fieldset">
+        <p><?php echo __('Please enter your email below and we will send you the confirmation link for it.') ?></p>
+        <ul class="form-list">
+            <li>
+                <label for="email_address" class="required"><em>*</em><?php echo __('Email Address') ?></label>
+                <div class="input-box">
+                    <input type="text" name="email" id="email_address" class="input-text" value="<?php echo $this->escapeHtml($this->getEmail()) ?>" data-validate="{required:true, 'validate-email':true}"/>
+                </div>
+            </li>
+        </ul>
+    </div>
+    <div class="buttons-set form-buttons">
+        <p class="back-link"><a href="<?php echo $this->helper('Magento\Customer\Helper\Data')->getLoginUrl() ?>"><small>&laquo; </small><?php echo __('Back to Login') ?></a></p>
+        <button type="submit" class="button right"><span><span><?php echo __('Submit') ?></span></span></button>
+    </div>
+    <p class="required"><?php echo __('* Required Fields') ?></p>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            function() {
+                $('#form-validate').validation();
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/edit.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/edit.phtml
new file mode 100644
index 00000000000..6f95865e869
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/edit.phtml
@@ -0,0 +1,129 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form edit account" action="<?php echo $this->getUrl('customer/account/editPost') ?>" method="post" id="form-validate" enctype="multipart/form-data" data-hasrequired="<?php echo __('* Required Fields') ?>">
+<fieldset class="fieldset info">
+    <?php echo $this->getBlockHtml('formkey')?>
+    <legend class="legend"><span><?php echo __('Account Information') ?></span></legend><br />
+    <?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')->setObject($this->getCustomer())->toHtml() ?>
+    <div class="field email required">
+        <label class="label" for="email"><span><?php echo __('Email Address') ?></span></label>
+        <div class="control">
+            <input type="text" name="email" id="email" value="<?php echo $this->escapeHtml($this->getCustomer()->getEmail()) ?>" title="<?php echo __('Email Address') ?>" class="input-text" data-validate="{required:true, 'validate-email':true}" />
+        </div>
+    </div>
+    <?php $_dob = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Dob') ?>
+    <?php $_taxvat = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Taxvat') ?>
+    <?php $_gender = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Gender') ?>
+    <?php if ($_dob->isEnabled()): ?>
+        <?php echo $_dob->setDate($this->getCustomer()->getDob())->toHtml() ?>
+    <?php endif ?>
+    <?php if ($_taxvat->isEnabled()): ?>
+        <?php echo $_taxvat->setTaxvat($this->getCustomer()->getTaxvat())->toHtml() ?>
+    <?php endif ?>
+    <?php if ($_gender->isEnabled()): ?>
+        <?php echo $_gender->setGender($this->getCustomer()->getGender())->toHtml() ?>
+    <?php endif ?>
+    <div class="field choice">
+        <input type="checkbox" name="change_password" id="change-password" value="1" title="<?php echo __('Change Password') ?>"<?php if($this->getCustomer()->getChangePassword()==1): ?> checked="checked"<?php endif; ?> class="checkbox" />
+        <label class="label" for="change-password"><span><?php echo __('Change Password') ?></span></label>
+    </div>
+</fieldset>
+
+<fieldset class="fieldset password" style="display:none;">
+    <legend class="legend"><span><?php echo __('Change Password') ?></span></legend><br />
+    <div class="field password current required">
+        <label class="label" for="current-password"><span><?php echo __('Current Password') ?></span></label>
+        <div class="control">
+            <input type="password" class="input-text" name="current_password" id="current-password" />
+        </div>
+    </div>
+    <div class="field new password required">
+        <label class="label" for="password"><span><?php echo __('New Password') ?></span></label>
+        <div class="control">
+            <input type="password" class="input-text" name="password" id="password" />
+        </div>
+    </div>
+    <div class="field confirm password required">
+        <label class="label" for="confirmation"><span><?php echo __('Confirm New Password') ?></span></label>
+        <div class="control">
+            <input type="password" class="input-text" name="confirmation" id="confirmation" />
+        </div>
+    </div>
+</fieldset>
+<div class="actions">
+    <div class="primary">
+        <button type="submit" class="action save" title="<?php echo __('Save') ?>"><span><?php echo __('Save') ?></span></button>
+    </div>
+    <div class="secondary">
+        <a class="action back" href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><span><?php echo __('Go back') ?></span></a>
+    </div>
+</div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            "<?php echo $this->getViewFileUrl('Magento_Customer::set-password.js') ?>",
+            <?php if ($_dob->isEnabled()): ?>
+            "<?php echo $this->getViewFileUrl('mage/validation/dob-rule.js') ?>",
+            <?php endif ?>
+            function() {
+                $('#change-password').setPassword({
+                    currentPasswordId: '#current-password',
+                    passwordId: '#password',
+                    confirmationId: '#confirmation',
+                    passwordContainer: 'fieldset.fieldset.password',
+                    showOnDefault: <?php echo $this->getCustomer()->getChangePassword() ? 'true' : 'false' ?>
+                });
+                var dataForm = $('#form-validate'), ignore;
+                <?php if ($_dob->isEnabled()): ?>
+                    ignore = 'input[id$="full"]';
+                <?php endif ?>
+                dataForm.validation({
+                <?php if ($_dob->isEnabled()): ?>
+                    errorPlacement: function(error, element) {
+                        if (element.prop('id').search('full') !== -1) {
+                            var dobElement = $(element).parents('.customer-dob'),
+                                errorClass = error.prop('class');
+                            error.insertAfter(element.parent());
+                            dobElement.find('.validate-custom').addClass(errorClass)
+                                .after('<div class="' + errorClass + '"></div>');
+                        }
+                        else {
+                            error.insertAfter(element);
+                        }
+                    },
+                    ignore: ':hidden:not(' + ignore + ')'
+                <?php else: ?>
+                    ignore: ignore ? ':hidden:not(' + ignore + ')' : ':hidden'
+                <?php endif ?>
+                });
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/forgotpassword.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/forgotpassword.phtml
new file mode 100644
index 00000000000..8e253400da2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/forgotpassword.phtml
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form password forget" action="<?php echo $this->getUrl('*/*/forgotpasswordpost') ?>" method="post" id="form-validate">
+    <fieldset class="fieldset" data-hasrequired="<?php echo __('* Required Fields') ?>">
+        <p class="field note"><?php echo __('Please enter your email address below. You will receive a link to reset your password.'); ?></p>
+        <div class="field email required">
+            <label for="email_address" class="label"><span><?php echo __('Email Address') ?></span></label>
+            <div class="control">
+                <input type="text" name="email" alt="email" id="email_address" class="input-text" value="<?php echo $this->escapeHtml($this->getEmailValue()) ?>" data-validate="{required:true, 'validate-email':true}" />
+            </div>
+        </div>
+        <?php echo $this->getChildHtml('form_additional_info'); ?>
+    </fieldset>
+    <div class="actions">
+        <div class="primary">
+            <button type="submit" class="action submit"><span><?php echo __('Submit') ?></span></button>
+        </div>
+        <div class="secondary">
+            <a class="action back" href="<?php echo $this->helper('Magento\Customer\Helper\Data')->getLoginUrl() ?>"><span><?php echo __('Go back') ?></span></a>
+        </div>
+    </div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            function() {
+                $('#form-validate').validation();
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/login.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/login.phtml
new file mode 100644
index 00000000000..2c6b40d8dbb
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/login.phtml
@@ -0,0 +1,82 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Customer login form template
+ *
+ * @see \Magento\Customer\Block\Form\Login
+ */
+?>
+<?php /*
+<div class="account-login<?php if (!$this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed()) echo ' login-only' ?>">
+    <div class="page-title">
+        <h1><?php if ($this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed()): ?>
+            <?php echo __('Login or Create an Account') ?>
+            <?php else: ?>
+            <?php echo __('Login'); ?>
+            <?php endif; ?></h1>
+    </div>
+    */
+?>
+<div class="block customer login">
+    <div class="title"><strong><?php echo __('Registered Customers') ?></strong></div>
+    <div class="content">
+        <form class="form login" action="<?php echo $this->getPostActionUrl() ?>" method="post" id="login-form">
+            <fieldset class="fieldset login" data-hasrequired="<?php echo __('* Required Fields') ?>">
+                <p class="field note"><?php echo __('If you have an account with us, log in using your email address.') ?></p>
+                <div class="field email required">
+                    <label class="label" for="email"><span><?php echo __('Email Address') ?></span></label>
+                    <div class="control">
+                        <input name="login[username]" value="<?php echo $this->escapeHtml($this->getUsername()) ?>" id="email" type="text" class="input-text" title="<?php echo __('Email Address') ?>" data-validate="{required:true, 'validate-email':true}" />
+                    </div>
+                </div>
+                <div class="field password required">
+                    <label for="pass" class="label"><span><?php echo __('Password') ?></span></label>
+                    <div class="control">
+                        <input name="login[password]" type="password" class="input-text" id="pass" title="<?php echo __('Password') ?>" data-validate="{required:true, 'validate-password':true}"  />
+                    </div>
+                </div>
+                <?php echo $this->getChildHtml('form_additional_info'); ?>
+                <div class="actions">
+                    <div class="primary"><button type="submit" class="action login" name="send" id="send2"><span><?php echo __('Login') ?></span></button></div>
+                    <div class="secondary"><a class="action remind" href="<?php echo $this->getForgotPasswordUrl() ?>"><span><?php echo __('Forgot Your Password?') ?></span></a></div>
+                </div>
+            </fieldset>
+        </form>
+    </div>
+    <script type="text/javascript">
+        (function($) {
+            head.js(
+                "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+                function() {
+                    $('#login-form').validation();
+                });
+        })(jQuery);
+    </script>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/newsletter.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/newsletter.phtml
new file mode 100644
index 00000000000..cd4a812be37
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/newsletter.phtml
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php echo $this->getChildHtml('form_before')?>
+<form class="form newsletter manage" action="<?php echo $this->getAction() ?>" method="post" id="form-validate">
+    <fieldset class="fieldset">
+        <?php echo $this->getBlockHtml('formkey')?>
+        <legend class="legend"><span><?php echo __('Subscription option') ?></span></legend><br />
+            <div class="field choice">
+                <input type="checkbox" name="is_subscribed" id="subscription" value="1" title="<?php echo __('General Subscription') ?>"<?php if($this->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                <label for="subscription" class="label"><span><?php echo __('General Subscription') ?></span></label>
+            </div>
+            <?php /* Extensions placeholder */ ?>
+            <?php echo $this->getChildHtml('customer.form.newsletter.extra')?>
+        </ul>
+    </fieldset>
+    <div class="actions">
+        <div class="primary"><button type="submit" title="<?php echo __('Save') ?>" class="action save"><span><?php echo __('Save') ?></span></button></div>
+        <div class="secondary"><a class="action back" href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><span><?php echo __('Back') ?></span></a></div>
+    </div>
+</form>
+<?php /* Extensions placeholder */ ?>
+<?php echo $this->getChildHtml('customer.form.newsletter.extra2')?>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/register.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/register.phtml
new file mode 100644
index 00000000000..be555e0be84
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/register.phtml
@@ -0,0 +1,234 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Create account form template
+ *
+ * @see \Magento\Customer\Block\Form\Register
+ */
+?>
+
+    <?php echo $this->getChildHtml('form_fields_before')?>
+    <?php /* Extensions placeholder */ ?>
+    <?php echo $this->getChildHtml('customer.form.register.extra')?>
+    <form class="form create account" action="<?php echo $this->getPostActionUrl() ?>" method="post" id="form-validate" enctype="multipart/form-data">
+        <fieldset class="fieldset create info">
+            <legend class="legend"><span><?php echo __('Personal Information') ?></span></legend><br />
+            <input type="hidden" name="success_url" value="<?php echo $this->getSuccessUrl() ?>" />
+            <input type="hidden" name="error_url" value="<?php echo $this->getErrorUrl() ?>" />
+
+            <?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')->setObject($this->getFormData())->setForceUseCustomerAttributes(true)->toHtml() ?>
+
+            <div class="field required">
+                <label for="email_address" class="label"><span><?php echo __('Email Address') ?></span></label>
+                <div class="control">
+                    <input type="text" name="email" id="email_address" value="<?php echo $this->escapeHtml($this->getFormData()->getEmail()) ?>" title="<?php echo __('Email Address') ?>" class="input-text" data-validate="{required:true, 'validate-email':true}" />
+                </div>
+            </div>
+
+            <?php if ($this->isNewsletterEnabled()): ?>
+            <div class="field choice newsletter">
+                <input type="checkbox" name="is_subscribed" title="<?php echo __('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                <label for="is_subscribed" class="label"><span><?php echo __('Sign Up for Newsletter') ?></span></label>
+            </div>
+                <?php /* Extensions placeholder */ ?>
+                <?php echo $this->getChildHtml('customer.form.register.newsletter')?>
+            <?php endif ?>
+
+            <?php $_dob = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Dob') ?>
+            <?php if ($_dob->isEnabled()): ?>
+                <?php echo $_dob->setDate($this->getFormData()->getDob())->toHtml() ?>
+            <?php endif ?>
+
+            <?php $_taxvat = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Taxvat') ?>
+            <?php if ($_taxvat->isEnabled()): ?>
+                <?php echo $_taxvat->setTaxvat($this->getFormData()->getTaxvat())->toHtml() ?>
+            <?php endif ?>
+
+            <?php $_gender = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Gender') ?>
+            <?php if ($_gender->isEnabled()): ?>
+                <?php echo $_gender->setGender($this->getFormData()->getGender())->toHtml() ?>
+            <?php endif ?>
+
+        </fieldset>
+
+    <?php if($this->getShowAddressFields()): ?>
+        <fieldset class="fieldset address">
+            <legend class="legend"><span><?php echo __('Address Information') ?></span></legend><br />
+            <input type="hidden" name="create_address" value="1" />
+            <div class="field company">
+                <label for="company" class="label"><span><?php echo __('Company') ?></span></label>
+                <div class="control">
+                    <input type="text" name="company" id="company" value="<?php echo $this->escapeHtml($this->getFormData()->getCompany()) ?>" title="<?php echo __('Company') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('company') ?>" />
+                </div>
+            </div>
+            <div class="field telephone">
+                <label for="telephone" class="label"><span><?php echo __('Telephone') ?></span></label>
+                <div class="control">
+                    <input type="text" name="telephone" id="telephone" value="<?php echo $this->escapeHtml($this->getFormData()->getTelephone()) ?>" title="<?php echo __('Telephone') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('telephone') ?>" />
+                </div>
+            </div>
+
+            <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
+
+            <div class="field street required">
+                <label for="street_1" class="label"><span><?php echo __('Street Address') ?></span></label>
+                <div class="control">
+                    <input type="text" name="street[]" value="<?php echo $this->escapeHtml($this->getFormData()->getStreet(0)) ?>" title="<?php echo __('Street Address') ?>" id="street_1" class="input-text <?php echo $_streetValidationClass ?>" />
+                    <div class="nested">
+                    <?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
+                    <?php for ($_i = 2, $_n = $this->helper('Magento\Customer\Helper\Address')->getStreetLines(); $_i <= $_n; $_i++): ?>
+                        <div class="field additional no-label">
+                            <div class="control">
+                                <input type="text" name="street[]" value="<?php echo $this->escapeHtml($this->getFormData()->getStreet($_i - 1)) ?>" title="<?php echo __('Street Address %1', $_i) ?>" id="street_<?php echo $_i ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                            </div>
+                        </div>
+                    <?php endfor; ?>
+                    </div>
+                </div>
+            </div>
+
+            <div class="field required">
+                <label for="city" class="label"><span><?php echo __('City') ?></span></label>
+                <div class="control">
+                    <input type="text" name="city" value="<?php echo $this->escapeHtml($this->getFormData()->getCity()) ?>" title="<?php echo __('City') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('city') ?>" id="city" />
+                </div>
+            </div>
+
+            <div class="field region required">
+                <label for="region_id" class="label"><span><?php echo __('State/Province') ?></span></label>
+                <div class="control">
+                    <select id="region_id" name="region_id" title="<?php echo __('State/Province') ?>" class="validate-select" style="display:none;">
+                        <option value=""><?php echo __('Please select region, state or province') ?></option>
+                    </select>
+                    <input type="text" id="region" name="region" value="<?php echo $this->escapeHtml($this->getRegion()) ?>" title="<?php echo __('State/Province') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region') ?>" style="display:none;" />
+                </div>
+            </div>
+
+            <div class="field zip required">
+                <label for="zip" class="label"><span><?php echo __('Zip/Postal Code') ?></span></label>
+                <div class="control">
+                    <input type="text" name="postcode" value="<?php echo $this->escapeHtml($this->getFormData()->getPostcode()) ?>" title="<?php echo __('Zip/Postal Code') ?>" id="zip" class="input-text validate-zip-international <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('postcode') ?>" />
+                </div>
+            </div>
+
+            <div class="field country required">
+                <label for="country" class="label"><span><?php echo __('Country') ?></span></label>
+                <div class="control">
+                    <?php echo $this->getCountryHtmlSelect() ?>
+                </div>
+            </div>
+                <?php $addressAttributes = $this->getChildBlock('customer_form_address_user_attributes');?>
+                <?php if ($addressAttributes): ?>
+                    <?php $addressAttributes->setEntity($this->getAddress());?>
+                    <?php $addressAttributes->setFieldIdFormat('address:%1$s')->setFieldNameFormat('address[%1$s]');?>
+                    <?php $this->restoreSessionData($addressAttributes->getForm(), 'address');?>
+                    <?php echo $addressAttributes->setShowContainer(false)->toHtml()?>
+                <?php endif;?>
+            <input type="hidden" name="default_billing" value="1" />
+            <input type="hidden" name="default_shipping" value="1" />
+        </fieldset>
+
+    <?php endif; ?>
+        <fieldset class="fieldset create account" data-hasrequired="<?php echo __('* Required Fields') ?>">
+            <legend class="legend"><span><?php echo __('Login Information') ?></span></legend><br />
+
+            <div class="field password required">
+                <label for="password" class="label"><span><?php echo __('Password') ?></span></label>
+                <div class="control">
+                    <input type="password" name="password" id="password" title="<?php echo __('Password') ?>" class="input-text" data-validate="{required:true, 'validate-password':true}" />
+                </div>
+            </div>
+            <div class="field confirmation required">
+                <label for="confirmation" class="label"><span><?php echo __('Confirm Password') ?></span></label>
+                <div class="control">
+                    <input type="password" name="confirmation" title="<?php echo __('Confirm Password') ?>" id="confirmation" class="input-text" data-validate="{required:true, equalTo:'#password'}" />
+                </div>
+            </div>
+            <?php echo $this->getChildHtml('form_additional_info'); ?>
+        </fieldset>
+        <div class="actions">
+            <div class="primary">
+                <button type="submit" class="action submit" title="<?php echo __('Submit') ?>"><span><?php echo __('Submit') ?></span></button>
+            </div>
+            <div class="secondary">
+                <a class="action back" href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><span><?php echo __('Back') ?></span></a>
+            </div>
+        </div>
+    </form>
+    <script type="text/javascript">
+        (function($) {
+            head.js(
+                "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+                <?php if ($this->getShowAddressFields()): ?>
+                    "<?php echo $this->getViewFileUrl('Magento_Checkout::js/region-updater.js') ?>",
+                <?php endif ?>
+                <?php if ($_dob->isEnabled()): ?>
+                    "<?php echo $this->getViewFileUrl('mage/validation/dob-rule.js') ?>",
+                <?php endif ?>
+                function() {
+                    var dataForm = $('#form-validate'), ignore;
+                    <?php if ($_dob->isEnabled()): ?>
+                        ignore = 'input[id$="full"]';
+                    <?php endif ?>
+                    dataForm.validation({
+                    <?php if ($_dob->isEnabled()): ?>
+                        errorPlacement: function(error, element) {
+                            if (element.prop('id').search('full') !== -1) {
+                                var dobElement = $(element).parents('.customer-dob'),
+                                    errorClass = error.prop('class');
+                                error.insertAfter(element.parent());
+                                dobElement.find('.validate-custom').addClass(errorClass)
+                                    .after('<div class="' + errorClass + '"></div>');
+                            }
+                            else {
+                                error.insertAfter(element);
+                            }
+                        },
+                        ignore: ':hidden:not(' + ignore + ')'
+                    <?php else: ?>
+                        ignore: ignore ? ':hidden:not(' + ignore + ')' : ':hidden'
+                    <?php endif ?>
+                    }).find('input:text').attr('autocomplete', 'off');
+                    <?php if ($this->getShowAddressFields()): ?>
+                        $('#country').regionUpdater({
+                            optionalRegionAllowed: <?php echo ($this->getConfig('general/region/display_all')? 'true' : 'false'); ?>,
+                            regionListId: '#region_id',
+                            regionInputId: '#region',
+                            postcodeId: '#zip',
+                            form: dataForm,
+                            regionJson: <?php echo $this->helper('Magento\Directory\Helper\Data')->getRegionJson() ?>,
+                            defaultRegion: "<?php echo $this->getFormData()->getRegionId() ?>",
+                            countriesWithOptionalZip: <?php echo $this->helper('Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(true) ?>
+                        });
+                    <?php endif; ?>
+                });
+        })(jQuery);
+    </script>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/resetforgottenpassword.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/resetforgottenpassword.phtml
new file mode 100644
index 00000000000..5cb725070f6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/resetforgottenpassword.phtml
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form action="<?php echo $this->getUrl('*/*/resetpasswordpost', array('_query' => array('id' => $this->getCustomerId(), 'token' => $this->getResetPasswordLinkToken()))); ?>" method="post" id="form-validate" class="form password reset">
+    <fieldset class="fieldset" data-hasrequired="<?php echo __('* Required Fields'); ?>">
+        <div class="field password required">
+            <label class="label" for="password"><span><?php echo __('New Password'); ?></span></label>
+            <div class="control">
+                <input type="password" class="input-text" name="password" id="password" data-validate="{required:true, 'validate-password':true}"/>
+            </div>
+        </div>
+        <div class="field confirmation required">
+            <label class="label" for="confirmation"><span><?php echo __('Confirm New Password'); ?></span></label>
+            <div class="control">
+                <input type="password" class="input-text" name="confirmation" id="confirmation" data-validate="{required:true,equalTo:'#password'}"/>
+            </div>
+        </div>
+    </fieldset>
+    <div class="actions">
+        <div class="primary">
+            <button type="submit" title="<?php echo __('Reset a Password'); ?>" class="action submit"><span><?php echo __('Reset a Password'); ?></span></button>
+        </div>
+    </div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            function() {
+                $('#form-validate').validation();
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/customer_account.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/customer_account.xml
new file mode 100644
index 00000000000..c8cdb22c451
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/customer_account.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_two_columns_left"/>
+    <referenceBlock name="root">
+        <action method="addBodyClass">
+            <argument name="class" xsi:type="string">account</argument>
+        </action>
+    </referenceBlock>
+    <remove name="catalog.compare.sidebar"/>
+    <remove name="tags_popular"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/default.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/default.xml
new file mode 100644
index 00000000000..78ca4af2db4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/default.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="header.links">
+        <block class="Magento\Customer\Block\Account\Customer" name="customer" template="account/customer.phtml" />
+        <block class="Magento\Customer\Block\Account\RegisterLink" after="authorization-link-login" name="register-link">
+            <arguments>
+                <argument name="label" xsi:type="string">register</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Customer\Block\Account\AuthorizationLink" name="authorization-link-login"/>
+    </referenceBlock>
+    <move element="top.links" destination="customer"/>
+    <move element="authorization-link" destination="top.links" after="-"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_create.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_create.xml
new file mode 100644
index 00000000000..7dd7c664bdd
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_create.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer Account Registration Form" type="page" parent="customer_account">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">1column.phtml</argument>
+        </action>
+    </referenceBlock>
+    <container name="customer.form.register.fields.before" label="Form Fields Before" htmlTag="div" htmlClass="rewards"/>
+    <referenceContainer name="content">
+        <block class="Magento\Customer\Block\Form\Register" name="customer_form_register" template="form/register.phtml">
+            <container name="form.additional.info" label="invisible" as="form_additional_info"/>
+            <action method="append">
+                <argument name="element" xsi:type="string">customer.form.register.fields.before</argument>
+                <argument name="alias" xsi:type="string">form_fields_before</argument>
+            </action>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_edit.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_edit.xml
new file mode 100644
index 00000000000..df916091a3c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_edit.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer Account Edit Form" type="page" parent="customer_account">
+    <update handle="customer_account"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">Edit Account Info</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Customer\Block\Form\Edit" name="customer_edit" template="form/edit.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_forgotpassword.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_forgotpassword.xml
new file mode 100644
index 00000000000..128f5326091
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_forgotpassword.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer Forgot Password Form" type="page" parent="customer_account">
+    <referenceBlock name="head">
+        <action method="setTitle">
+            <argument translate="true" name="title" xsi:type="string">Forgot Your Password</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">1column.phtml</argument>
+        </action>
+        <action method="setHeaderTitle">
+            <argument translate="true" name="title" xsi:type="string">Password forgotten</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <block class="Magento\Customer\Block\Account\Forgotpassword" name="forgotPassword" template="form/forgotpassword.phtml">
+            <container name="form.additional.info" label="invisible" as="form_additional_info"/>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_index.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_index.xml
new file mode 100644
index 00000000000..3aa28cf3207
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_index.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer My Account Dashboard" type="page" parent="customer_account">
+    <update handle="customer_account"/>
+    <update handle="page_two_columns_left"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">My Dashboard</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Customer\Block\Account\Dashboard\Hello" name="customer_account_dashboard_hello" as="hello" template="account/dashboard/hello.phtml"/>
+        <block class="Magento\Core\Block\Template" name="customer_account_dashboard_top" as="top"/>
+        <block class="Magento\Customer\Block\Account\Dashboard\Info" name="customer_account_dashboard_info" as="info" template="account/dashboard/info.phtml"/>
+        <block class="Magento\Customer\Block\Account\Dashboard\Address" name="customer_account_dashboard_address" as="address" template="account/dashboard/address.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_login.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_login.xml
new file mode 100644
index 00000000000..50e86321f02
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_login.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer Account Login Form" type="page" parent="customer_account">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">1column.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <!-- customer.form.login.extra -->
+        <container name="customer.login.container" label="Customer Login Container" htmlTag="div" htmlClass="login container">
+            <block class="Magento\Customer\Block\Form\Login" name="customer_form_login" template="form/login.phtml">
+                <container name="form.additional.info" label="invisible" as="form_additional_info"/>
+            </block>
+            <block class="Magento\Customer\Block\Form\Login" name="customer.new" template="newcustomer.phtml"/>
+        </container>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_address_index.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_address_index.xml
new file mode 100644
index 00000000000..c864da39dd2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_address_index.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer My Account Address Book" type="page" parent="customer_account_index">
+    <update handle="customer_account"/>
+    <referenceBlock name="page.main.title">
+        <block class="Magento\Customer\Block\Address\Book" name="address.book.button" template="address/button.phtml"/>
+    </referenceBlock>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Customer\Block\Address\Book" name="address_book" template="address/book.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/newcustomer.phtml b/app/design/frontend/magento_plushe/Magento_Customer/newcustomer.phtml
new file mode 100644
index 00000000000..52620acc2d5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/newcustomer.phtml
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * New Customer block template
+ *
+ * @see \Magento\Customer\Block\Form\Login
+ */
+?>
+<?php if ($this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed()): ?>
+<div class="block new customer">
+    <div class="title"><strong><?php echo __('New Customers') ?></strong></div>
+    <div class="content">
+        <p><?php echo __('By creating an account with our store, you will be able to move through the checkout process faster, store multiple shipping addresses, view and track your orders in your account and more.') ?></p>
+        <div class="actions">
+            <a href="<?php echo $this->getCreateAccountUrl() ?>" class="action create"><span><?php echo __('Register') ?></span></a>
+        </div>
+    </div>
+</div>
+<?php endif; ?>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/widget/dob.phtml b/app/design/frontend/magento_plushe/Magento_Customer/widget/dob.phtml
new file mode 100644
index 00000000000..8bede142247
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/widget/dob.phtml
@@ -0,0 +1,84 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+USAGE:
+
+Simple:
+
+<?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Dob')
+   ->setDate($this->getCustomer()->getDob())
+   ->toHtml() ?>
+
+For checkout/onepage/billing.phtml:
+
+<?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Dob')
+   ->setDate($this->getCustomer()->getDob())
+   ->setFieldIdFormat('billing:%s')
+   ->setFieldNameFormat('billing[%s]')
+   ->toHtml() ?>
+
+NOTE: Regarding styles - if we leave it this way, we'll move it to boxes.css
+      Alternatively we could calculate widths automatically using block input parameters.
+*/
+
+/**
+ * @see \Magento\Customer\Block\Widget\Dob
+ */
+?>
+<div class="field dob<?php if ($this->isRequired()) echo ' required' ?>">
+    <label class="label" for="<?php echo $this->getFieldId('month')?>"><span><?php echo __('Date of Birth') ?></span></label>
+    <div class="control customer-dob">
+        <div class="fields group group-3">
+        <?php
+            $this->setDateInput('d',
+                '<div class="field dob-day day">
+                     <label class="label" for="' . $this->getFieldId('day') . '"><span>' . __('DD') . '</span></label>
+                     <div class="control"><input type="text" id="' . $this->getFieldId('day') . '" name="' . $this->getFieldName('day') . '" value="' . $this->getDay() . '" title="' . __('Day') . '" class="input-text validate-custom" ' . $this->getFieldParams() . ' /></div>
+                 </div>'
+            );
+
+            $this->setDateInput('m',
+                '<div class="field dob-month month">
+                     <label class="label" for="' . $this->getFieldId('month') . '"><span>' . __('MM')  . '</span></label>
+                     <div class="control"><input type="text" id="' . $this->getFieldId('month') . '" name="' . $this->getFieldName('month') . '" value="' . $this->getMonth()  . '" title="' . __('Month')  . '" class="input-text validate-custom" ' . $this->getFieldParams()  . ' /></div>
+                 </div>'
+            );
+
+            $this->setDateInput('y',
+                '<div class="field dob-year year">
+                     <label class="label" for="' . $this->getFieldId('year') . '"><span>' . __('YYYY')  . '</span></label>
+                     <div class="control"><input type="text" id="' . $this->getFieldId('year') . '" name="' . $this->getFieldName('year') . '" value="' . $this->getYear()  . '" title="' . __('Year')  . '" class="input-text validate-custom" ' . $this->getFieldParams()  . ' /></div>
+                 </div>'
+            );
+        ?>
+        <?php echo $this->getSortedDateInputs() ?>
+        </div>
+        <span class="dob-full" style="display:none;">
+            <input type="hidden" id="<?php echo $this->getFieldId('full')?>" name="<?php echo $this->getFieldName('dob')?>" data-validate="{'validate-dob': ['.dob-day', '.dob-month', '.dob-year', <?php echo $this->isRequired() ? 'true' : 'false' ?>]<?php if ($this->getMinDateRange() && $this->getMaxDateRange()):?>, 'validate-date-between':['<?php echo $this->getMinDateRange()?>', '<?php echo $this->getMaxDateRange()?>']<?php endif;?>}"/>
+        </span>
+        <div class="validation-advice" id="<?php echo $this->getFieldId('date-advice')?>" style="opacity:0.999999; display:none;"></div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/widget/gender.phtml b/app/design/frontend/magento_plushe/Magento_Customer/widget/gender.phtml
new file mode 100644
index 00000000000..13010e23213
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/widget/gender.phtml
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="field gender<?php if ($this->isRequired()) echo ' required' ?>">
+    <label class="label" for="<?php echo $this->getFieldId('gender')?>"><span><?php echo __('Gender') ?></span></label>
+    <div class="control">
+        <select id="<?php echo $this->getFieldId('gender')?>" name="<?php echo $this->getFieldName('gender')?>" title="<?php echo __('Gender') ?>"<?php if ($this->isRequired()):?> class="validate-select" data-validate="{required:true}"<?php endif; ?> <?php echo $this->getFieldParams() ?>>
+            <?php $options = $this->getGenderOptions(); ?>
+            <?php $value = $this->getGender();?>
+            <?php foreach ($options as $option):?>
+                <option value="<?php echo $option['value'] ?>"<?php if ($option['value'] == $value) echo ' selected="selected"' ?>><?php echo $option['label'] ?></option>
+            <?php endforeach;?>
+        </select>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/widget/name.phtml b/app/design/frontend/magento_plushe/Magento_Customer/widget/name.phtml
new file mode 100644
index 00000000000..cc30b8872c9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/widget/name.phtml
@@ -0,0 +1,112 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+USAGE:
+
+Simple:
+
+<?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')
+   ->setObject($this->getAddress())
+   ->toHtml() ?>
+
+For checkout/onepage/shipping.phtml:
+
+<?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')
+   ->setObject($this->getAddress())
+   ->setFieldIdFormat('shipping:%s')
+   ->setFieldNameFormat('shipping[%s]')
+   ->setFieldParams('onchange="shipping.setSameAsBilling(false);"')
+   ->toHtml() ?>
+*/
+/* @var $this \Magento\Customer\Block\Widget\Name */
+$prefix = $this->showPrefix();
+$middle = $this->showMiddlename();
+$suffix = $this->showSuffix();
+?>
+<?php if ($prefix || $middle || $suffix && !$this->getNoWrap()): ?>
+<div class="field required fullname <?php echo $this->getContainerClassName()?>">
+    <label for="<?php echo $this->getFieldId('firstname')?>" class="label"><span><?php echo __('Name')?></span></label>
+    <div class="control">
+        <div class="fields group group-<?php echo 2 + intval($prefix) + intval($middle) + intval($suffix)?>">
+<?php endif; ?>
+<?php if ($prefix): ?>
+    <div class="field name-prefix<?php if ($this->isPrefixRequired()) echo ' required' ?>">
+        <label class="label" for="<?php echo $this->getFieldId('prefix')?>"><span><?php echo $this->getStoreLabel('prefix') ?></span></label>
+        <div class="control">
+            <?php if ($this->getPrefixOptions() === false): ?>
+                <input type="text" id="<?php echo $this->getFieldId('prefix')?>" name="<?php echo $this->getFieldName('prefix')?>" value="<?php echo $this->escapeHtml($this->getObject()->getPrefix()) ?>" title="<?php echo $this->getStoreLabel('prefix') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('prefix') ?>" <?php echo $this->getFieldParams() ?> <?php if ($this->isPrefixRequired()) echo ' data-validate="{required:true}"' ?> />
+            <?php else: ?>
+                <select id="<?php echo $this->getFieldId('prefix')?>" name="<?php echo $this->getFieldName('prefix')?>" title="<?php echo $this->getStoreLabel('prefix') ?>" class="<?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('prefix') ?>" <?php echo $this->getFieldParams() ?> <?php if ($this->isPrefixRequired()) echo ' data-validate="{required:true}"' ?> >
+                <?php foreach ($this->getPrefixOptions() as $_option): ?>
+                    <option value="<?php echo $_option?>"<?php if ($this->getObject()->getPrefix()==$_option):?> selected="selected"<?php endif; ?>><?php echo __($_option)?></option>
+                <?php endforeach; ?>
+                </select>
+            <?php endif; ?>
+        </div>
+    </div>
+<?php endif; ?>
+    <div class="field name-firstname required">
+        <label class="label" for="<?php echo $this->getFieldId('firstname')?>"><span><?php echo $this->getStoreLabel('firstname') ?></span></label>
+        <div class="control">
+            <input type="text" id="<?php echo $this->getFieldId('firstname')?>" name="<?php echo $this->getFieldName('firstname')?>" value="<?php echo $this->escapeHtml($this->getObject()->getFirstname()) ?>" title="<?php echo $this->getStoreLabel('firstname') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('firstname') ?>" <?php echo $this->getFieldParams() ?> <?php if ($this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('firstname') == 'required-entry') echo ' data-validate="{required:true}"' ?> />
+        </div>
+    </div>
+<?php if ($middle): ?>
+<?php $isMiddlenameRequired = $this->isMiddlenameRequired(); ?>
+    <div class="field name-middlename<?php echo $isMiddlenameRequired ? ' required' : '' ?>">
+        <label class="label" for="<?php echo $this->getFieldId('middlename')?>"><span><?php echo $this->getStoreLabel('middlename') ?></span></label>
+        <div class="control">
+            <input type="text" id="<?php echo $this->getFieldId('middlename')?>" name="<?php echo $this->getFieldName('middlename')?>" value="<?php echo $this->escapeHtml($this->getObject()->getMiddlename()) ?>" title="<?php echo $this->getStoreLabel('middlename') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('middlename') ?>" <?php echo $this->getFieldParams() ?> <?php echo $isMiddlenameRequired ? ' data-validate="{required:true}"' : '' ?> />
+        </div>
+    </div>
+<?php endif; ?>
+    <div class="field name-lastname required">
+        <label class="label" for="<?php echo $this->getFieldId('lastname')?>"><span><?php echo $this->getStoreLabel('lastname') ?></span></label>
+        <div class="control">
+            <input type="text" id="<?php echo $this->getFieldId('lastname')?>" name="<?php echo $this->getFieldName('lastname')?>" value="<?php echo $this->escapeHtml($this->getObject()->getLastname()) ?>" title="<?php echo $this->getStoreLabel('lastname') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('lastname') ?>" <?php echo $this->getFieldParams() ?> <?php if ($this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('lastname') == 'required-entry') echo ' data-validate="{required:true}"' ?> />
+        </div>
+    </div>
+<?php if ($suffix): ?>
+    <div class="field name-suffix<?php if ($this->isSuffixRequired()) echo ' required' ?>">
+        <label class="label" for="<?php echo $this->getFieldId('suffix')?>"><span><?php echo $this->getStoreLabel('suffix') ?></span></label>
+        <div class="control">
+        <?php if ($this->getSuffixOptions() === false): ?>
+            <input type="text" id="<?php echo $this->getFieldId('suffix')?>" name="<?php echo $this->getFieldName('suffix')?>" value="<?php echo $this->escapeHtml($this->getObject()->getSuffix()) ?>" title="<?php echo $this->getStoreLabel('suffix') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('suffix') ?>" <?php echo $this->getFieldParams() ?> <?php if ($this->isSuffixRequired()) echo ' data-validate="{required:true}"' ?> />
+        <?php else: ?>
+            <select id="<?php echo $this->getFieldId('suffix')?>" name="<?php echo $this->getFieldName('suffix')?>" title="<?php echo $this->getStoreLabel('suffix') ?>" class="<?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('suffix') ?>" <?php echo $this->getFieldParams() ?> <?php if ($this->isSuffixRequired()) echo ' data-validate="{required:true}"' ?>>
+            <?php foreach ($this->getSuffixOptions() as $_option): ?>
+                <option value="<?php echo $_option?>"<?php if ($this->getObject()->getSuffix()==$_option):?> selected="selected"<?php endif; ?>><?php echo __($_option)?></option>
+            <?php endforeach; ?>
+            </select>
+        <?php endif; ?>
+        </div>
+    </div>
+<?php endif; ?>
+<?php if ($prefix || $middle || $suffix && !$this->getNoWrap()): ?>
+        </div>
+    </div>
+</div>
+<?php endif; ?>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/widget/taxvat.phtml b/app/design/frontend/magento_plushe/Magento_Customer/widget/taxvat.phtml
new file mode 100644
index 00000000000..57fc40a725d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/widget/taxvat.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="field taxvat<?php if ($this->isRequired()) echo ' required'; ?>">
+    <label class="label" for="<?php echo $this->getFieldId('taxvat')?>"><span><?php echo __('Tax/VAT number') ?></span></label>
+    <div class="control">
+        <input type="text" id="<?php echo $this->getFieldId('taxvat')?>" name="<?php echo $this->getFieldName('taxvat')?>" value="<?php echo $this->escapeHtml($this->getTaxvat()) ?>" title="<?php echo __('Tax/VAT number') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('taxvat') ?>" <?php echo $this->getFieldParams() ?> <?php if ($this->isRequired()) echo ' data-validate="{required:true}"' ?> />
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_DesignEditor/controls/image_sizing.xml b/app/design/frontend/magento_plushe/Magento_DesignEditor/controls/image_sizing.xml
new file mode 100644
index 00000000000..2d4d9e45b79
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_DesignEditor/controls/image_sizing.xml
@@ -0,0 +1,787 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Magento
+ * @package     Magento_DesignEditor
+ * @subpackage  integration_tests
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+ -->
+<controls>
+    <control name="product_image_border" title="Product image white borders">
+        <type>white-border</type>
+        <components>
+            <control name="product_image_border:white-border">
+                <type>white-border</type>
+                <var>Magento_Catalog::product_image_white_borders</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="review_page_product_image" title="Review Page Product Image">
+        <type>image-sizing</type>
+        <components>
+            <control name="review_page_product_image-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::review_page_product_image:type</var>
+            </control>
+            <control name="review_page_product_image-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::review_page_product_image:width</var>
+            </control>
+            <control name="review_page_product_image-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::review_page_product_image:ratio</var>
+            </control>
+            <control name="review_page_product_image-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::review_page_product_image:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="customer_account_product_review_page" title="Customer Account: Product Review Page">
+        <type>image-sizing</type>
+        <components>
+            <control name="customer_account_product_review_page-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::customer_account_product_review_page:type</var>
+            </control>
+            <control name="customer_account_product_review_page-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::customer_account_product_review_page:width</var>
+            </control>
+            <control name="customer_account_product_review_page-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::customer_account_product_review_page:ratio</var>
+            </control>
+            <control name="customer_account_product_review_page-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::customer_account_product_review_page:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="category_page_list" title="Category Page - List View">
+        <type>image-sizing</type>
+        <components>
+            <control name="category_page_list-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::category_page_list:type</var>
+            </control>
+            <control name="category_page_list-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::category_page_list:width</var>
+            </control>
+            <control name="category_page_list-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::category_page_list:ratio</var>
+            </control>
+            <control name="category_page_list-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::category_page_list:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="category_page_grid" title="Category Page - Grid View">
+        <type>image-sizing</type>
+        <components>
+            <control name="category_page_grid-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::category_page_grid:type</var>
+            </control>
+            <control name="category_page_grid-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::category_page_grid:width</var>
+            </control>
+            <control name="category_page_grid-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::category_page_grid:ratio</var>
+            </control>
+            <control name="category_page_grid-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::category_page_grid:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="product_comparison_list" title="Product Comparison List">
+        <type>image-sizing</type>
+        <components>
+            <control name="product_comparison_list-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::product_comparison_list:type</var>
+            </control>
+            <control name="product_comparison_list-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::product_comparison_list:width</var>
+            </control>
+            <control name="product_comparison_list-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::product_comparison_list:ratio</var>
+            </control>
+            <control name="product_comparison_list-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::product_comparison_list:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="related_products_list" title="Related Products List">
+        <type>image-sizing</type>
+        <components>
+            <control name="related_products_list-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::related_products_list:type</var>
+            </control>
+            <control name="related_products_list-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::related_products_list:width</var>
+            </control>
+            <control name="related_products_list-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::related_products_list:ratio</var>
+            </control>
+            <control name="related_products_list-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::related_products_list:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="upsell_products_list" title="Up-sell Products List">
+        <type>image-sizing</type>
+        <components>
+            <control name="upsell_products_list-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::upsell_products_list:type</var>
+            </control>
+            <control name="upsell_products_list-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::upsell_products_list:width</var>
+            </control>
+            <control name="upsell_products_list-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::upsell_products_list:ratio</var>
+            </control>
+            <control name="upsell_products_list-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::upsell_products_list:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="product_page_main_image" title="Product Page Main Image">
+        <type>image-sizing</type>
+        <components>
+            <control name="product_page_main_image-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::product_page_main_image:type</var>
+            </control>
+            <control name="product_page_main_image-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::product_page_main_image:width</var>
+            </control>
+            <control name="product_page_main_image-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::product_page_main_image:ratio</var>
+            </control>
+            <control name="product_page_main_image-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::product_page_main_image:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="product_page_main_image_default" title="Product Page Main Image (Default)">
+        <type>image-sizing</type>
+        <components>
+            <control name="product_page_main_image_default-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::product_page_main_image_default:type</var>
+            </control>
+            <control name="product_page_main_image_default-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::product_page_main_image_default:width</var>
+            </control>
+            <control name="product_page_main_image_default-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::product_page_main_image_default:ratio</var>
+            </control>
+            <control name="product_page_main_image_default-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::product_page_main_image_default:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="product_page_more_views" title="Product Page - More Views">
+        <type>image-sizing</type>
+        <components>
+            <control name="product_page_more_views-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::product_page_more_views:type</var>
+            </control>
+            <control name="product_page_more_views-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::product_page_more_views:width</var>
+            </control>
+            <control name="product_page_more_views-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::product_page_more_views:ratio</var>
+            </control>
+            <control name="product_page_more_views-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::product_page_more_views:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="side_column_widget_product_thumbnail" title="Side Column Widget Product Thumbnail">
+        <type>image-sizing</type>
+        <components>
+            <control name="side_column_widget_product_thumbnail-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::side_column_widget_product_thumbnail:type</var>
+            </control>
+            <control name="side_column_widget_product_thumbnail-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::side_column_widget_product_thumbnail:width</var>
+            </control>
+            <control name="side_column_widget_product_thumbnail-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::side_column_widget_product_thumbnail:ratio</var>
+            </control>
+            <control name="side_column_widget_product_thumbnail-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::side_column_widget_product_thumbnail:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="new_products_content_widget_list" title="New Products Content Widget - List View">
+        <type>image-sizing</type>
+        <components>
+            <control name="new_products_content_widget_list-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::new_products_content_widget_list:type</var>
+            </control>
+            <control name="new_products_content_widget_list-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::new_products_content_widget_list:width</var>
+            </control>
+            <control name="new_products_content_widget_list-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::new_products_content_widget_list:ratio</var>
+            </control>
+            <control name="new_products_content_widget_list-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::new_products_content_widget_list:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="new_products_content_widget_grid" title="New Products Content Widget - Grid View">
+        <type>image-sizing</type>
+        <components>
+            <control name="new_products_content_widget_grid-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::new_products_content_widget_grid:type</var>
+            </control>
+            <control name="new_products_content_widget_grid-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::new_products_content_widget_grid:width</var>
+            </control>
+            <control name="new_products_content_widget_grid-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::new_products_content_widget_grid:ratio</var>
+            </control>
+            <control name="new_products_content_widget_grid-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::new_products_content_widget_grid:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_compared_products_images_names_widget" title="Recently Compared Products Images and Names Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_compared_products_images_names_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_compared_products_images_names_widget:type</var>
+            </control>
+            <control name="recently_compared_products_images_names_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_compared_products_images_names_widget:width</var>
+            </control>
+            <control name="recently_compared_products_images_names_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_compared_products_images_names_widget:ratio</var>
+            </control>
+            <control name="recently_compared_products_images_names_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_compared_products_images_names_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_viewed_products_images_names_widget" title="Recently Viewed Products Images and Names Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_viewed_products_images_names_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_viewed_products_images_names_widget:type</var>
+            </control>
+            <control name="recently_viewed_products_images_names_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_viewed_products_images_names_widget:width</var>
+            </control>
+            <control name="recently_viewed_products_images_names_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_viewed_products_images_names_widget:ratio</var>
+            </control>
+            <control name="recently_viewed_products_images_names_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_viewed_products_images_names_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_compared_products_images_only_widget" title="Recently Compared Products Images Only Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_compared_products_images_only_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_compared_products_images_only_widget:type</var>
+            </control>
+            <control name="recently_compared_products_images_only_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_compared_products_images_only_widget:width</var>
+            </control>
+            <control name="recently_compared_products_images_only_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_compared_products_images_only_widget:ratio</var>
+            </control>
+            <control name="recently_compared_products_images_only_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_compared_products_images_only_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_viewed_products_images_only_widget" title="Recently Viewed Products Images Only Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_viewed_products_images_only_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_viewed_products_images_only_widget:type</var>
+            </control>
+            <control name="recently_viewed_products_images_only_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_viewed_products_images_only_widget:width</var>
+            </control>
+            <control name="recently_viewed_products_images_only_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_viewed_products_images_only_widget:ratio</var>
+            </control>
+            <control name="recently_viewed_products_images_only_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_viewed_products_images_only_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="bundled_product_customization_page" title="Bundle Product - Customization Page">
+        <type>image-sizing</type>
+        <components>
+            <control name="bundled_product_customization_page-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::bundled_product_customization_page:type</var>
+            </control>
+            <control name="bundled_product_customization_page-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::bundled_product_customization_page:width</var>
+            </control>
+            <control name="bundled_product_customization_page-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::bundled_product_customization_page:ratio</var>
+            </control>
+            <control name="bundled_product_customization_page-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::bundled_product_customization_page:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_compared_products_grid_content_widget" title="Recently Compared Products Grid View Content Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_compared_products_grid_content_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_compared_products_grid_content_widget:type</var>
+            </control>
+            <control name="recently_compared_products_grid_content_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_compared_products_grid_content_widget:width</var>
+            </control>
+            <control name="recently_compared_products_grid_content_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_compared_products_grid_content_widget:ratio</var>
+            </control>
+            <control name="recently_compared_products_grid_content_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_compared_products_grid_content_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_compared_products_list_content_widget" title="Recently Compared Products List View Content Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_compared_products_list_content_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_compared_products_list_content_widget:type</var>
+            </control>
+            <control name="recently_compared_products_list_content_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_compared_products_list_content_widget:width</var>
+            </control>
+            <control name="recently_compared_products_list_content_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_compared_products_list_content_widget:ratio</var>
+            </control>
+            <control name="recently_compared_products_list_content_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_compared_products_list_content_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_viewed_products_grid_content_widget" title="Recently Viewed Products Grid View Content Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_viewed_products_grid_content_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_viewed_products_grid_content_widget:type</var>
+            </control>
+            <control name="recently_viewed_products_grid_content_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_viewed_products_grid_content_widget:width</var>
+            </control>
+            <control name="recently_viewed_products_grid_content_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_viewed_products_grid_content_widget:ratio</var>
+            </control>
+            <control name="recently_viewed_products_grid_content_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_viewed_products_grid_content_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_viewed_products_list_content_widget" title="Recently Viewed Products List View Content Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_viewed_products_list_content_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_viewed_products_list_content_widget:type</var>
+            </control>
+            <control name="recently_viewed_products_list_content_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_viewed_products_list_content_widget:width</var>
+            </control>
+            <control name="recently_viewed_products_list_content_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_viewed_products_list_content_widget:ratio</var>
+            </control>
+            <control name="recently_viewed_products_list_content_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_viewed_products_list_content_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="customer_shared_wishlist" title="Customer's Shared Wishlist">
+        <type>image-sizing</type>
+        <components>
+            <control name="customer_shared_wishlist-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::customer_shared_wishlist:type</var>
+            </control>
+            <control name="customer_shared_wishlist-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::customer_shared_wishlist:width</var>
+            </control>
+            <control name="customer_shared_wishlist-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::customer_shared_wishlist:ratio</var>
+            </control>
+            <control name="customer_shared_wishlist-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::customer_shared_wishlist:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="wishlist_thumbnail" title="Wishlist Thumbnail">
+        <type>image-sizing</type>
+        <components>
+            <control name="wishlist_thumbnail-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::wishlist_thumbnail:type</var>
+            </control>
+            <control name="wishlist_thumbnail-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::wishlist_thumbnail:width</var>
+            </control>
+            <control name="wishlist_thumbnail-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::wishlist_thumbnail:ratio</var>
+            </control>
+            <control name="wishlist_thumbnail-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::wishlist_thumbnail:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="wishlist_sidebar_block" title="Wishlist Sidebar Block">
+        <type>image-sizing</type>
+        <components>
+            <control name="wishlist_sidebar_block-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::wishlist_sidebar_block:type</var>
+            </control>
+            <control name="wishlist_sidebar_block-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::wishlist_sidebar_block:width</var>
+            </control>
+            <control name="wishlist_sidebar_block-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::wishlist_sidebar_block:ratio</var>
+            </control>
+            <control name="wishlist_sidebar_block-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::wishlist_sidebar_block:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="shared_wishlist_email" title="Shared Wishlist Email">
+        <type>image-sizing</type>
+        <components>
+            <control name="shared_wishlist_email-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::shared_wishlist_email:type</var>
+            </control>
+            <control name="shared_wishlist_email-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::shared_wishlist_email:width</var>
+            </control>
+            <control name="shared_wishlist_email-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::shared_wishlist_email:ratio</var>
+            </control>
+            <control name="shared_wishlist_email-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::shared_wishlist_email:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="customer_account_my_tags_tag_view" title="Customer Account: My Tags - Tag View">
+        <type>image-sizing</type>
+        <components>
+            <control name="customer_account_my_tags_tag_view-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::customer_account_my_tags_tag_view:type</var>
+            </control>
+            <control name="customer_account_my_tags_tag_view-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::customer_account_my_tags_tag_view:width</var>
+            </control>
+            <control name="customer_account_my_tags_tag_view-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::customer_account_my_tags_tag_view:ratio</var>
+            </control>
+            <control name="customer_account_my_tags_tag_view-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::customer_account_my_tags_tag_view:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="cart_cross_sell_products" title="Cart Cross-sell Products">
+        <type>image-sizing</type>
+        <components>
+            <control name="cart_cross_sell_products-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::cart_cross_sell_products:type</var>
+            </control>
+            <control name="cart_cross_sell_products-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::cart_cross_sell_products:width</var>
+            </control>
+            <control name="cart_cross_sell_products-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::cart_cross_sell_products:ratio</var>
+            </control>
+            <control name="cart_cross_sell_products-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::cart_cross_sell_products:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="gift_messages_checkout_thumbnail" title="Gift Messages on Checkout (Thumbnail)">
+        <type>image-sizing</type>
+        <components>
+            <control name="gift_messages_checkout_thumbnail-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::gift_messages_checkout_thumbnail:type</var>
+            </control>
+            <control name="gift_messages_checkout_thumbnail-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::gift_messages_checkout_thumbnail:width</var>
+            </control>
+            <control name="gift_messages_checkout_thumbnail-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::gift_messages_checkout_thumbnail:ratio</var>
+            </control>
+            <control name="gift_messages_checkout_thumbnail-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::gift_messages_checkout_thumbnail:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="gift_messages_checkout_small_image" title="Gift Messages on Checkout (Small Image)">
+        <type>image-sizing</type>
+        <components>
+            <control name="gift_messages_checkout_small_image-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::gift_messages_checkout_small_image:type</var>
+            </control>
+            <control name="gift_messages_checkout_small_image-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::gift_messages_checkout_small_image:width</var>
+            </control>
+            <control name="gift_messages_checkout_small_image-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::gift_messages_checkout_small_image:ratio</var>
+            </control>
+            <control name="gift_messages_checkout_small_image-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::gift_messages_checkout_small_image:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="mini_cart_product_thumbnail" title="Mini Cart Product Thumbnail">
+        <type>image-sizing</type>
+        <components>
+            <control name="mini_cart_product_thumbnail-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::mini_cart_product_thumbnail:type</var>
+            </control>
+            <control name="mini_cart_product_thumbnail-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::mini_cart_product_thumbnail:width</var>
+            </control>
+            <control name="mini_cart_product_thumbnail-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::mini_cart_product_thumbnail:ratio</var>
+            </control>
+            <control name="mini_cart_product_thumbnail-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::mini_cart_product_thumbnail:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="new_products_images_only_widget" title="New Products Images Only Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="new_products_images_only_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::new_products_images_only_widget:type</var>
+            </control>
+            <control name="new_products_images_only_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::new_products_images_only_widget:width</var>
+            </control>
+            <control name="new_products_images_only_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::new_products_images_only_widget:ratio</var>
+            </control>
+            <control name="new_products_images_only_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::new_products_images_only_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="cart_page_product_thumbnail" title="Cart Page - Product Thumbnail">
+        <type>image-sizing</type>
+        <components>
+            <control name="cart_page_product_thumbnail-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::cart_page_product_thumbnail:type</var>
+            </control>
+            <control name="cart_page_product_thumbnail-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::cart_page_product_thumbnail:width</var>
+            </control>
+            <control name="cart_page_product_thumbnail-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::cart_page_product_thumbnail:ratio</var>
+            </control>
+            <control name="cart_page_product_thumbnail-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::cart_page_product_thumbnail:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="product_stock_alert_email_product_image" title="Product Stock Alert Email Product Image">
+        <type>image-sizing</type>
+        <components>
+            <control name="product_stock_alert_email_product_image-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::product_stock_alert_email_product_image:type</var>
+            </control>
+            <control name="product_stock_alert_email_product_image-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::product_stock_alert_email_product_image:width</var>
+            </control>
+            <control name="product_stock_alert_email_product_image-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::product_stock_alert_email_product_image:ratio</var>
+            </control>
+            <control name="product_stock_alert_email_product_image-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::product_stock_alert_email_product_image:height</var>
+            </control>
+        </components>
+    </control>
+</controls>
diff --git a/app/design/frontend/magento_plushe/Magento_DesignEditor/controls/quick_styles.xml b/app/design/frontend/magento_plushe/Magento_DesignEditor/controls/quick_styles.xml
new file mode 100644
index 00000000000..d3956d3d849
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_DesignEditor/controls/quick_styles.xml
@@ -0,0 +1,1118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Magento
+ * @package     Magento_DesignEditor
+ * @subpackage  integration_tests
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+ -->
+<controls>
+    <control name="store-name" title="Store Name" tab="header" column="left">
+        <type>logo</type>
+        <components>
+            <control name="store-name:font">
+                <type>font</type>
+                <components>
+                    <control name="store-name:font-picker">
+                        <type>font-picker</type>
+                        <selector><![CDATA[.logo]]></selector>
+                        <attribute>font-family</attribute>
+                        <options>
+                            <option>"marvel"</option>
+                            <option>Tahoma, Geneva, sans-serif</option>
+                            <option>Georgia, serif</option>
+                            <option>Impact, Charcoal, sans-serif</option>
+                            <option>‘Palatino Linotype’, ‘Book Antiqua’, Palatino, serif</option>
+                            <option>Century Gothic, sans-serif</option>
+                            <option>‘Lucida Sans Unicode’, ‘Lucida Grande’, sans-serif</option>
+                            <option>‘Arial Black’, Gadget, sans-serif</option>
+                            <option>‘Times New Roman’, Times, serif</option>
+                            <option>‘Arial Narrow’, sans-serif</option>
+                            <option>Verdana, Geneva, sans-serif</option>
+                            <option>Copperplate / Copperplate Gothic Light, sans-serif</option>
+                            <option>‘Lucida Console’, Monaco, monospace</option>
+                            <option>‘Trebuchet MS’, Helvetica, sans-serif</option>
+                            <option>‘Courier New’, Courier, monospace</option>
+                            <option>Arial, Helvetica, sans-serif</option>
+                        </options>
+                        <var>Magento_DesignEditor::store-name:font-picker</var>
+                    </control>
+                    <control name="store-name:color-picker">
+                        <type>color-picker</type>
+                        <selector><![CDATA[.logo span]]></selector>
+                        <attribute>color</attribute>
+                        <var>Magento_DesignEditor::store-name:color-picker</var>
+                    </control>
+                </components>
+            </control>
+            <control name="store-name:logo-uploader">
+                <type>logo-uploader</type>
+                <selector></selector>
+                <attribute></attribute>
+                <var>Magento_DesignEditor::store-name:logo-uploader</var>
+            </control>
+        </components>
+    </control>
+    <control name="header-background" title="Background" tab="header" column="left">
+        <type>background</type>
+        <components>
+            <control name="header-background:color-picker">
+                <type>color-picker</type>
+                <selector><![CDATA[.header]]></selector>
+                <attribute>background-color</attribute>
+                <var>Magento_DesignEditor::header-background:color-picker</var>
+            </control>
+            <control name="header-background:background-uploader">
+                <type>background-uploader</type>
+                <components>
+                    <control name="header-background:image-uploader">
+                        <type>image-uploader</type>
+                        <selector><![CDATA[.header]]></selector>
+                        <attribute>background-image</attribute>
+                        <var>Magento_DesignEditor::header-background:image-uploader</var>
+                    </control>
+                    <control name="header-background:tile">
+                        <type>checkbox</type>
+                        <selector><![CDATA[.header]]></selector>
+                        <attribute>background-repeat</attribute>
+                        <options>
+                            <option>no-repeat</option>
+                            <option>repeat</option>
+                            <option>repeat-x</option>
+                            <option>repeat-y</option>
+                            <option>inherit</option>
+                        </options>
+                        <var>Magento_DesignEditor::header-background:tile</var>
+                    </control>
+                </components>
+            </control>
+        </components>
+    </control>
+
+    <control name="menu-background" title="Menu Background" tab="header" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .navigation > ul > .level-top > .submenu,
+            .navigation > ul > .level-top.more > .submenu > ul,
+            .level-top.more.hover:after,
+            .switcher .options > ul
+        ]]></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::menu-background</var>
+    </control>
+    <control name="menu-stroke" title="Menu Stroke" tab="header" column="middle">
+        <type>color-picker</type>
+        <selector>
+            .navigation > ul > .level-top > .submenu,
+            .switcher .options > ul
+        </selector>
+        <attribute>border-color</attribute>
+        <var>Magento_DesignEditor::menu-stroke</var>
+    </control>
+    <control name="menu-links" title="Menu Links" tab="header" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .navigation > ul > .level-top > .submenu a,
+            .navigation > ul > .level-top > .submenu a span
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::menu-links</var>
+    </control>
+    <control name="menu-links-hover" title="Menu Links Hover" tab="header" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .navigation > ul > .level-top > .submenu a:hover,
+            .navigation > ul > .level-top > .submenu a:hover span
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::menu-links-hover</var>
+    </control>
+
+    <control name="header-links" title="Header Links" tab="header" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .navigation > ul > .level-top > a,
+            .navigation > ul > .level-top > a > span,
+            .action.showcart,
+            .header > .content .links a,
+            .switcher .options > ul a,
+            .action.switch
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::header-links</var>
+    </control>
+    <control name="header-links-hover" title="Header Links Hover" tab="header" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .navigation > ul > .level-top > a:hover,
+            .navigation > ul > .level-top > a:hover > span,
+            .navigation > ul > .level-top > a:active span,
+            .navigation > ul > .level-top > a:focus span,
+            .navigation > ul > .level-top.hover:hover > a span,
+            .navigation > ul > .level-top.hover.parent.hover > a span,
+            .navigation > ul > .level-top.hover.parent > a span,
+            .action.showcart:hover,
+            .action.showcart:active,
+            .action.showcart:focus,
+            .action.showcart.active,
+            .header > .content .links a:hover,
+            .switcher .options > ul a:hover,
+            .action.switch:focus,
+            .action.switch:hover,
+            .action.switch.active
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::header-links-hover</var>
+    </control>
+    <!--
+    <control name="header-scroll-bar-background" title="Scroll Bar Background" tab="header" column="right">
+        <type>color-picker</type>
+        <selector>.scroll</selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::header-scroll-bar-background</var>
+    </control>
+    <control name="header-scroll-bar-handle" title="Scroll Bar Handle" tab="header" column="right">
+        <type>color-picker</type>
+        <selector>.scroll .handle</selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::header-scroll-bar-handle</var>
+    </control>
+-->
+    <control name="search-field" title="Search Field" tab="header" column="right">
+        <type>color-picker</type>
+        <selector>
+            .block.search input,
+            .block.search .action.search
+        </selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::search-field</var>
+    </control>
+    <control name="search-field-text" title="Search Field Text, Search Icon" tab="header" column="right">
+        <type>color-picker</type>
+        <selector>
+            .block.search input,
+            .block.search .action.search span,
+            .block.search input[type="password"]::-webkit-input-placeholder,
+            .block.search input[type="text"]::-webkit-input-placeholder
+        </selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::search-field-text</var>
+    </control>
+    <control name="search-field-stroke" title="Search Field Stroke" tab="header" column="right">
+        <type>color-picker</type>
+        <selector>
+            .block.search input,
+            .block.search .action.search
+        </selector>
+        <attribute>border-color</attribute>
+        <var>Magento_DesignEditor::search-field-stroke</var>
+    </control>
+
+
+    <control name="page-background" title="Page Background" tab="backgrounds" column="left">
+        <type>background</type>
+        <components>
+            <control name="page-background:color-picker">
+                <type>color-picker</type>
+                <selector><![CDATA[
+                    .page.wrapper,
+                    .product.data > .item.title:not(.disabled) > .switch:active,
+                    .product.data > .item.title:not(.disabled) > .switch:focus,
+                    .product.data > .item.title:not(.disabled) > .switch:hover,
+                    .product.data > .item.title.active > .switch,
+                    .footer
+                ]]></selector>
+                <attribute>background-color</attribute>
+                <var>Magento_DesignEditor::page-background:color-picker</var>
+            </control>
+            <control name="page-background:background-uploader">
+                <type>background-uploader</type>
+                <components>
+                    <control name="page-background:image-uploader">
+                        <type>image-uploader</type>
+                        <selector><![CDATA[
+                            .page.wrapper,
+                            .footer
+                        ]]></selector>
+                        <attribute>background-image</attribute>
+                        <var>Magento_DesignEditor::page-background:image-uploader</var>
+                    </control>
+                    <control name="page-background:tile">
+                        <type>checkbox</type>
+                        <selector><![CDATA[
+                            .page.wrapper,
+                            .footer
+                        ]]></selector>
+                        <attribute>background-repeat</attribute>
+                        <options>
+                            <option>no-repeat</option>
+                            <option>repeat</option>
+                            <option>repeat-x</option>
+                            <option>repeat-y</option>
+                            <option>inherit</option>
+                        </options>
+                        <var>Magento_DesignEditor::page-background:tile</var>
+                    </control>
+                </components>
+            </control>
+        </components>
+    </control>
+
+    <control name="form-background" title="Form Background" tab="backgrounds" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .login.container,
+            .block.add.review,
+            .opc.wrapper > .opc .section > .step,
+            .opc.wrapper > .opc .section.active > .step-title,
+            .items.data tbody:nth-child(even) tr,
+            .cart.summary,
+            .minicart.wrapper .block.minicart,
+            .prices.tier,
+            .form.send.friend .fieldset,
+            .form.address.edit .fieldset,
+            .form.edit.account .fieldset,
+            .form.search.advanced,
+            .form.orders.search,
+            .form.contact,
+            .form.password.forget .fieldset,
+            .form.create.account .fieldset,
+            .form.wishlist.share .fieldset,
+            .block.dashboard:not(.welcome):not(.orders) .content,
+            .block.reviews.list .item.review:nth-child(odd),
+            .fieldset.bundle.options > .field,
+            .block.bundle.summary,
+            .data.table.reviews tbody tr:nth-child(even) td,
+            .data.table.wishlist tbody tr:nth-child(even),
+            .data.table.tags tbody tr:nth-child(even) td,
+            .data.comparison tr:nth-child(odd) .cell.attribute
+        ]]></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::form-background</var>
+    </control>
+    <!--
+    <control name="form-stroke" title="Form 1 Stroke" tab="backgrounds" column="middle">
+        <type>color-picker</type>
+        <selector></selector>
+        <attribute>border-color</attribute>
+        <var>Magento_DesignEditor::form-stroke</var>
+    </control>
+    <control name="form2-background" title="Form 2 Background" tab="backgrounds" column="middle">
+        <type>color-picker</type>
+        <selector></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::form2-background</var>
+    </control>
+    <control name="form2-stroke" title="Form 2 Stroke" tab="backgrounds" column="middle">
+        <type>color-picker</type>
+        <selector></selector>
+        <attribute>border-color</attribute>
+        <var>Magento_DesignEditor::form2-stroke</var>
+    </control>
+    -->
+    <control name="form-field-stroke" title="Form Field Stroke" tab="backgrounds" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[input[type="password"], input[type="text"], select, textarea, .fieldset > .field .addon .addbefore, .fieldset > .field .addon .addafter, .product.main.info .product.options.wrapper .field .addon .addbefore, .product.main.info .product.options.wrapper .field .addon .addafter, .form.password.forget .fieldset > .field .addon .addbefore, .form.create.account .fieldset > .field .addon .addbefore, .form.password.forget .fieldset > .field .addon .addafter, .form.create.account .fieldset > .field .addon .addafter, .block.add.review .fieldset > .field:not(.ratings) .addon .addbefore, .block.add.review .fieldset > .field:not(.ratings) .addon .addafter]]></selector>
+        <attribute>border-color</attribute>
+        <var>Magento_DesignEditor::form-field-stroke</var>
+    </control>
+    <control name="form-field-stroke-clicked" title="Form Field Stroke Clicked" tab="backgrounds" column="right">
+        <type>color-picker</type>
+        <selector>
+            input[type="password"]:focus,
+            input[type="text"]:focus,
+            select:focus,
+            textarea:focus
+        </selector>
+        <attribute>border-color</attribute>
+        <var>Magento_DesignEditor::form-field-stroke-clicked</var>
+    </control>
+    <control name="image-stroke-keylines" title="Image Stroke &amp; Keylines" tab="backgrounds" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .opc.wrapper > .opc .section > .step:before,
+            .step.login.wrapper .block.guest:before,
+            .order.data.items tfoot tr:first-child td,
+            .items.data .item.actions td:before,
+            .cart.summary .summary.title,
+            .cart.summary .block,
+            .data-table td,
+
+            .data.comparison .cell.product.info,
+            .data.comparison .addto.links,
+            .data.comparison .cell.label,
+            .data.comparison .cell.label.product,
+            .data.comparison .cell.label,
+            .data.comparison td:last-child,
+
+            .block.widget.viewed,
+            .block.crosssell,
+            .block.upsell,
+            .block.related,
+            .block.widget.viewed .products.list .item.product .addto.links,
+            .block.crosssell .products.list .item.product .addto.links,
+            .block.upsell .products.list .item.product .addto.links,
+            .block.related .products.list .item.product .addto.links,
+            .product.info.detailed + .block.upsell,
+            .product.info.detailed + .block.related,
+            .toolbar.alternative .pages,
+            .toolbar.alternative .amount,
+            .toolbar.alternative .limiter,
+            .toolbar .options,
+            .product.info.main .page.title.product + .price-box,
+            .product.info.main .product.addto.links,
+            .block.bundle.summary > .title,
+            .block.bundle.summary .photo,
+            .block.bundle.summary .box.tocart,
+            .block.bundle.summary .subtitle,
+            .product.photo.thumbs .item.thumb .active img,
+
+            .login.container .block.new:before,
+            .block.filter .filtered .item,
+            .block.add.review .fieldset > .legend,
+            .data.table.tags tbody td,
+            .data.table.reviews tbody td
+        ]]></selector>
+        <attribute>border-color</attribute>
+        <var>Magento_DesignEditor::image-stroke-keylines</var>
+    </control>
+
+<!--     <control name="scroll-bar-background" title="Scroll Bar Background" tab="backgrounds" column="right">
+    <type>color-picker</type>
+    <selector>.menu a:hover</selector>
+    <attribute>color</attribute>
+    <var>Magento_DesignEditor::scroll-bar-background</var>
+</control>
+<control name="scroll-bar-handle" title="Scroll Bar Handle" tab="backgrounds" column="right">
+    <type>color-picker</type>
+    <selector>.menu a:hover</selector>
+    <attribute>color</attribute>
+    <var>Magento_DesignEditor::scroll-bar-handle</var>
+</control> -->
+
+    <control name="radio-checkbox-icon" title="Radio Buttons/Checkboxes Icon" tab="buttons" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::radio-checkbox-icon</var>
+    </control>
+    <control name="radio-checkbox-background" title="Radio Buttons/Checkboxes Background" tab="buttons" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::radio-checkbox-background</var>
+    </control>
+    <control name="radio-checkbox-stroke" title="Radio Buttons/Checkboxes Stroke" tab="buttons" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::radio-checkbox-stroke</var>
+    </control>
+
+    <control name="button-text" title="Buttons Text" tab="buttons" column="left">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .block.add.review .action.submit span,
+            .step.login.wrapper button.action:not(.reload) span,
+            .cart.summary .block .action span,
+            .action.checkout span,
+            .action.subscribe span,
+            .action.tocart span,
+            .action.primary.customize span,
+            .action.primary.tocart span,
+            .login.container .action.login span,
+            .login.container .action.create span,
+
+            .form.send.friend .action.save span,
+            .form.address.edit .action.save span,
+            .form.edit.account .action.save span,
+            .form.search.advanced .action.save span,
+            .form.orders.search .action.save span,
+            .form.contact .action.save span,
+            .form.password.forget .action.save span,
+            .form.create.account .action.save span,
+            .form.wishlist.share .action.save span,
+            .form.password.reset .action.save span,
+            .form.add.tag .action.save span,
+
+            .form.send.friend .action.submit span,
+            .form.address.edit .action.submit span,
+            .form.edit.account .action.submit span,
+            .form.search.advanced .action.submit span,
+            .form.orders.search .action.submit span,
+            .form.contact .action.submit span,
+            .form.password.forget .action.submit span,
+            .form.create.account .action.submit span,
+            .form.wishlist.share .action.submit span,
+            .form.password.reset .action.submit span,
+            .form.add.tag .action.submit span,
+
+            .form.send.friend .action.add span,
+            .form.address.edit .action.add span,
+            .form.edit.account .action.add span,
+            .form.search.advanced .action.add span,
+            .form.orders.search .action.add span,
+            .form.contact .action.add span,
+            .form.password.forget .action.add span,
+            .form.create.account .action.add span,
+            .form.wishlist.share .action.add span,
+            .form.password.reset .action.add span,
+            .form.add.tag .action.add span,
+
+            .form.newsletter.manage .action.save span,
+
+            .form.search.advanced .action span,
+            .form.orders.search .action span,
+            .form.contact .action span,
+
+            .banner.main .banner.action span,
+            .opc.wrapper .form:not(.login) .actions button.action span,
+
+            .data.table.wishlist + .actions .primary .action.share span,
+            .data.table.wishlist + .actions .primary .action.update span
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::button-text</var>
+    </control>
+    <control name="button-background" title="Buttons" tab="buttons" column="left">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .block.add.review .action.submit,
+            .step.login.wrapper button.action:not(.reload),
+            .cart.summary .block .action,
+            .action.checkout,
+            .action.subscribe,
+            .action.tocart,
+            .action.primary.customize,
+            .action.primary.tocart,
+            .login.container .action.login,
+            .login.container .action.create,
+
+            .form.send.friend .action.save,
+            .form.address.edit .action.save,
+            .form.edit.account .action.save,
+            .form.search.advanced .action.save,
+            .form.orders.search .action.save,
+            .form.contact .action.save,
+            .form.password.forget .action.save,
+            .form.create.account .action.save,
+            .form.wishlist.share .action.save,
+            .form.password.reset .action.save,
+            .form.add.tag .action.save,
+
+            .form.send.friend .action.submit,
+            .form.address.edit .action.submit,
+            .form.edit.account .action.submit,
+            .form.search.advanced .action.submit,
+            .form.orders.search .action.submit,
+            .form.contact .action.submit,
+            .form.password.forget .action.submit,
+            .form.create.account .action.submit,
+            .form.wishlist.share .action.submit,
+            .form.password.reset .action.submit,
+            .form.add.tag .action.submit,
+
+            .form.send.friend .action.add,
+            .form.address.edit .action.add,
+            .form.edit.account .action.add,
+            .form.search.advanced .action.add,
+            .form.orders.search .action.add,
+            .form.contact .action.add,
+            .form.password.forget .action.add,
+            .form.create.account .action.add,
+            .form.wishlist.share .action.add,
+            .form.password.reset .action.add,
+            .form.add.tag .action.add,
+
+            .form.newsletter.manage .action.save,
+
+            .form.search.advanced .action,
+            .form.orders.search .action,
+            .form.contact .action,
+
+            .banner.main .banner.action,
+            .opc.wrapper .form:not(.login) .actions button.action,
+
+            .data.table.wishlist + .actions .primary .action.share,
+            .data.table.wishlist + .actions .primary .action.update
+        ]]></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::button-background</var>
+    </control>
+    <control name="button-hover" title="Buttons Hover" tab="buttons" column="left">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .block.add.review .action.submit:hover,
+            .step.login.wrapper button.action:not(.reload):hover,
+            .cart.summary .block .action:hover,
+            .action.checkout:hover,
+            .action.subscribe:hover,
+            .action.tocart:hover,
+            .action.primary.customize:hover,
+            .action.primary.tocart:hover,
+            .login.container .action.login:hover,
+            .login.container .action.create:hover,
+
+            .form.send.friend .action.save:hover,
+            .form.address.edit .action.save:hover,
+            .form.edit.account .action.save:hover,
+            .form.search.advanced .action.save:hover,
+            .form.orders.search .action.save:hover,
+            .form.contact .action.save:hover,
+            .form.password.forget .action.save:hover,
+            .form.create.account .action.save:hover,
+            .form.wishlist.share .action.save:hover,
+            .form.password.reset .action.save:hover,
+            .form.add.tag .action.save:hover,
+
+            .form.send.friend .action.submit:hover,
+            .form.address.edit .action.submit:hover,
+            .form.edit.account .action.submit:hover,
+            .form.search.advanced .action.submit:hover,
+            .form.orders.search .action.submit:hover,
+            .form.contact .action.submit:hover,
+            .form.password.forget .action.submit:hover,
+            .form.create.account .action.submit:hover,
+            .form.wishlist.share .action.submit:hover,
+            .form.password.reset .action.submit:hover,
+            .form.add.tag .action.submit:hover,
+
+            .form.send.friend .action.add:hover,
+            .form.address.edit .action.add:hover,
+            .form.edit.account .action.add:hover,
+            .form.search.advanced .action.add:hover,
+            .form.orders.search .action.add:hover,
+            .form.contact .action.add:hover,
+            .form.password.forget .action.add:hover,
+            .form.create.account .action.add:hover,
+            .form.wishlist.share .action.add:hover,
+            .form.password.reset .action.add:hover,
+            .form.add.tag .action.add:hover,
+
+            .form.newsletter.manage .action.save:hover,
+
+            .form.search.advanced .action:hover,
+            .form.orders.search .action:hover,
+            .form.contact .action:hover,
+
+            .banner.main .banner.action:hover,
+            .opc.wrapper .form:not(.login) .actions button.action:hover,
+
+            .data.table.wishlist + .actions .primary .action.share:hover,
+            .data.table.wishlist + .actions .primary .action.update:hover
+        ]]></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::button-hover</var>
+    </control>
+    <control name="icons" title="Icons" tab="buttons" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .minicart.wrapper .action.previous span,
+            .minicart.wrapper .action.next span,
+            .action.delete span,
+            .toolbar .modes .mode span,
+            .toolbar .action.next span,
+            .toolbar .action.previous span,
+            .action.mailto span
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::icons</var>
+    </control>
+    <control name="icons-hover" title="Icons Hover" tab="buttons" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .minicart.wrapper .action.previous:hover span,
+            .minicart.wrapper .action.next:hover span,
+            .action.delete:hover span,
+            .toolbar .modes .mode:hover span,
+            .toolbar .action.next:hover span,
+            .toolbar .action.previous:hover span,
+            .action.mailto:hover span
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::icons-hover</var>
+    </control>
+    <!--
+    <control name="icons2" title="Icons 2" tab="buttons" column="middle">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::icons2</var>
+    </control>
+
+    <control name="accents" title="Accent Color" tab="buttons" column="right">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::accents</var>
+    </control>
+
+    <control name="size-swatches" title="Size Swatches" tab="buttons" column="right">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::size-swatches</var>
+    </control>
+    <control name="size-swatches-unavailable" title="Size Swatches (Unavailable Size)" tab="buttons" column="right">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::size-swatches-unavailable</var>
+    </control>
+    <control name="size-swatches-hover" title="Size Swatches Hover/Selected Stroke" tab="buttons" column="right">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::size-swatches-hover</var>
+    </control>
+
+
+
+    <control name="tooltip-text" title="Tooltip 1 Text" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::tooltip-text</var>
+    </control>
+    <control name="tooltip-box" title="Tooltip 1 Box" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::tooltip-box</var>
+    </control>
+    <control name="tooltip-stroke" title="Tooltip 1 Stroke" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::tooltip-stroke</var>
+    </control>
+    <control name="tooltip2-text" title="Tooltip 2 Text" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::tooltip2-text</var>
+    </control>
+    <control name="tooltip2-box" title="Tooltip 2 Box" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::tooltip2-box</var>
+    </control>
+    <control name="tooltip2-stroke" title="Tooltip 2 Stroke" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::tooltip2-stroke</var>
+    </control>
+    -->
+
+    <control name="error-icon" title="Error Icon" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector><![CDATA[.error-msg > *:first-child:before]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::error-icon</var>
+    </control>
+    <control name="error-box" title="Error Box" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector><![CDATA[.error-msg]]></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::error-box</var>
+    </control>
+
+    <control name="success-icon" title="Success Icon" tab="tips" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[.success-msg > *:first-child:before]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::success-icon</var>
+    </control>
+    <control name="success-box" title="Success Box" tab="tips" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[.success-msg]]></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::success-box</var>
+    </control>
+
+    <control name="notice-icon" title="Notice Icon" tab="tips" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .notice-msg > *:first-child:before,
+            .note-msg > *:first-child:before
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::notice-icon</var>
+    </control>
+    <control name="notice-box" title="Notice Box" tab="tips" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .notice-msg,
+            .note-msg
+        ]]></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::notice-box</var>
+    </control>
+
+    <control name="banner-text" title="Banner Text" tab="fonts" column="left">
+        <type>font</type>
+        <components>
+            <control name="banner-text:font-picker">
+                <type>font-picker</type>
+                <selector><![CDATA[.home.banners .banner.text]]></selector>
+                <attribute>font-family</attribute>
+                <options>
+                    <option>"marvel", Arial, sans-serif</option>
+                    <option>Tahoma, Geneva, sans-serif</option>
+                    <option>Georgia, serif</option>
+                    <option>Impact, Charcoal, sans-serif</option>
+                    <option>‘Palatino Linotype’, ‘Book Antiqua’, Palatino, serif</option>
+                    <option>Century Gothic, sans-serif</option>
+                    <option>‘Lucida Sans Unicode’, ‘Lucida Grande’, sans-serif</option>
+                    <option>‘Arial Black’, Gadget, sans-serif</option>
+                    <option>‘Times New Roman’, Times, serif</option>
+                    <option>‘Arial Narrow’, sans-serif</option>
+                    <option>Verdana, Geneva, sans-serif</option>
+                    <option>Copperplate / Copperplate Gothic Light, sans-serif</option>
+                    <option>‘Lucida Console’, Monaco, monospace</option>
+                    <option>‘Trebuchet MS’, Helvetica, sans-serif</option>
+                    <option>‘Courier New’, Courier, monospace</option>
+                    <option>Arial, Helvetica, sans-serif</option>
+                </options>
+                <var>Magento_DesignEditor::banner-text:font-picker</var>
+            </control>
+            <control name="banner-text:color-picker">
+                <type>color-picker</type>
+                <selector><![CDATA[.home.banners .banner.text]]></selector>
+                <attribute>color</attribute>
+                <var>Magento_DesignEditor::banner-text:color-picker</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="menu" title="Menu &amp; Header Links" tab="fonts" column="left">
+        <type>font</type>
+        <components>
+            <control name="menu:font-picker">
+                <type>font-picker</type>
+                <selector><![CDATA[
+                    .navigation > ul > .level-top > a,
+                    .action.showcart .qty,
+                    .switcher strong,
+                    .product.name,
+                    .toolbar .limiter select,
+                    .toolbar .sorter select,
+                    .navigation > ul > .level-top > .submenu > ul .level1 > a
+                ]]></selector>
+                <attribute>font-family</attribute>
+                <options>
+                    <option>"sourcesanspro", Arial, sans-serif</option>
+                    <option>Tahoma, Geneva, sans-serif</option>
+                    <option>Georgia, serif</option>
+                    <option>Impact, Charcoal, sans-serif</option>
+                    <option>‘Palatino Linotype’, ‘Book Antiqua’, Palatino, serif</option>
+                    <option>Century Gothic, sans-serif</option>
+                    <option>‘Lucida Sans Unicode’, ‘Lucida Grande’, sans-serif</option>
+                    <option>‘Arial Black’, Gadget, sans-serif</option>
+                    <option>‘Times New Roman’, Times, serif</option>
+                    <option>‘Arial Narrow’, sans-serif</option>
+                    <option>Verdana, Geneva, sans-serif</option>
+                    <option>Copperplate / Copperplate Gothic Light, sans-serif</option>
+                    <option>‘Lucida Console’, Monaco, monospace</option>
+                    <option>‘Trebuchet MS’, Helvetica, sans-serif</option>
+                    <option>‘Courier New’, Courier, monospace</option>
+                    <option>Arial, Helvetica, sans-serif</option>
+                </options>
+                <var>Magento_DesignEditor::menu:font-picker</var>
+            </control>
+            <control name="menu:color-picker">
+                <type>color-picker</type>
+                <selector><![CDATA[
+                    .navigation > ul > .level-top > a,
+                    .action.showcart .qty,
+                    .switcher strong,
+                    .product.name,
+                    .toolbar .limiter select,
+                    .toolbar .sorter select
+                ]]></selector>
+                <attribute>color</attribute>
+                <var>Magento_DesignEditor::menu:color-picker</var>
+            </control>
+        </components>
+    </control>
+    <control name="page-headings" title="Page Headings" tab="fonts" column="left">
+        <type>font</type>
+        <components>
+            <control name="page-headings:font-picker">
+                <type>font-picker</type>
+                <selector><![CDATA[
+                    .page.title .title,
+                    .opc.wrapper > .opc .section > .step-title h2,
+                    .column.main .block > .title
+                ]]></selector>
+                <attribute>font-family</attribute>
+                <options>
+                    <option>"sourcesanspro", Arial, sans-serif</option>
+                    <option>Tahoma, Geneva, sans-serif</option>
+                    <option>Georgia, serif</option>
+                    <option>Impact, Charcoal, sans-serif</option>
+                    <option>‘Palatino Linotype’, ‘Book Antiqua’, Palatino, serif</option>
+                    <option>Century Gothic, sans-serif</option>
+                    <option>‘Lucida Sans Unicode’, ‘Lucida Grande’, sans-serif</option>
+                    <option>‘Arial Black’, Gadget, sans-serif</option>
+                    <option>‘Times New Roman’, Times, serif</option>
+                    <option>‘Arial Narrow’, sans-serif</option>
+                    <option>Verdana, Geneva, sans-serif</option>
+                    <option>Copperplate / Copperplate Gothic Light, sans-serif</option>
+                    <option>‘Lucida Console’, Monaco, monospace</option>
+                    <option>‘Trebuchet MS’, Helvetica, sans-serif</option>
+                    <option>‘Courier New’, Courier, monospace</option>
+                    <option>Arial, Helvetica, sans-serif</option>
+                </options>
+                <var>Magento_DesignEditor::page-headings:font-picker</var>
+            </control>
+            <control name="page-headings:color-picker">
+                <type>color-picker</type>
+                <selector><![CDATA[
+                    .page.title .title,
+                    .opc.wrapper > .opc .section > .step-title h2,
+                    .column.main .block > .title
+                ]]></selector>
+                <attribute>color</attribute>
+                <var>Magento_DesignEditor::page-headings:color-picker</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="body-text" title="Body Text" tab="fonts" column="middle">
+        <type>font</type>
+        <components>
+            <control name="body-text:font-picker">
+                <type>font-picker</type>
+                <selector><![CDATA[
+                    body,
+                    .footer .links a,
+                    .toolbar .limiter .label,
+                    .toolbar .sorter .label,
+                    .products.wrapper .products.list .item .price-box,
+                    .reviews.summary .reviews.actions,
+                    .block.add.review .fieldset > .legend,
+                    .column.main .block > .title
+                ]]></selector>
+                <attribute>font-family</attribute>
+                <options>
+                    <option>"sourcesanspro", Arial, sans-serif</option>
+                    <option>Tahoma, Geneva, sans-serif</option>
+                    <option>Georgia, serif</option>
+                    <option>Impact, Charcoal, sans-serif</option>
+                    <option>‘Palatino Linotype’, ‘Book Antiqua’, Palatino, serif</option>
+                    <option>Century Gothic, sans-serif</option>
+                    <option>‘Lucida Sans Unicode’, ‘Lucida Grande’, sans-serif</option>
+                    <option>‘Arial Black’, Gadget, sans-serif</option>
+                    <option>‘Times New Roman’, Times, serif</option>
+                    <option>‘Arial Narrow’, sans-serif</option>
+                    <option>Verdana, Geneva, sans-serif</option>
+                    <option>Copperplate / Copperplate Gothic Light, sans-serif</option>
+                    <option>‘Lucida Console’, Monaco, monospace</option>
+                    <option>‘Trebuchet MS’, Helvetica, sans-serif</option>
+                    <option>‘Courier New’, Courier, monospace</option>
+                    <option>Arial, Helvetica, sans-serif</option>
+                </options>
+                <var>Magento_DesignEditor::body-text:font-picker</var>
+            </control>
+            <control name="body-text:color-picker">
+                <type>color-picker</type>
+                <selector><![CDATA[
+                    body,
+                    .footer .links a,
+                    .toolbar .limiter .label,
+                    .toolbar .sorter .label,
+                    .products.wrapper .products.list .item .price-box,
+                    .reviews.summary .reviews.actions,
+                    .block.add.review .fieldset > .legend,
+                    .column.main .block > .title
+                ]]></selector>
+                <attribute>color</attribute>
+                <var>Magento_DesignEditor::body-text:color-picker</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="buttons" title="Button Text" tab="fonts" column="middle">
+        <type>font</type>
+        <components>
+            <control name="buttons:font-picker">
+                <type>font-picker</type>
+                <selector><![CDATA[
+                    .block.add.review .action.submit span,
+                    .step.login.wrapper button.action:not(.reload) span,
+                    .cart.summary .block .action span,
+                    .action.checkout span,
+                    .action.subscribe span,
+                    .action.tocart span,
+                    .action.primary.customize span,
+                    .action.primary.tocart span,
+                    .login.container .action.login span,
+                    .login.container .action.create span,
+
+                    .form.send.friend .action.save span,
+                    .form.address.edit .action.save span,
+                    .form.edit.account .action.save span,
+                    .form.search.advanced .action.save span,
+                    .form.orders.search .action.save span,
+                    .form.contact .action.save span,
+                    .form.password.forget .action.save span,
+                    .form.create.account .action.save span,
+                    .form.wishlist.share .action.save span,
+                    .form.password.reset .action.save span,
+                    .form.add.tag .action.save span,
+
+                    .form.send.friend .action.submit span,
+                    .form.address.edit .action.submit span,
+                    .form.edit.account .action.submit span,
+                    .form.search.advanced .action.submit span,
+                    .form.orders.search .action.submit span,
+                    .form.contact .action.submit span,
+                    .form.password.forget .action.submit span,
+                    .form.create.account .action.submit span,
+                    .form.wishlist.share .action.submit span,
+                    .form.password.reset .action.submit span,
+                    .form.add.tag .action.submit span,
+
+                    .form.send.friend .action.add span,
+                    .form.address.edit .action.add span,
+                    .form.edit.account .action.add span,
+                    .form.search.advanced .action.add span,
+                    .form.orders.search .action.add span,
+                    .form.contact .action.add span,
+                    .form.password.forget .action.add span,
+                    .form.create.account .action.add span,
+                    .form.wishlist.share .action.add span,
+                    .form.password.reset .action.add span,
+                    .form.add.tag .action.add span,
+
+                    .form.newsletter.manage .action.save span,
+
+                    .form.search.advanced .action span,
+                    .form.orders.search .action span,
+                    .form.contact .action span,
+
+                    .banner.main .banner.action span,
+                    .opc.wrapper .form:not(.login) .actions button.action span,
+
+                    .data.table.wishlist + .actions .primary .action.share span,
+                    .data.table.wishlist + .actions .primary .action.update span
+                ]]></selector>
+                <attribute>font-family</attribute>
+                <options>
+                    <option>"marvel", Arial, sans-serif</option>
+                    <option>Tahoma, Geneva, sans-serif</option>
+                    <option>Georgia, serif</option>
+                    <option>Impact, Charcoal, sans-serif</option>
+                    <option>‘Palatino Linotype’, ‘Book Antiqua’, Palatino, serif</option>
+                    <option>Century Gothic, sans-serif</option>
+                    <option>‘Lucida Sans Unicode’, ‘Lucida Grande’, sans-serif</option>
+                    <option>‘Arial Black’, Gadget, sans-serif</option>
+                    <option>‘Times New Roman’, Times, serif</option>
+                    <option>‘Arial Narrow’, sans-serif</option>
+                    <option>Verdana, Geneva, sans-serif</option>
+                    <option>Copperplate / Copperplate Gothic Light, sans-serif</option>
+                    <option>‘Lucida Console’, Monaco, monospace</option>
+                    <option>‘Trebuchet MS’, Helvetica, sans-serif</option>
+                    <option>‘Courier New’, Courier, monospace</option>
+                    <option>Arial, Helvetica, sans-serif</option>
+                </options>
+                <var>Magento_DesignEditor::buttons:font-picker</var>
+            </control>
+            <control name="buttons:color-picker">
+                <type>color-picker</type>
+                <selector><![CDATA[
+                    .block.add.review .action.submit span,
+                    .step.login.wrapper button.action span,
+                    .cart.summary .block .action span,
+                    .action.checkout span,
+                    .action.subscribe span,
+                    .action.tocart span,
+                    .action.primary.customize span,
+                    .action.primary.tocart span,
+                    .login.container .action.login span,
+                    .login.container .action.create span,
+                    .form.password.forget .action.submit span,
+                    .form.create.account .action.submit span,
+                    .banner.main .banner.action span,
+                    .opc.wrapper .form:not(.login) .actions button.action span
+                ]]></selector>
+                <attribute>color</attribute>
+                <var>Magento_DesignEditor::buttons:color-picker</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="text-links" title="Links" tab="fonts" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .product.info.main .product.addto.links .action > span,
+            .products.wrapper.grid .products.list .secondary .action > span,
+            .filter a
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::text-links</var>
+    </control>
+    <control name="text-links-hover" title="Links Hover" tab="fonts" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .product.info.main .product.addto.links .action:hover > span,
+            .products.wrapper.grid .products.list .secondary .action:hover > span,
+            .filter a:hover
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::text-links-hover</var>
+    </control>
+    <!--
+    <control name="text-links-active" title="Text Links Active" tab="fonts" column="right">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::text-links-active</var>
+    </control>
+    <control name="text-links-product" title="Text Links Product Name" tab="fonts" column="right">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::text-links-product</var>
+    </control>
+    -->
+    <control name="small-links" title="Small Links" tab="fonts" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .minicart .product.options.wrapper .more
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::small-links</var>
+    </control>
+    <control name="small-links-hover" title="Small Links Hover" tab="fonts" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .minicart .product.options.wrapper .more:hover
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::small-links-hover</var>
+    </control>
+</controls>
diff --git a/app/design/frontend/magento_plushe/Magento_Directory/currency.phtml b/app/design/frontend/magento_plushe/Magento_Directory/currency.phtml
new file mode 100644
index 00000000000..74171ad140c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Directory/currency.phtml
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Currency switcher
+ *
+ * @see \Magento\Directory\Block\Currency
+ */
+?>
+<?php if ($this->getCurrencyCount() > 1): ?>
+<?php $currencies = $this->getCurrencies(); ?>
+<?php $currentCurrencyCode = $this->getCurrentCurrencyCode(); ?>
+<div class="switcher currency">
+    <strong class="label"><span><?php echo __('Currency') ?></span></strong>
+    <div class="options">
+        <strong class="language-<?php echo $this->escapeHtml($this->getCurrentCurrencyCode()) ?>">
+            <span><?php echo $this->escapeHtml($currentCurrencyCode) ?> - <?php echo @$this->escapeHtml($currencies[$currentCurrencyCode]) ?></span>
+        </strong>
+        <button type="button" data-toggle="dropdown" class="action switch"><span><?php echo __('Change')?></span></button>
+        <ul data-target="dropdown">
+            <?php foreach ($currencies as $_code => $_name): ?>
+                <?php if($_code != $currentCurrencyCode): ?>
+                    <li class="currency-<?php echo $_code ?>">
+                        <a href="<?php echo $this->getSwitchCurrencyUrl($_code) ?>"><?php echo $_code ?> - <?php echo $_name ?></a>
+                    </li>
+                <?php endif; ?>
+            <?php endforeach; ?>
+        </ul>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/TemplateEngine/_files/simple.twig b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalog_category_view.xml
similarity index 90%
rename from dev/tests/integration/testsuite/Magento/Core/Model/TemplateEngine/_files/simple.twig
rename to app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalog_category_view.xml
index d2c6608ac1f..6c60196129d 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/TemplateEngine/_files/simple.twig
+++ b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalog_category_view.xml
@@ -1,4 +1,5 @@
-{#
+<?xml version="1.0"?>
+<!--
 /**
  * Magento
  *
@@ -21,5 +22,5 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
-#}
-<html><head><title>{{ simple.title }}</title></head><body></body></html>
\ No newline at end of file
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_advanced_index.xml b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_advanced_index.xml
new file mode 100644
index 00000000000..6c60196129d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_advanced_index.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_advanced_result.xml b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_advanced_result.xml
new file mode 100644
index 00000000000..6c60196129d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_advanced_result.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_result_index.xml b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_result_index.xml
new file mode 100644
index 00000000000..6c60196129d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_result_index.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Directory/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/default.xml
new file mode 100644
index 00000000000..7eae7a3f7e9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/default.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="header.panel">
+        <block class="Magento\Directory\Block\Currency" name="currency" before="store_language" template="currency.phtml"/>
+    </referenceContainer>
+    <referenceBlock name="head">
+        <block class="Magento\Core\Block\Template" name="optional_zip_countries" as="optional_zip_countries" template="Magento_Directory::js/optional_zip_countries.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/links.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/links.phtml
new file mode 100644
index 00000000000..d494ef4bb92
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/links.phtml
@@ -0,0 +1,68 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /* @var $this \Magento\Downloadable\Block\Catalog\Product\Links */ ?>
+<?php $_linksPurchasedSeparately = $this->getLinksPurchasedSeparately(); ?>
+<?php if ($this->getProduct()->isSaleable() && $this->hasLinks()):?>
+    <?php $_links = $this->getLinks(); ?>
+    <?php $_isRequired = $this->getLinkSelectionRequired(); ?>
+    <div class="field downloads<?php if ($_isRequired) echo ' required' ?>">
+        <label class="label"><span><?php echo $this->getLinksTitle() ?></span></label>
+        <div class="control" id="downloadable-links-list">
+            <?php foreach ($_links as $_link): ?>
+            <div class="field choice">
+                <?php if ($_linksPurchasedSeparately): ?>
+                <input type="checkbox" <?php if ($_isRequired): ?>data-validate="{'validate-one-checkbox-required-by-name':'downloadable-links-list'}" <?php endif; ?>
+                       name="links[]" id="links_<?php echo $_link->getId() ?>"
+                       value="<?php echo $_link->getId(); ?>" <?php echo $this->getLinkCheckedValue($_link); ?> />
+                <?php endif; ?>
+                <label class="label" for="links_<?php echo $_link->getId() ?>">
+                    <span><?php echo $this->escapeHtml($_link->getTitle()); ?></span>
+                    <?php if ($_link->getSampleFile() || $_link->getSampleUrl()): ?>
+                        <a class="sample" href="<?php echo $this->getLinkSamlpeUrl($_link) ?>" <?php echo $this->getIsOpenInNewWindow() ? 'target="_blank"' : ''; ?>><?php echo __('sample') ?></a>
+                    <?php endif; ?>
+                    <?php if ($_linksPurchasedSeparately): ?>
+                    <?php echo $this->getFormattedLinkPrice($_link); ?>
+                    <?php endif; ?>
+                </label>
+            </div>
+            <?php endforeach; ?>
+        </div>
+        <?php if ($_isRequired): ?>
+            <span id="links-advice-container"></span>
+        <?php endif;?>
+    </div>
+    <script type="text/javascript">
+        (function ($) {
+            head.js("<?php echo $this->getViewFileUrl('Magento_Downloadable::downloadable.js') ?>", function () {
+                $('#downloadable-links-list').downloadable({
+                    linkElement: 'input:checkbox',
+                    config: <?php echo $this->getJsonConfig() ?>
+                });
+            });
+    })(jQuery);
+</script>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/samples.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/samples.phtml
new file mode 100644
index 00000000000..a130635232b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/samples.phtml
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Downloadable product links
+ *
+ * @see \Magento\Downloadable\Block\Catalog\Product\Samples
+ */
+?>
+
+<?php if ($this->hasSamples()): ?>
+    <dl class="downloadable samples">
+        <dt><?php echo $this->getSamplesTitle() ?></dt>
+        <?php $_samples = $this->getSamples() ?>
+        <?php foreach ($_samples as $_sample): ?>
+            <dd>
+                <a href="<?php echo $this->getSampleUrl($_sample) ?>" <?php echo $this->getIsOpenInNewWindow()?'onclick="this.target=\'_blank\'"':''; ?>><?php echo  $this->escapeHtml($_sample->getTitle()) ?></a>
+            </dd>
+        <?php endforeach; ?>
+    </dl>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/type.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/type.phtml
new file mode 100644
index 00000000000..36f5df0a2cf
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/type.phtml
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Downloadable product type
+ *
+ * @see \Magento\Downloadable\Block\Catalog\Product\View\Type
+ */
+?>
+<?php $_product = $this->getProduct() ?>
+
+<?php if($_product->getIsSalable()): ?>
+    <p class="stock available" title="<?php echo __('Availability') ?>"><span><?php echo __('In stock') ?></span></p>
+<?php else: ?>
+    <p class="stock unavailable" title="<?php echo __('Availability') ?>"><span><?php echo __('Out of stock') ?></span></p>
+<?php endif; ?>
+<?php echo $this->getChildHtml('product_type_data_extra') ?>
+<?php echo $this->getPriceHtml($_product) ?>
+<?php echo $this->getChildHtml('samples') ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/cart/item/default.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/cart/item/default.phtml
new file mode 100644
index 00000000000..3e5638117de
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/cart/item/default.phtml
@@ -0,0 +1,305 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+$_item = $this->getItem();
+$isVisibleProduct = $_item->getProduct()->isVisibleInSiteVisibility();
+$canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_item->getProduct(), \Magento\Catalog\Model\Product\Attribute\Source\Msrp\Type::TYPE_BEFORE_ORDER_CONFIRM);
+?>
+<?php echo $this->getChildHtml('item_extra') ?>
+<tbody class="cart item">
+<tr class="item info">
+    <td class="col item">
+        <?php if ($this->hasProductUrl()):?><a href="<?php echo $this->getProductUrl() ?>" title="<?php echo $this->escapeHtml($this->getProductName()) ?>" class="product photo"><?php endif;?>
+        <?php echo $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image')->init($_item->getProduct(), 'cart_page_product_thumbnail')->toHtml(); ?>
+        <?php if ($this->hasProductUrl()):?></a><?php endif;?>
+        <div class="product details">
+            <strong class="product name">
+            <?php if ($this->hasProductUrl()):?>
+                <a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->escapeHtml($this->getProductName()) ?></a>
+            <?php else: ?>
+                <?php echo $this->escapeHtml($this->getProductName()) ?>
+            <?php endif; ?>
+            </strong>
+            <?php if ($_options = $this->getOptionList()):?>
+            <dl class="cart item options">
+                <?php foreach ($_options as $_option) : ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item-options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+                <?php endforeach; ?>
+            </dl>
+            <?php endif;?>
+            <!-- downloadable -->
+            <?php if ($links = $this->getLinks()): ?>
+            <dl class="cart item options">
+                <dt><?php echo $this->getLinksTitle() ?></dt>
+                <?php foreach ($links as $link): ?>
+                    <dd><?php echo $this->escapeHtml($link->getTitle()) ?></dd>
+                <?php endforeach; ?>
+            </dl>
+            <?php endif; ?>
+            <?php echo $this->getChildHtml('item_extra'); ?>
+            <!-- EOF downloadable -->
+            <?php if ($messages = $this->getMessages()): ?>
+            <?php foreach ($messages as $message): ?>
+                <p class="cart item message <?php echo $message['type'] ?>">* <?php echo $this->escapeHtml($message['text']) ?></p>
+            <?php endforeach; ?>
+            <?php endif; ?>
+            <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+            <?php if ($addInfoBlock): ?>
+                <?php echo $addInfoBlock->setItem($_item)->toHtml() ?>
+            <?php endif;?>
+        </div>
+    </td>
+
+    <?php if ($canApplyMsrp): ?>
+        <td class="col msrp a-right"<?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?> colspan="2"<?php endif; ?>>
+            <span class="cart-price">
+                <span class="cart-msrp-unit"><?php echo __('See price before order confirmation.'); ?></span>
+                <?php $helpLinkId = 'cart-msrp-help-' . $_item->getId(); ?>
+                <a id="<?php echo $helpLinkId ?>" href="#" class="map-help-link"><?php echo __("What's this?"); ?></a>
+                <script type="text/javascript">
+                    Catalog.Map.addHelpLink($('<?php echo $helpLinkId ?>'), "<?php echo __("What's this?") ?>");
+                </script>
+            </span>
+        </td>
+    <?php else: ?>
+
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+        <td class="col price excl tax">
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+            <?php else: ?>
+                <span class="cart-price">
+            <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
+                <?php endif; ?>
+
+            </span>
+
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+                <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php endif; ?>
+                </div>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                        <span class="weee"><?php echo __('Total'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
+                    </div>
+                <?php endif; ?>
+            <?php endif; ?>
+        </td>
+
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+        <td class="col price incl tax">
+            <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+            <?php else: ?>
+                <span class="cart-price">
+            <?php endif; ?>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
+                <?php endif; ?>
+
+            </span>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+                <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php endif; ?>
+                </div>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                        <span class="weee"><?php echo __('Total incl. tax'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+                    </div>
+                <?php endif; ?>
+            <?php endif; ?>
+        </td>
+        <?php endif; ?>
+    <?php endif; ?>
+    <td class="col qty">
+        <div class="control qty">
+        <input name="cart[<?php echo $_item->getId() ?>][qty]" value="<?php echo $this->getQty() ?>" type="text" size="4" title="<?php echo __('Qty') ?>" class="input-text qty" maxlength="12" data-validate="{required:true,'validate-greater-than-zero':true}"/>
+        </div>
+    </td>
+    <?php if (($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
+    <td class="col subtotal excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($canApplyMsrp): ?>
+                <span class="cart-msrp-subtotal">--</span>
+            <?php else: ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()) ?>
+                <?php endif; ?>
+            <?php endif; ?>
+
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="weee"><?php echo __('Total'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if (($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
+    <td class="col subtotal incl tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($canApplyMsrp): ?>
+                <span class="cart-msrp-subtotal">--</span>
+            <?php else: ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
+                <?php endif; ?>
+            <?php endif; ?>
+
+        </span>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="weee"><?php echo __('Total incl. tax'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+</tr>
+<tr class="item actions">
+    <td colspan="100">
+        <div class="actions">
+
+            <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllowInCart()) : ?>
+                <?php if ($isVisibleProduct): ?>
+                <a href="<?php echo $this->helper('Magento\Wishlist\Helper\Data')->getMoveFromCartUrl($_item->getId()); ?>" class="use-ajax action towishlist">
+                    <span><?php echo __('Move to Wishlist'); ?></span>
+                </a>
+                <?php endif ?>
+            <?php endif ?>
+
+            <?php if ($isVisibleProduct): ?>
+            <a class="action edit" href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo __('Edit item parameters') ?>"><span><?php echo __('Edit') ?></span></a>
+            <?php endif ?>
+
+            <a href="<?php echo $this->getDeleteUrl()?>" title="<?php echo __('Remove item')?>" class="action delete"><span><?php echo __('Remove item')?></span></a>
+        </div>
+    </td>
+</tr>
+</tbody>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/multishipping/item/default.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/multishipping/item/default.phtml
new file mode 100644
index 00000000000..ebf63dc44e1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/multishipping/item/default.phtml
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="product details">
+    <strong class="product name"><a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->escapeHtml($this->getProductName()) ?></a></strong>
+    <?php if ($_options = $this->getOptionList()): ?>
+        <dl class="item options">
+            <?php foreach ($_options as $_option) : ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    <?php endif; ?>
+                </dd>
+            <?php endforeach; ?>
+        </dl>
+    <?php endif; ?>
+    <!-- downloadable -->
+    <?php if ($links = $this->getLinks()): ?>
+    <dl class="item options">
+        <dt><?php echo $this->getLinksTitle() ?></dt>
+        <?php foreach ($links as $link): ?>
+            <dd><?php echo $this->escapeHtml($link->getTitle()); ?></dd>
+        <?php endforeach; ?>
+    </dl>
+    <?php endif; ?>
+    <!-- EOF downloadable -->
+    <?php if ($addtInfoBlock = $this->getProductAdditionalInformationBlock()): ?>
+        <?php echo $addtInfoBlock->setItem($this->getItem())->toHtml() ?>
+    <?php endif; ?>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/onepage/review/item.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/onepage/review/item.phtml
new file mode 100644
index 00000000000..dbd0f629fc2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/onepage/review/item.phtml
@@ -0,0 +1,247 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem()?>
+<tr>
+    <td class="col item"><strong class="product name"><?php echo $this->escapeHtml($this->getProductName()) ?></strong>
+        <?php if ($_options = $this->getOptionList()):?>
+        <dl class="review item options">
+            <?php foreach ($_options as $_option) : ?>
+            <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                <div class="truncated_full_value">
+                    <dl class="item-options">
+                        <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                        <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                    </dl>
+                </div>
+                <?php endif; ?>
+            </dd>
+            <?php endforeach; ?>
+        </dl>
+        <?php endif;?>
+        <?php if ($links = $this->getLinks()): ?>
+        <dl class="review item options">
+            <dt><?php echo $this->getLinksTitle() ?></dt>
+            <?php foreach ($links as $link): ?>
+                <dd><?php echo $this->escapeHtml($link->getTitle()) ?></dd>
+            <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <!-- EOF downloadable -->
+        <?php if ($addtInfoBlock = $this->getProductAdditionalInformationBlock()):?>
+            <?php echo $addtInfoBlock->setItem($_item)->toHtml() ?>
+        <?php endif;?>
+    </td>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col price excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
+            <?php endif; ?>
+
+        </span>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col price incl tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
+            <?php endif; ?>
+
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <td class="col qty"><span class="qty"><?php echo $_item->getQty() ?></span></td>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col subtotal excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()) ?>
+            <?php endif; ?>
+
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col subtotal incl tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
+            <?php endif; ?>
+
+        </span>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/onepage/review/item_down.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/onepage/review/item_down.phtml
new file mode 100644
index 00000000000..cdbdcffdae0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/onepage/review/item_down.phtml
@@ -0,0 +1,246 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem()?>
+<tr>
+    <td><h3 class="product-name"><?php echo $this->escapeHtml($this->getProductName()) ?></h3>
+        <!-- item custom options -->
+        <?php if ($_options = $this->getOptionList()):?>
+        <dl class="item-options">
+            <?php foreach ($_options as $_option) : ?>
+            <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                <div class="truncated_full_value">
+                    <dl class="item-options">
+                        <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                        <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                    </dl>
+                </div>
+                <?php endif; ?>
+            </dd>
+            <?php endforeach; ?>
+        </dl>
+        <?php endif;?>
+        <?php if ($links = $this->getLinks()): ?>
+        <dl class="item-options">
+            <dt><?php echo $this->getLinksTitle() ?></dt>
+            <?php foreach ($links as $link): ?>
+                <dd><?php echo $this->escapeHtml($link->getTitle()) ?></dd>
+            <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <!-- EOF downloadable -->
+    </td>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="a-right">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <div class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
+            <?php endif; ?>
+
+        </div>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td>
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <div class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
+            <?php endif; ?>
+
+        </div>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <td class="a-center"><?php echo $_item->getQty() ?></td>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="a-right">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <div class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()) ?>
+            <?php endif; ?>
+
+        </div>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td>
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <div class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
+            <?php endif; ?>
+
+        </div>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/customer/products/list.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/customer/products/list.phtml
new file mode 100644
index 00000000000..7f2054f7409
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/customer/products/list.phtml
@@ -0,0 +1,75 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @see \Magento\Downloadable\Block\Customer\Products\ListProducts
+ */
+?>
+<?php $_items = $this->getItems(); ?>
+<div class="downloadable products toolbar">
+    <?php echo $this->getChildHtml('pager'); ?>
+</div>
+<?php if(count($_items)): ?>
+    <table id="my-downloadable-products-table" class="data table downloadable products">
+        <thead>
+            <tr>
+                <th class="col id"><?php echo __('Order #') ?></th>
+                <th class="col date"><?php echo __('Date') ?></th>
+                <th class="col title"><?php echo __('Title') ?></th>
+                <th class="col status"><?php echo __('Status') ?></th>
+                <th class="col remaining"><?php echo __('Remaining Downloads') ?></th>
+            </tr>
+        </thead>
+        <tbody>
+            <?php foreach ($_items as $_item): ?>
+                <tr>
+                    <td class="col id">
+                        <a href="<?php echo $this->getOrderViewUrl($_item->getPurchased()->getOrderId()) ?>" title="<?php echo __('View Order') ?>">
+                            <?php echo $_item->getPurchased()->getOrderIncrementId() ?>
+                        </a>
+                    </td>
+                    <td class="col date"><?php echo $this->formatDate($_item->getPurchased()->getCreatedAt()) ?></td>
+                    <td class="col title">
+                        <?php echo $this->escapeHtml($_item->getPurchased()->getProductName()) ?> - <a href="<?php echo $this->getDownloadUrl($_item) ?>" title="<?php echo __('Start Download') ?>" <?php echo $this->getIsOpenInNewWindow()?'onclick="this.target=\'_blank\'"':''; ?>><?php echo $this->escapeHtml($_item->getLinkTitle()) ?></a>
+                    </td>
+                    <td class="col status"><?php echo __(ucfirst($_item->getStatus())) ?></td>
+                    <td class="col remaining"><?php echo $this->getRemainingDownloads($_item) ?></td>
+                </tr>
+            <?php endforeach; ?>
+        </tbody>
+    </table>
+<?php else: ?>
+    <p class="empty"><?php echo __('You have not purchased any downloadable products yet.'); ?></p>
+<?php endif; ?>
+<div class="downloadable products toolbar">
+    <?php echo $this->getChildHtml('pager'); ?>
+</div>
+
+<div class="actions">
+    <div class="secondary">
+        <a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>" class="action back"><span><?php echo __('Back') ?></span></a>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/layout/override/catalog_product_view_type_downloadable.xml b/app/design/frontend/magento_plushe/Magento_Downloadable/layout/override/catalog_product_view_type_downloadable.xml
new file mode 100644
index 00000000000..d1f574903d6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/layout/override/catalog_product_view_type_downloadable.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product View (Downloadable)" type="page" parent="catalog_product_view">
+    <referenceContainer name="product.info.type">
+        <block class="Magento\Downloadable\Block\Catalog\Product\View\Type" name="product.info.downloadable" as="product_type_data" template="catalog/product/type.phtml">
+            <block class="Magento\Downloadable\Block\Catalog\Product\Samples" name="product.info.downloadable.samples" as="samples" template="catalog/product/samples.phtml"/>
+            <block class="Magento\CatalogInventory\Block\Stockqty\DefaultStockqty" name="product.info.downloadable.extra" as="product_type_data_extra" template="stockqty/default.phtml"/>
+        </block>
+    </referenceContainer>
+    <referenceBlock name="product.info.options.wrapper">
+        <block class="Magento\Downloadable\Block\Catalog\Product\Links" name="product.info.downloadable.options" as="type_downloadable_options" before="-" template="catalog/product/links.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/layout/override/checkout_cart_index.xml b/app/design/frontend/magento_plushe/Magento_Downloadable/layout/override/checkout_cart_index.xml
new file mode 100644
index 00000000000..b8f5e192134
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/layout/override/checkout_cart_index.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="checkout.cart.form">
+        <block class="Magento\Downloadable\Block\Checkout\Cart\Item\Renderer" as="downloadable" template="checkout/cart/item/default.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml
new file mode 100644
index 00000000000..65f32a6e195
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml
@@ -0,0 +1,315 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<?php $_order = $this->getItem()->getOrderItem()->getOrder() ?>
+<tr class="border" id="order-item-row-<?php echo $_item->getId() ?>">
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+
+        <!-- downloadable -->
+        <?php if ($links = $this->getLinks()): ?>
+            <dl class="item options">
+                <dt><?php echo $this->getLinksTitle() ?></dt>
+                <?php foreach ($links->getPurchasedItems() as $link): ?>
+                    <dd><?php echo $this->escapeHtml($link->getLinkTitle()); ?></dd>
+                <?php endforeach; ?>
+            </dl>
+        <?php endif; ?>
+        <!-- EOF downloadable -->
+
+        <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+        <?php if ($addInfoBlock) :?>
+            <?php echo $addInfoBlock->setItem($_item->getOrderItem())->toHtml(); ?>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $_item->getOrderItem()) && $_item->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $_item->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $_item->getId()?>" data-item-id="<?php echo $_item->getId()?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+    <td  class="col sku"><?php echo $this->escapeHtml($this->helper('Magento\Core\Helper\String')->splitInjection($this->getSku())) ?></td>
+    <td class="col price">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col qty"><?php echo $_item->getQty()*1 ?></td>
+    <td class="col subtotal">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+
+
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col discount"><?php echo $_order->formatPrice(-$_item->getDiscountAmount()) ?></td>
+    <td class="cot total">
+        <?php echo $_order->formatPrice($_item->getRowTotal()-$_item->getDiscountAmount()+$_item->getTaxAmount()+$_item->getWeeeTaxAppliedRowAmount()) ?>
+    </td>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/invoice/items/renderer/downloadable.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/invoice/items/renderer/downloadable.phtml
new file mode 100644
index 00000000000..cc6e3bad165
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/invoice/items/renderer/downloadable.phtml
@@ -0,0 +1,305 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<?php $_order = $this->getItem()->getOrderItem()->getOrder() ?>
+<tr id="order-item-row-<?php echo $_item->getId() ?>">
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <!-- downloadable -->
+        <?php if ($links = $this->getLinks()): ?>
+            <dl class="item options">
+                <dt><?php echo $this->getLinksTitle() ?></dt>
+                <?php foreach ($links->getPurchasedItems() as $link): ?>
+                    <dd><?php echo $this->escapeHtml($link->getLinkTitle()); ?></dd>
+                <?php endforeach; ?>
+            </dl>
+        <?php endif; ?>
+        <!-- EOF downloadable -->
+        <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+        <?php if ($addInfoBlock) :?>
+            <?php echo $addInfoBlock->setItem($_item->getOrderItem())->toHtml(); ?>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $_item->getOrderItem()) && $_item->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $_item->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $_item->getId()?>" data-item-id="<?php echo $_item->getId()?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+    <td class="col sku"><?php echo $this->escapeHtml($this->helper('Magento\Core\Helper\String')->splitInjection($this->getSku())) ?></td>
+    <td class="col price">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col qty">
+        <span class="qty summary"><?php echo $_item->getQty()*1 ?></span>
+    </td>
+    <td class="col subtotal">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+            </span>
+        <?php endif; ?>
+    </td>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/items/renderer/downloadable.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/items/renderer/downloadable.phtml
new file mode 100644
index 00000000000..5b73ec009c1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/items/renderer/downloadable.phtml
@@ -0,0 +1,327 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<tr id="order-item-row-<?php echo $_item->getId() ?>">
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd>
+                    <?php echo nl2br($this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) )) ?>
+                </dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <!-- downloadable -->
+        <?php if ($links = $this->getLinks()): ?>
+            <dl class="item-options">
+                <dt><?php echo $this->getLinksTitle() ?></dt>
+                <?php foreach ($links->getPurchasedItems() as $link): ?>
+                    <dd><?php echo $this->escapeHtml($link->getLinkTitle()); ?></dd>
+                <?php endforeach; ?>
+            </dl>
+        <?php endif; ?>
+        <!-- EOF downloadable -->
+        <?php $addtInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+        <?php if ($addtInfoBlock) :?>
+            <?php echo $addtInfoBlock->setItem($_item)->toHtml(); ?>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $_item) && $_item->getGiftMessageId()): ?>
+            <a href="#"
+               id="order-item-gift-message-link-<?php echo $_item->getId() ?>"
+               class="action show"
+               aria-controls="order-item-gift-message-<?php echo $_item->getId()?>"
+               data-item-id="<?php echo $_item->getId()?>">
+                <?php echo __('Gift Message') ?>
+            </a>
+        <?php endif; ?>
+    </td>
+    <td class="col sku"><?php echo $this->escapeHtml($this->helper('Magento\Core\Helper\String')->splitInjection($this->getSku())) ?></td>
+    <td class="col price">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col qty">
+        <span class="qty summary">
+                <?php if ($this->getItem()->getQtyOrdered() > 0): ?>
+            <?php echo __('Ordered'); ?>: <strong><?php echo $this->getItem()->getQtyOrdered()*1 ?></strong><br />
+        <?php endif; ?>
+        <?php if ($this->getItem()->getQtyShipped() > 0): ?>
+            <?php echo __('Shipped'); ?>: <strong><?php echo $this->getItem()->getQtyShipped()*1 ?></strong><br />
+        <?php endif; ?>
+        <?php if ($this->getItem()->getQtyCanceled() > 0): ?>
+            <?php echo __('Canceled'); ?>: <strong><?php echo $this->getItem()->getQtyCanceled()*1 ?></strong><br />
+        <?php endif; ?>
+        <?php if ($this->getItem()->getQtyRefunded() > 0): ?>
+            <?php echo __('Refunded'); ?>: <strong><?php echo $this->getItem()->getQtyRefunded()*1 ?></strong><br />
+        <?php endif; ?>
+        </span>
+    </td>
+    <td class="col subtotal">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+            </span>
+        <?php endif; ?>
+    </td>
+    <!--
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+    <th class="a-right"><?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?></th>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+    <th class="a-right"><?php echo $this->getOrder()->formatPrice($this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem())); ?></th>
+    <?php endif; ?>
+    -->
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_GiftMessage/inline.phtml b/app/design/frontend/magento_plushe/Magento_GiftMessage/inline.phtml
new file mode 100644
index 00000000000..dfb98bdc890
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_GiftMessage/inline.phtml
@@ -0,0 +1,301 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_giftMessage = false; ?>
+<?php if(!$this->getDontDisplayContainer()): ?>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('js/extra-options.js') ?>", function() {
+        jQuery('#checkoutSteps').extraOptions({additionalUrl: '<?php echo $this->getAdditionalUrl(); ?>'});
+    });
+</script>
+<?php endif ?>
+
+<?php switch ($this->getType()): ?>
+<?php case 'onepage_checkout': ?>
+    <fieldset class="fieldset gift message">
+        <legend class="legend"><span><?php echo __('Do you have any gift items in your order?'); ?></span></legend><br>
+
+        <div class="field choice" id="add-gift-options-<?php echo $this->getEntity()->getId() ?>">
+            <input type="checkbox" name="allow_gift_options" id="allow_gift_options" value="1" data-selector='{"id":"#allow-gift-options-container"}'<?php if($this->getItemsHasMesssages() || $this->getEntityHasMessage()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+            <label for="allow_gift_options" class="label"><span><?php echo __('Add gift options') ?></span></label>
+        </div>
+
+        <dl class="block items" id="allow-gift-options-container">
+            <dt id="add-gift-options-for-order-<?php echo $this->getEntity()->getId() ?>" class="order">
+                <div class="title"><span><?php echo __('Gift Options for the Entire Order'); ?></span></div>
+                <div class="field choice">
+                    <input type="checkbox" name="allow_gift_messages_for_order" id="allow_gift_options_for_order" value="1" data-selector='{"id":"#allow-gift-options-for-order-container"}'<?php if($this->getEntityHasMessage()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                    <label for="allow_gift_options_for_order" class="label"><span><?php echo __('Add gift options for the Entire Order') ?></span></label>
+                </div>
+            </dt>
+
+            <dd id="allow-gift-options-for-order-container" class="options order">
+                <div class="options-order-container" id="options-order-container-<?php echo $this->getEntity()->getId() ?>"></div>
+                <input type="hidden" name="giftoptions[<?php echo $this->getEntity()->getId() ?>][type]" value="quote" />
+                <?php if ($this->isMessagesAvailable()): ?>
+                    <a href="#" class="activate message" data-mage-init='{toggleAdvanced: {selectorsToggleClass:"no-display", toggleContainers:"#allow-gift-messages-for-order-container"}}'><?php echo __('Gift Message') ?></a>
+                    <div id="allow-gift-messages-for-order-container" class="no-display">
+                        <fieldset class="fieldset">
+                            <input type="hidden" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][type]"  value="quote" />
+                            <p><?php echo __('If you don\'t want to leave a gift message for the entire order, leave this box blank.') ?></p>
+                            <div class="field from">
+                                <label for="gift-message-whole-from" class="label"><span><?php echo __('From') ?></span></label>
+                                <div class="control">
+                                    <input type="text" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][from]" id="gift-message-whole-from" title="<?php echo __('From') ?>"  value="<?php echo $this->getEscaped($this->getMessage()->getSender(), $this->getDefaultFrom()) ?>" class="input-text">
+                                </div>
+                            </div>
+                            <div class="field to">
+                                <label for="gift-message-whole-to" class="label"><span><?php echo __('To') ?></span></label>
+                                <div class="control">
+                                    <input type="text" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][to]" id="gift-message-whole-to" title="<?php echo __('To') ?>" value="<?php echo $this->getEscaped($this->getMessage()->getRecipient(), $this->getDefaultTo()) ?>" class="input-text">
+                                </div>
+                            </div>
+                            <div class="field text">
+                                <label for="gift-message-whole-message" class="label"><span><?php echo __('Message') ?></span></label>
+                                <div class="control">
+                                    <textarea id="gift-message-whole-message" class="input-text" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][message]" title="<?php echo __('Message') ?>" rows="5" cols="10"><?php echo $this->getEscaped($this->getMessage()->getMessage()) ?></textarea>
+                                </div>
+                            </div>
+                        </fieldset>
+                        <script type="text/javascript">
+                            jQuery('#add-gift-options-<?php echo $this->getEntity()->getId() ?>')
+                                .add('#add-gift-options-for-order-<?php echo $this->getEntity()->getId() ?>').removeClass('no-display');
+                        </script>
+                    </div>
+               <?php endif ?>
+            </dd>
+            <?php if ($this->isItemsAvailable()): ?>
+            <dt id="add-gift-options-for-items-<?php echo $this->getEntity()->getId() ?>" class="individual">
+                <div class="title"><span><?php echo __('Gift Options for Individual Items'); ?></span></div>
+                <div class="field choice">
+                    <input type="checkbox" name="allow_gift_options_for_items" id="allow_gift_options_for_items" value="1" data-selector='{"id":"#allow-gift-options-for-items-container"}'<?php if($this->getItemsHasMesssages()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                    <label for="allow_gift_options_for_items" class="label"><span><?php echo __('Add gift options for Individual Items') ?></span></label>
+                </div>
+            </dt>
+
+            <dd id="allow-gift-options-for-items-container" class="options individual">
+                <ol>
+                    <?php foreach($this->getItems() as $_index=>$_item): ?>
+                    <?php $_product=$_item->getProduct() ?>
+                    <li class="item">
+                         <input type="hidden" name="giftoptions[<?php echo $_item->getId() ?>][type]" value="quote_item" />
+                         <p class="number"><?php echo __('Item %1 of %2', $_index+1, $this->countItems()) ?></p>
+                         <div class="product">
+                             <div class="img photo container">
+                                 <img src="<?php echo $this->getThumbnailUrl($_product); ?>" width="<?php echo $this->getThumbnailSize()?>" height="<?php echo $this->getThumbnailSize()?>" alt="<?php echo $this->escapeHtml($_product->getName()) ?>"title="<?php echo $this->escapeHtml($_product->getName()) ?>" />
+                             </div>
+                             <strong class="product name"><?php echo $this->escapeHtml($_product->getName()) ?></strong>
+                         </div>
+                         <div class="item options">
+                             <div class="options-items-container" id="options-items-container-<?php echo $this->getEntity()->getId() ?>-<?php echo $_item->getId() ?>"></div>
+                             <?php if ($this->isItemMessagesAvailable($_item)): ?>
+                             <a href="#" class="activate message" data-mage-init='{toggleAdvanced: {selectorsToggleClass:"no-display", toggleContainers:"#gift-messages-for-item-container-<?php echo $_item->getId() ?>"}}'><?php echo __('Gift Message') ?></a>
+                             <div id="gift-messages-for-item-container-<?php echo $_item->getId() ?>" class="block message no-display">
+                                 <fieldset class="fieldset">
+                                     <p><?php echo __('You can leave a box blank if you don\'t wish to add a gift message for the item.') ?></p>
+                                     <input type="hidden" name="giftmessage[<?php echo $_item->getId() ?>][type]" value="quote_item" >
+                                     <div class="field from">
+                                         <label for="gift-message-<?php echo $_item->getId() ?>-from" class="label"><span><?php echo __('From') ?></span></label>
+                                         <div class="control">
+                                             <input type="text" name="giftmessage[<?php echo $_item->getId() ?>][from]" id="gift-message-<?php echo $_item->getId() ?>-from" title="<?php echo __('From') ?>" value="<?php echo $this->getEscaped($this->getMessage($_item)->getSender(), $this->getDefaultFrom()) ?>" class="input-text">
+                                         </div>
+                                     </div>
+                                     <div class="field to">
+                                        <label for="gift-message-<?php echo $_item->getId() ?>-to" class="label"><span><?php echo __('To') ?></span></label>
+                                        <div class="control">
+                                            <input type="text" name="giftmessage[<?php echo $_item->getId() ?>][to]" id="gift-message-<?php echo $_item->getId() ?>-to" title="<?php echo __('To') ?>" value="<?php echo $this->getEscaped($this->getMessage($_item)->getRecipient(), $this->getDefaultTo()) ?>" class="input-text">
+                                        </div>
+                                     </div>
+                                     <div class="field text">
+                                         <label for="gift-message-<?php echo $_item->getId() ?>-message" class="label"><span><?php echo __('Message') ?></span></label>
+                                         <div class="control">
+                                            <textarea id="gift-message-<?php echo $_item->getId() ?>-message" class="input-text giftmessage-area" name="giftmessage[<?php echo $_item->getId() ?>][message]" title="<?php echo __('Message') ?>" rows="5" cols="40"><?php echo $this->getEscaped($this->getMessage($_item)->getMessage()) ?></textarea>
+                                         </div>
+                                     </div>
+                                </fieldset>
+                             </div>
+                         <?php endif; ?>
+                         </div>
+                    </li>
+                    <?php endforeach; ?>
+                </ol>
+            </dd>
+            <script type="text/javascript">
+                jQuery('#add-gift-options-<?php echo $this->getEntity()->getId() ?>')
+                    .add('#add-gift-options-for-items-<?php echo $this->getEntity()->getId() ?>').removeClass('no-display');
+            </script>
+            <?php endif; ?>
+            <dt class="extra-options-container" id="extra-options-container-<?php echo $this->getEntity()->getId() ?>"></dt>
+        </dl>
+    </fieldset>
+    <script type="text/javascript">
+        head.js("<?php echo $this->getViewFileUrl('Magento_GiftMessage::gift-options.js')?>", function() {
+            jQuery('#allow_gift_options')
+                .add('#allow_gift_options_for_order')
+                .add('#allow_gift_options_for_items').giftOptions();
+        });
+    </script>
+<?php break; ?>
+<?php case 'multishipping_adress_checkbox': ?>
+<?php break; ?>
+
+<?php case 'multishipping_address': ?>
+    <fieldset id="add-gift-options-<?php echo $this->getEntity()->getId() ?>" class="fieldset gift message">
+        <legend class="legend"><span><?php echo __('Do you have any gift items in your order?'); ?></span></legend><br>
+
+        <div class="field choice" id="add-gift-options-<?php echo $this->getEntity()->getId() ?>">
+            <input type="checkbox" name="allow_gift_options_<?php echo $this->getEntity()->getId() ?>" id="allow_gift_options_<?php echo $this->getEntity()->getId() ?>" value="1" data-selector='{"id":"#allow-gift-options-container-<?php echo $this->getEntity()->getId() ?>"}'<?php if($this->getItemsHasMesssages() || $this->getEntityHasMessage()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+            <label for="allow_gift_options_<?php echo $this->getEntity()->getId() ?>" class="label"><span><?php echo __('Add gift options') ?></span></label>
+        </div>
+
+        <dl class="block items" id="allow-gift-options-container-<?php echo $this->getEntity()->getId() ?>">
+            <dt id="add-gift-options-for-order-<?php echo $this->getEntity()->getId() ?>" class="order">
+                <div class="title"><span><?php echo __('Gift Options for this address.'); ?></span></div>
+                <div class="field choice">
+                    <input type="checkbox" name="allow_gift_options_for_order_<?php echo $this->getEntity()->getId() ?>" id="allow_gift_options_for_order_<?php echo $this->getEntity()->getId() ?>" value="1" data-selector='{"id":"#allow-gift-options-for-order-container-<?php echo $this->getEntity()->getId() ?>"}'<?php if($this->getEntityHasMessage()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                    <label for="allow_gift_options_for_order_<?php echo $this->getEntity()->getId() ?>" class="label"><span><?php echo __('Add gift options for the Entire Order') ?></span></label>
+                </div>
+            </dt>
+
+            <dd id="allow-gift-options-for-order-container-<?php echo $this->getEntity()->getId() ?>" class="options order">
+                <div class="options-order-container" id="options-order-container-<?php echo $this->getEntity()->getId() ?>"></div>
+                <input type="hidden" name="giftoptions[<?php echo $this->getEntity()->getId() ?>][type]" value="quote_address" />
+                <?php if ($this->isMessagesAvailable()): ?>
+                    <?php $_giftMessage = true; ?>
+                    <a href="#" class="activate message" data-mage-init='{toggleAdvanced: {selectorsToggleClass:"no-display", toggleContainers:"#gift-messages-for-order-container-<?php echo $this->getEntity()->getId() ?>"}}'><?php echo __('Gift Message') ?></a>
+                    <div id="gift-messages-for-order-container-<?php echo $this->getEntity()->getId() ?>" class="block message no-display">
+                        <fieldset class="fieldset">
+                            <p><?php echo __('You can leave this box blank if you do not wish to add a gift message for this address.') ?></p>
+                            <input type="hidden" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][type]" value="quote_address" />
+                            <div class="field from">
+                                <label for="gift-message-<?php echo $this->getEntity()->getId() ?>-from" class="label"><span><?php echo __('From') ?></span></label>
+                                <div class="control">
+                                    <input type="text" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][from]" id="gift-message-<?php echo $this->getEntity()->getId() ?>-from" title="<?php echo __('From') ?>" value="<?php echo $this->getEscaped($this->getMessage()->getSender(), $this->getDefaultFrom()) ?>" class="input-text">
+                                </div>
+                            </div>
+                            <div class="field to">
+                                <label for="gift-message-<?php echo $this->getEntity()->getId() ?>-to" class="label"><span><?php echo __('To') ?></span></label>
+                                <div class="control">
+                                    <input type="text" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][to]" id="gift-message-<?php echo $this->getEntity()->getId() ?>-to" title="<?php echo __('To') ?>" value="<?php echo $this->getEscaped($this->getMessage()->getRecipient(), $this->getDefaultTo()) ?>" class="input-text">
+                                </div>
+                            </div>
+                            <div class="field text">
+                                <label for="gift-message-<?php echo $this->getEntity()->getId() ?>-message" class="label"><span><?php echo __('Message') ?></span></label>
+                                <div class="control">
+                                    <textarea id="gift-message-<?php echo $this->getEntity()->getId() ?>-message" class="input-text" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][message]" title="<?php echo __('Message') ?>" rows="5" cols="40"><?php echo $this->getEscaped($this->getMessage()->getMessage()) ?></textarea>
+                                </div>
+                            </div>
+                        </fieldset>
+                    </div>
+                 <?php endif; ?>
+            </dd>
+
+            <?php if ($this->isItemsAvailable()): ?>
+            <dt id="add-gift-options-for-items-<?php echo $this->getEntity()->getId() ?>" class="individual">
+                <div class="title"><span><?php echo __('Gift Options for Individual Items'); ?></span></div>
+                <div class="field choice">
+                    <input type="checkbox" name="allow_gift_options_for_items_<?php echo $this->getEntity()->getId() ?>" id="allow_gift_options_for_items_<?php echo $this->getEntity()->getId() ?>" value="1" data-selector='{"id":"#allow-gift-options-for-items-container-<?php echo $this->getEntity()->getId() ?>"}'<?php if($this->getItemsHasMesssages()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                    <label for="allow_gift_options_for_items_<?php echo $this->getEntity()->getId() ?>" class="label"><span><?php echo __('Add gift options for Individual Items') ?></span></label>
+                </div>
+            </dt>
+
+            <dd id="allow-gift-options-for-items-container-<?php echo $this->getEntity()->getId() ?>" class="options individual">
+                 <ol>
+                 <?php foreach($this->getItems() as $_index=>$_item): ?>
+                 <?php $_product=$_item->getProduct() ?>
+                     <li class="item">
+                         <p class="number"><?php echo __('Item %1 of %2', $_index+1, $this->countItems()) ?></p>
+                         <div class="product">
+                             <div class="img photo container">
+                                 <img src="<?php echo $this->getThumbnailUrl($_product); ?>" width="<?php echo $this->getThumbnailSize()?>" height="<?php echo $this->getThumbnailSize()?>" alt="<?php echo $this->escapeHtml($_product->getName()) ?>" title="<?php echo $this->escapeHtml($_product->getName()) ?>" />
+                             </div>
+                             <strong class="product name"><?php echo $this->escapeHtml($_product->getName()) ?></strong>
+                         </div>
+                         <div class="item options">
+                             <div class="options-items-container" id="options-items-container-<?php echo $this->getEntity()->getId() ?>-<?php echo $_item->getId() ?>"></div>
+                             <input type="hidden" name="giftoptions[<?php echo $_item->getId() ?>][type]" value="quote_address_item" />
+                             <input type="hidden" name="giftoptions[<?php echo $_item->getId() ?>][address]" value="<?php echo $this->getEntity()->getId()?>" />
+
+                             <?php if ($this->isItemMessagesAvailable($_item)): ?>
+                             <?php $_giftMessage = true; ?>
+                                 <a href="#" class="activate message" data-mage-init='{toggleAdvanced: {selectorsToggleClass:"no-display", toggleContainers:"#gift-messages-for-item-container-<?php echo $_item->getId() ?>"}}'><?php echo __('Gift Message') ?></a>
+                                 <div id="gift-messages-for-item-container-<?php echo $_item->getId() ?>" class="block message no-display">
+                                     <fieldset class="fieldset">
+                                        <p><?php echo __('You can leave this box blank if you do not wish to add a gift message for the item.') ?></p>
+                                         <input type="hidden" name="giftmessage[<?php echo $_item->getId() ?>][type]" value="quote_address_item" />
+                                         <input type="hidden" name="giftmessage[<?php echo $_item->getId() ?>][address]" value="<?php echo $this->getEntity()->getId()?>" />
+                                         <div class="field from">
+                                             <label for="gift-message-<?php echo $_item->getId() ?>-from" class="label"><span><?php echo __('From') ?></span></label>
+                                             <div class="control">
+                                                 <input type="text" name="giftmessage[<?php echo $_item->getId() ?>][from]" id="gift-message-<?php echo $_item->getId() ?>-from" title="<?php echo __('From') ?>"  value="<?php echo $this->getEscaped($this->getMessage($_item)->getSender(), $this->getDefaultFrom()) ?>" class="input-text">
+                                             </div>
+                                         </div>
+                                         <div class="field to">
+                                            <label for="gift-message-<?php echo $_item->getId() ?>-to" class="label"><span><?php echo __('To') ?></span></label>
+                                            <div class="control">
+                                                <input type="text" name="giftmessage[<?php echo $_item->getId() ?>][to]" id="gift-message-<?php echo $_item->getId() ?>-to" title="<?php echo __('To') ?>" value="<?php echo $this->getEscaped($this->getMessage($_item)->getRecipient(), $this->getDefaultTo()) ?>" class="input-text">
+                                            </div>
+                                        </div>
+                                         <div class="field text">
+                                             <label for="gift-message-<?php echo $_item->getId() ?>-message" class="label"><span><?php echo __('Message') ?></span></label>
+                                             <div class="control">
+                                                <textarea id="gift-message-<?php echo $_item->getId() ?>-message" class="input-text giftmessage-area" name="giftmessage[<?php echo $_item->getId() ?>][message]" title="<?php echo __('Message') ?>" rows="5" cols="10"><?php echo $this->getEscaped($this->getMessage($_item)->getMessage()) ?></textarea>
+                                             </div>
+                                         </div>
+                                     </fieldset>
+                                 </div>
+                             <?php endif; ?>
+                         </div>
+                     </li>
+                 <?php endforeach; ?>
+                 </ol>
+            </dd>
+            <?php endif; ?>
+            <dt class="extra-options-container" id="extra-options-container-<?php echo $this->getEntity()->getId() ?>"></dt>
+        </dl>
+    </fieldset>
+    <script type="text/javascript">
+        (function($) {
+            $(function() {
+                head.js("<?php echo $this->getViewFileUrl('Magento_GiftMessage::gift-options.js')?>", function() {
+                    $('#allow_gift_options_<?php echo $this->getEntity()->getId() ?>')
+                        .add('#allow_gift_options_for_order_<?php echo $this->getEntity()->getId() ?>')
+                        .add('#allow_gift_options_for_items_<?php echo $this->getEntity()->getId() ?>').giftOptions();
+                });
+            });
+        })(jQuery);
+    </script>
+    <?php break; ?>
+<?php endswitch ?>
+<?php if ($_giftMessage): ?>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+        "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>", function() {
+            jQuery("#shipping_method_form").validation();
+        });
+</script>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Newsletter/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Newsletter/layout/override/default.xml
new file mode 100644
index 00000000000..fcd852ac5f7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Newsletter/layout/override/default.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="footer">
+        <block class="Magento\Newsletter\Block\Subscribe" name="form.subscribe" as="subscribe" before="-" template="subscribe.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Newsletter/layout/override/newsletter_manage_index.xml b/app/design/frontend/magento_plushe/Magento_Newsletter/layout/override/newsletter_manage_index.xml
new file mode 100644
index 00000000000..cbcc9786b9c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Newsletter/layout/override/newsletter_manage_index.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer My Account Newsletter Subscriptions" type="page" parent="customer_account_index">
+    <update handle="customer_account"/>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Customer\Block\Newsletter" name="customer_newsletter">
+            <container name="customer.newsletter.form.before" as="form_before" label="Newsletter Subscription Form Before" htmlTag="div" htmlClass="rewards"/>
+        </block>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Newsletter/subscribe.phtml b/app/design/frontend/magento_plushe/Magento_Newsletter/subscribe.phtml
new file mode 100644
index 00000000000..c3e45339281
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Newsletter/subscribe.phtml
@@ -0,0 +1,62 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block newsletter">
+    <div class="title"><strong>Newsletter</strong></div>
+    <div class="content">
+        <form action="<?php echo $this->getFormActionUrl() ?>" method="post" id="newsletter-validate-detail">
+            <div class="field newsletter">
+                <label class="label" for="newsletter"><?php echo __('Sign Up for Our Newsletter:') ?></label>
+                <div class="control">
+                    <input name="email" type="text" id="newsletter"
+                                  placeholder="<?php echo __('Enter your email address') ?>"
+                                  data-validate="{required:true, 'validate-email':true}"/>
+                </div>
+                <div class="actions">
+                    <button class="action subscribe" title="<?php echo __('Subscribe') ?>" type="submit">
+                        <span><?php echo __('Subscribe') ?></span>
+                    </button>
+                </div>
+            </div>
+        </form>
+    </div>
+</div>
+
+<script type="text/javascript">
+    //<![CDATA[
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('Magento_Newsletter::newsletter.js')?>", function() {
+                $('#newsletter').newsletter({
+                    formSelector: '#newsletter-validate-detail',
+                    placeholder: '<?php echo __('Enter your email address') ?>'
+                });
+            });
+    })(jQuery);
+    //]]>
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/1column.phtml b/app/design/frontend/magento_plushe/Magento_Page/1column.phtml
new file mode 100644
index 00000000000..11954afe5a7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/1column.phtml
@@ -0,0 +1,60 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+$bodyCss = $this->getBodyClass() ? $this->getBodyClass() : '';
+?>
+<!doctype html>
+<html lang="<?php echo $this->getLang() ?>" class="no-js">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width">
+    <?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="col1-layout<?php echo $bodyCss ?>">
+    <?php echo $this->getChildHtml('after_body_start') ?>
+    <div class="page wrapper">
+        <?php echo $this->getChildHtml('global_notices') ?>
+        <?php echo $this->getChildHtml('header-container') ?>
+        <?php echo $this->getChildHtml('page_top') ?>
+        <section class="page main">
+            <?php echo $this->getChildHtml('columns_top') ?>
+            <div class="columns">
+                <?php echo $this->getChildHtml('main') ?>
+            </div>
+        </section>
+        <?php echo $this->getChildHtml('page_bottom') ?>
+
+        <?php echo $this->getChildHtml('footer') ?>
+
+        <?php echo $this->getChildHtml('before_body_end') ?>
+    </div>
+    <?php echo $this->getAbsoluteFooter() ?>
+</body>
+</html>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/2columns-left.phtml b/app/design/frontend/magento_plushe/Magento_Page/2columns-left.phtml
new file mode 100644
index 00000000000..1f1cdf3674f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/2columns-left.phtml
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+$bodyCss = $this->getBodyClass() ? $this->getBodyClass() : '';
+?>
+<!doctype html>
+<html lang="<?php echo $this->getLang() ?>" class="no-js">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width">
+    <?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="col2-left-layout<?php echo $bodyCss ?>">
+    <?php echo $this->getChildHtml('after_body_start') ?>
+    <div class="page wrapper">
+        <?php echo $this->getChildHtml('global_notices') ?>
+        <?php echo $this->getChildHtml('header-container') ?>
+        <?php echo $this->getChildHtml('page_top') ?>
+        <section class="page main">
+            <?php echo $this->getChildHtml('columns_top') ?>
+            <div class="columns">
+                <?php
+                    echo $this->getChildHtml('main');
+                    // Inside of <php> to avoid spaces between tags
+                    echo '<div class="column left sidebar">';
+                    echo $this->getChildHtml('left');
+                    echo '</div>';
+                ?>
+            </div>
+        </section>
+        <?php echo $this->getChildHtml('page_bottom') ?>
+
+        <?php echo $this->getChildHtml('footer') ?>
+
+        <?php echo $this->getChildHtml('before_body_end') ?>
+    </div>
+    <?php echo $this->getAbsoluteFooter() ?>
+</body>
+</html>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/2columns-right.phtml b/app/design/frontend/magento_plushe/Magento_Page/2columns-right.phtml
new file mode 100644
index 00000000000..59de2698952
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/2columns-right.phtml
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+$bodyCss = $this->getBodyClass() ? $this->getBodyClass() : '';
+?>
+<!doctype html>
+<html lang="<?php echo $this->getLang() ?>" class="no-js">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width">
+    <?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="col2-right-layout<?php echo $bodyCss ?>">
+    <?php echo $this->getChildHtml('after_body_start') ?>
+    <div class="page wrapper">
+        <?php echo $this->getChildHtml('global_notices') ?>
+        <?php echo $this->getChildHtml('header-container') ?>
+        <?php echo $this->getChildHtml('page_top') ?>
+        <section class="page main">
+            <?php echo $this->getChildHtml('columns_top') ?>
+            <div class="columns">
+                <?php
+                    echo $this->getChildHtml('main');
+                    // Inside of <php> to avoid spaces between tags
+                    echo '<div class="column right sidebar">';
+                    echo $this->getChildHtml('right');
+                    echo '</div>';
+                ?>
+            </div>
+        </section>
+        <?php echo $this->getChildHtml('page_bottom') ?>
+
+        <?php echo $this->getChildHtml('footer') ?>
+
+        <?php echo $this->getChildHtml('before_body_end') ?>
+    </div>
+    <?php echo $this->getAbsoluteFooter() ?>
+</body>
+</html>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/3columns.phtml b/app/design/frontend/magento_plushe/Magento_Page/3columns.phtml
new file mode 100644
index 00000000000..b87d7e01b3e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/3columns.phtml
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+$bodyCss = $this->getBodyClass() ? $this->getBodyClass() : '';
+?>
+<!doctype html>
+<html lang="<?php echo $this->getLang() ?>" class="no-js">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width">
+    <?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="col3-layout<?php echo $bodyCss ?>">
+    <?php echo $this->getChildHtml('after_body_start') ?>
+    <div class="page wrapper">
+        <?php echo $this->getChildHtml('global_notices') ?>
+        <?php echo $this->getChildHtml('header-container') ?>
+        <?php echo $this->getChildHtml('page_top') ?>
+        <section class="page main">
+            <?php echo $this->getChildHtml('columns_top') ?>
+            <div class="columns">
+                <?php
+                    echo $this->getChildHtml('main');
+                    // Inside of <php> to avoid spaces between tags
+                    echo '<div class="column left sidebar">';
+                    echo $this->getChildHtml('left');
+                    echo '</div>';
+                    echo '<div class="column right sidebar">';
+                    echo $this->getChildHtml('right');
+                    echo '</div>';
+                ?>
+            </div>
+        </section>
+        <?php echo $this->getChildHtml('page_bottom') ?>
+
+        <?php echo $this->getChildHtml('footer') ?>
+
+        <?php echo $this->getChildHtml('before_body_end') ?>
+    </div>
+    <?php echo $this->getAbsoluteFooter() ?>
+</body>
+</html>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/blank.phtml b/app/design/frontend/magento_plushe/Magento_Page/blank.phtml
new file mode 100644
index 00000000000..947fc6c18a9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/blank.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Blank page Template for \Magento\Page\Block\Html
+ */
+?>
+<?php echo $this->getChildHtml('content'); ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/empty.phtml b/app/design/frontend/magento_plushe/Magento_Page/empty.phtml
new file mode 100644
index 00000000000..b61be5ca1b9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/empty.phtml
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+$bodyCss = $this->getBodyClass() ? $this->getBodyClass() : '';
+?>
+<!doctype html>
+<html lang="<?php echo $this->getLang() ?>" class="no-js">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width">
+    <?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="page-empty<?php echo $bodyCss ?>">
+    <?php echo $this->getChildHtml('after_body_start') ?>
+    <div class="page wrapper">
+        <?php echo $this->getChildHtml('global_notices') ?>
+        <section class="page main">
+            <?php echo $this->getChildHtml('columns_top') ?>
+            <div class="columns">
+                <?php echo $this->getChildHtml('main') ?>
+            </div>
+        </section>
+        <?php echo $this->getChildHtml('page_bottom') ?>
+        <?php echo $this->getChildHtml('before_body_end') ?>
+    </div>
+    <?php echo $this->getAbsoluteFooter() ?>
+</body>
+</html>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/block.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/block.phtml
new file mode 100644
index 00000000000..e0d3181c353
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/block.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block <?php echo $this->getBlockCss(); ?>">
+    <div class="title"><strong><?php echo $this->getBlockTitle(); ?></strong></div>
+    <div class="content">
+        <?php echo $this->getChildHtml(); ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/breadcrumbs.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/breadcrumbs.phtml
new file mode 100644
index 00000000000..5bfd6768190
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/breadcrumbs.phtml
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if($crumbs && is_array($crumbs)): ?>
+<div class="breadcrumbs">
+    <ul class="items">
+        <?php foreach($crumbs as $_crumbName=>$_crumbInfo): ?>
+            <li class="item <?php echo $_crumbName ?>">
+            <?php if($_crumbInfo['link']): ?>
+                <a href="<?php echo $_crumbInfo['link'] ?>" title="<?php echo $this->escapeHtml($_crumbInfo['title']) ?>"><?php echo $this->escapeHtml($_crumbInfo['label']) ?></a>
+            <?php elseif($_crumbInfo['last']): ?>
+                <strong><?php echo $this->escapeHtml($_crumbInfo['label']) ?></strong>
+            <?php else: ?>
+                <?php echo $this->escapeHtml($_crumbInfo['label']) ?>
+            <?php endif; ?>
+            </li>
+        <?php endforeach; ?>
+    </ul>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/copyright.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/copyright.phtml
new file mode 100644
index 00000000000..614ecf30ea4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/copyright.phtml
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<small class="copyright">
+    <span><?php echo $this->getCopyright() ?></span>
+</small>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/head.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/head.phtml
new file mode 100644
index 00000000000..9254ba1971d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/head.phtml
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<meta http-equiv="Content-Type" content="<?php echo $this->getContentType() ?>"/>
+<title><?php echo $this->getTitle() ?></title>
+<meta name="description" content="<?php echo $this->escapeHtml($this->getDescription())?>"/>
+<meta name="keywords" content="<?php echo $this->escapeHtml($this->getKeywords())?>"/>
+<meta name="robots" content="<?php echo $this->escapeHtml($this->getRobots())?>"/>
+<link rel="icon" href="<?php echo $this->getFaviconFile(); ?>" type="image/x-icon"/>
+<link rel="shortcut icon" href="<?php echo $this->getFaviconFile(); ?>" type="image/x-icon"/>
+<?php echo $this->getCssJsHtml() ?>
+<?php echo $this->getChildHtml() ?>
+<?php echo $this->getIncludes() ?>
+<?php echo $this->helper('Magento\Core\Helper\Js')->getTranslatorScript() ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/header.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/header.phtml
new file mode 100644
index 00000000000..d7747717eee
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/header.phtml
@@ -0,0 +1,52 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/**
+ * @var \Magento\Page\Block\Html\Header $this
+ */
+?>
+
+<?php switch($this->getShowPart()):
+    case 'logo': ?>
+        <?php $storeName = $this->getThemeName() ? $this->getThemeName() : $this->getLogoAlt();?>
+        <?php if ($this->getIsHomePage()):?>
+        <strong class="logo">
+            <img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" />
+        </strong>
+        <?php else:?>
+        <a class="logo" href="<?php echo $this->getUrl(''); ?>" title="<?php echo $storeName ?>">
+            <img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $storeName ?>" />
+        </a>
+        <?php endif?>
+    <?php break; ?>
+
+    <?php case 'welcome': ?>
+        <p class="welcome"><?php echo $this->getWelcome() ?></p>
+    <?php break; ?>
+
+    <?php case 'other': ?>
+        <?php echo $this->getChildHtml(); ?>
+    <?php break; ?>
+
+<?php endswitch; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/notices.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/notices.phtml
new file mode 100644
index 00000000000..7814e18e1c7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/notices.phtml
@@ -0,0 +1,90 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @var $this \Magento\Page\Block\Html\Notices
+ */
+?>
+<?php if ($this->displayNoscriptNotice()): ?>
+    <noscript>
+        <div class="notice global site noscript">
+            <div class="content">
+                <p>
+                    <strong><?php echo __('JavaScript seems to be disabled in your browser.'); ?></strong><br />
+                    <?php echo __('Enable JavaScript in your browser to get the best experience on our website!'); ?>
+                </p>
+            </div>
+        </div>
+    </noscript>
+<?php endif; ?>
+<?php if ($this->displayDemoNotice()): ?>
+    <div class="notice global site demo">
+        <div class="content"><p><?php echo __('This is just a demo store. You can browse and place orders, but nothing will be processed.') ?></p></div>
+    </div>
+    <?php $noticePosion = true; ?>
+<?php endif; ?>
+<?php if ($this->helper('Magento\Core\Helper\Cookie')->isUserNotAllowSaveCookie()): ?>
+    <div class="notice global site cookie" id="notice-cookie-block" style="display: none">
+        <div class="content">
+            <p><?php echo __('This store uses cookies to make shopping more enjoyable. Learn how cookies work in our <a href="%1">privacy policy</a>.', $this->getPrivacyPolicyLink()) ?></p>
+            <div class="actions"><button id="btn-cookie-allow" class="action allow"><span><?php echo __('Allow Cookies');?></span></button></div>
+        </div>
+    </div>
+    <script type="text/javascript">
+        // <![CDATA[
+        (function($) {
+            head.js("<?php echo $this->getViewFileUrl('mage/cookies.js')?>",
+                "<?php echo $this->getViewFileUrl('Magento_Page::js/notices.js')?>", function() {
+                    $('#notice-cookie-block').cookieBlock({
+                        cookieAllowButtonSelector: '#btn-cookie-allow',
+                        cookieName: '<?php echo \Magento\Core\Helper\Cookie::IS_USER_ALLOWED_SAVE_COOKIE ?>',
+                        cookieValue: '<?php echo $this->helper('Magento\Core\Helper\Cookie')->getAcceptedSaveCookiesWebsiteIds() ?>',
+                        cookieLifetime: <?php echo $this->helper('Magento\Core\Helper\Cookie')->getCookieRestrictionLifetime()?>,
+                        noCookiesUrl: '<?php echo $this->getUrl('cms/index/noCookies') ?>'
+                    });
+                });
+        })(jQuery);
+        // ]]>
+    </script>
+    <?php $noticePosion = true; ?>
+<?php endif; ?>
+<?php if (isset($noticePosion)): ?>
+    <script type="text/javascript">
+        // <![CDATA[
+        (function($) {
+            $(document).ready(function() {
+                var notices = $('.notice.global.site'),
+                    top = 0;
+                for (var i=0; i < notices.length; i++) {
+                    $(notices[i]).css('top',top);
+                    top += $(notices[i]).outerHeight();
+                    $('body').css('paddingTop', top );
+                };
+            });
+        })(jQuery);
+        // ]]>
+    </script>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/pager.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/pager.phtml
new file mode 100644
index 00000000000..689cd83158f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/pager.phtml
@@ -0,0 +1,119 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Pager template
+ *
+ * @see \Magento\Page\Block\Html\Pager
+ */
+?>
+<?php if($this->getCollection()->getSize()): ?>
+
+    <?php if($this->getUseContainer()): ?>
+    <div class="pager">
+    <?php endif ?>
+
+    <?php if($this->getShowAmounts()): ?>
+    <p class="amount">
+        <?php if($this->getLastPageNum()>1): ?>
+            <?php echo __('Items %1 to %2 of %3 total', $this->getFirstNum(), $this->getLastNum(), $this->getTotalNum()) ?>
+        <?php elseif ($this->getLastPageNum() == 1): ?>
+            <?php echo __('%1 Item', $this->getTotalNum()) ?>
+        <?php else: ?>
+            <?php echo __('%1 Item(s)', $this->getTotalNum()) ?>
+        <?php endif; ?>
+    </p>
+    <?php endif ?>
+
+        <?php if($this->getShowPerPage()): ?>
+            <div class="limiter">
+                <strong class="label"><?php echo __('Show') ?></strong>
+                <select id="limiter" data-mage-redirect="{'event':'change'}">
+                    <?php foreach ($this->getAvailableLimit() as $_key => $_limit): ?>
+                    <option value="<?php echo $this->getLimitUrl($_key) ?>"<?php if ($this->isLimitCurrent($_key)): ?>
+                            selected="selected"<?php endif ?>>
+                        <?php echo $_limit ?>
+                    </option>
+                    <?php endforeach; ?>
+                </select>
+                <span class="text"><?php echo __('per page') ?></span>
+            </div>
+        <?php endif ?>
+
+        <?php if($this->getLastPageNum()>1): ?>
+        <div class="pages">
+            <strong class="label"><?php echo __('Page') ?></strong>
+            <ol class="items">
+            <?php if (!$this->isFirstPage()): ?>
+                <li class="item">
+                    <?php $text = $this->getAnchorTextForPrevious() ? $this->getAnchorTextForPrevious() : '';?>
+                    <a class="<?php echo $text ? 'link ' : 'action '?> previous" href="<?php echo $this->getPreviousPageUrl() ?>" title="<?php echo $text ? $text : __('Previous') ?>">
+                        <span><?php echo $text ? $text : __('Previous') ?></span>
+                    </a>
+                </li>
+            <?php endif;?>
+
+            <?php if ($this->canShowFirst()): ?>
+                <li class="item"><a class="first" href="<?php echo $this->getFirstPageUrl() ?>"><span>1</span></a></li>
+            <?php endif;?>
+
+            <?php if ($this->canShowPreviousJump()): ?>
+                <li class="item"><a class="previous jump" title="" href="<?php echo $this->getPreviousJumpUrl() ?>"><span>...</span></a></li>
+            <?php endif;?>
+
+            <?php foreach ($this->getFramePages() as $_page): ?>
+                <?php if ($this->isPageCurrent($_page)): ?>
+                    <li class="item current"><strong><span><?php echo $_page ?></span></strong></li>
+                <?php else: ?>
+                    <li class="item"><a href="<?php echo $this->getPageUrl($_page) ?>"><span><?php echo $_page ?></span></a></li>
+                <?php endif;?>
+            <?php endforeach;?>
+
+            <?php if ($this->canShowNextJump()): ?>
+                <li class="item"><a class="next jump" title="" href="<?php echo $this->getNextJumpUrl() ?>"><span>...</span></a></li>
+            <?php endif;?>
+
+            <?php if ($this->canShowLast()): ?>
+              <li class="item"><a class="last" href="<?php echo $this->getLastPageUrl() ?>"><span><?php echo $this->getLastPageNum() ?></span></a></li>
+            <?php endif;?>
+
+            <?php if (!$this->isLastPage()): ?>
+                <li class="item">
+                    <?php $text = $this->getAnchorTextForNext() ? $this->getAnchorTextForNext() : '';?>
+                    <a class="<?php echo $text ? 'link ' : 'action '?> next" href="<?php echo $this->getNextPageUrl() ?>" title="<?php echo $text ? $text : __('Next') ?>">
+                        <span><?php echo $text ? $text : __('Next') ?></span>
+                    </a>
+                </li>
+            <?php endif;?>
+            </ol>
+        </div>
+        <?php endif; ?>
+
+    <?php if($this->getUseContainer()): ?>
+    </div>
+    <?php endif ?>
+
+<?php endif ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/title.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/title.phtml
new file mode 100644
index 00000000000..103a2c8d32f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/title.phtml
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * @var $this \Magento\Page\Block\Html\Title
+ */
+$cssClass = $this->getCssClass() ? ' ' . $this->getCssClass() : '';
+$prefix = $this->getPrefix() ? '<span class="prefix">' . $this->getPrefix() . '</span>' : '';
+$suffix = $this->getSuffix() ? '<span class="suffix">' . $this->getSuffix() . '</span>' : '';
+$title = '';
+if (trim($this->getPageTitle())) {
+    $title = $prefix . '<span class="base">' . $this->getPageTitle() . '</span>' . $suffix;
+}
+?>
+<?php if ($title): ?>
+<div class="page title<?php echo $cssClass; ?>">
+    <h1 class="title"><?php echo $title ?></h1>
+    <?php echo $this->getChildHtml(); ?>
+</div>
+<?php endif; ?>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/topmenu.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/topmenu.phtml
new file mode 100644
index 00000000000..9c10e155293
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/topmenu.phtml
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Mage
+ * @package     Magento_Page
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Top menu for store
+ *
+ * @see \Magento\Page\Block\Html\Topmenu
+ */
+?>
+<?php $columnsLimit = $this->getColumnsLimit() ? : 0; ?>
+<?php $_menu = $this->getHtml('level-top','submenu', $columnsLimit) ?>
+<?php if ($_menu): ?>
+<nav class="navigation" role="navigation">
+    <ul>
+        <?php echo $_menu; ?>
+    </ul>
+</nav>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/layout/default.xml b/app/design/frontend/magento_plushe/Magento_Page/layout/default.xml
new file mode 100644
index 00000000000..e686483e6cc
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/layout/default.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="logo">
+        <arguments>
+            <argument name="theme_name" xsi:type="string">plushe</argument>
+        </arguments>
+    </referenceBlock>
+    <referenceBlock name="head">
+        <block class="Magento\Page\Block\Html\Head\Css" name="css-styles-css">
+            <arguments>
+                <argument name="file" xsi:type="string">css/styles.css</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="js-matchmedia-js">
+            <arguments>
+                <argument name="file" xsi:type="string">js/matchMedia.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="js-head-js">
+            <arguments>
+                <argument name="file" xsi:type="string">js/head.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="js-jquery-dropdowns-js">
+            <arguments>
+                <argument name="file" xsi:type="string">js/jquery.dropdowns.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="js-tabs-js">
+            <arguments>
+                <argument name="file" xsi:type="string">js/tabs.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="js-navigation-menu-js">
+            <arguments>
+                <argument name="file" xsi:type="string">js/navigation-menu.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="js-theme-js">
+            <arguments>
+                <argument name="file" xsi:type="string">js/theme.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="js-selectivizr-js">
+            <arguments>
+                <argument name="file" xsi:type="string">js/selectivizr.js</argument>
+                <argument name="properties" xsi:type="array">
+                    <item name="ie_condition" xsi:type="string">lt IE 9</item>
+                </argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+    <referenceContainer name="header">
+        <block class="Magento\Page\Block\Links" name="header.links" after="minicart">
+            <arguments>
+                <argument name="css_class" xsi:type="string">links</argument>
+            </arguments>
+        </block>
+    </referenceContainer>
+
+    <referenceBlock name="top.links">
+        <arguments>
+            <argument name="css_class" xsi:type="string">links</argument>
+        </arguments>
+    </referenceBlock>
+    <referenceBlock name="footer_links">
+        <arguments>
+            <argument name="css_class" xsi:type="string">links</argument>
+        </arguments>
+    </referenceBlock>
+    <referenceBlock name="catalog.topnav">
+        <arguments>
+            <argument name="columns_limit" xsi:type="string">1</argument>
+        </arguments>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Page/layout/override/default.xml
new file mode 100644
index 00000000000..f005e0a0a0a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/layout/override/default.xml
@@ -0,0 +1,168 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="All Pages" type="page">
+    <block class="Magento\Page\Block\Html" name="root" output="1" template="3columns.phtml">
+        <block class="Magento\Page\Block\Html\Head" name="head" as="head">
+            <block class="Magento\Page\Block\Js\Cookie" name="js_cookies" template="js/cookie.phtml"/>
+        </block>
+        <container name="after_body_start" as="after_body_start" label="Page Top"/>
+        <container name="header-container" label="Page Header Container" as="header-container" htmlTag="header" htmlClass="header">
+            <container name="header.panel" label="Page Header Panel" htmlTag="div" htmlClass="panel">
+                <block class="Magento\Page\Block\Switcher" name="store_language" as="store_language" template="switch/languages.phtml"/>
+            </container>
+            <container name="header" label="Page Header" as="header" htmlTag="div" htmlClass="content">
+                <block class="Magento\Page\Block\Html\Header" name="logo">
+                    <arguments>
+                        <argument name="show_part" xsi:type="string">logo</argument>
+                    </arguments>
+                </block>
+                <block class="Magento\Page\Block\Links" name="top.links"/>
+            </container>
+        </container>
+        <container name="page_top" as="page_top" label="After Page Header">
+            <block class="Magento\Page\Block\Html\Topmenu" name="catalog.topnav" template="html/topmenu.phtml"/>
+            <container name="top.container" as="topContainer" label="Page Header" htmlTag="div" htmlClass="top-container"/>
+            <block class="Magento\Page\Block\Html\Breadcrumbs" name="breadcrumbs" as="breadcrumbs"/>
+        </container>
+        <!--
+        <container name="page_main" as="page_main" label="Page main" htmlTag="div" htmlClass="columns">
+            <container name="main" as="main" label="Main Content Container" htmlTag="div" htmlClass="column main">
+                <container name="content-top" label="Main Content Top" />
+                <container name="content" label="Main Content Area" />
+                <container name="content-aside" label="Main Content Aside" />
+                <container name="content-bottom" label="Main Content Bottom" />
+            </container>
+        </container>
+        -->
+        <container name="columns.top" label="Before Main Columns" as="columns_top">
+            <block class="Magento\Page\Block\Html\Title" name="page.main.title" template="html/title.phtml"/>
+            <container name="page.messages" label="invisible" htmlTag="div" htmlClass="page messages">
+                <block class="Magento\Core\Block\Messages" name="global_messages" as="global_messages"/>
+                <block class="Magento\Core\Block\Messages" name="messages" as="messages"/>
+            </container>
+        </container>
+        <container name="main" as="main" label="Main Content Container" htmlTag="div" htmlClass="column main">
+            <container name="content.top" label="Main Content Top"/>
+            <container name="content" label="Main Content Area"/>
+            <container name="content.aside" label="Main Content Aside"/>
+            <container name="content.bottom" label="Main Content Bottom"/>
+        </container>
+        <container name="left" as="left" label="Left Column"/>
+        <container name="right" as="right" label="Right Column"/>
+        <container name="page.bottom.container" as="page_bottom" label="Before Page Footer Container" htmlTag="div" htmlClass="page bottom">
+            <container name="page.bottom" label="Before Page Footer" htmlTag="div" htmlClass="content"/>
+        </container>
+        <container name="footer-container" as="footer" label="Page Footer Container" htmlTag="footer" htmlClass="footer">
+            <container name="footer" as="footer" label="Page Footer" htmlTag="div" htmlClass="content">
+                <block class="Magento\Page\Block\Switcher" name="store_switcher" as="store_switcher" template="switch/stores.phtml"/>
+                <block class="Magento\Page\Block\Links" name="footer_links"/>
+                <block class="Magento\Page\Block\Html\Footer" name="copyright" template="html/copyright.phtml"/>
+                <!--<block class="Magento\Page\Block\Html\Footer" name="report.bugs" template="html/reportbugs.phtml" />-->
+            </container>
+        </container>
+        <container name="before_body_end" as="before_body_end" label="Page Bottom">
+            <block class="Magento\Page\Block\Html\Notices" name="global_notices" template="html/notices.phtml"/>
+        </container>
+    </block>
+    <referenceBlock name="head">
+        <block class="Magento\Page\Block\Html\Head\Css" name="mage-calendar-css">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/calendar.css</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="jquery-jquery-js">
+            <arguments>
+                <argument name="file" xsi:type="string">jquery/jquery.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-jquery-no-conflict-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/jquery-no-conflict.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="head-load-min-js">
+            <arguments>
+                <argument name="file" xsi:type="string">head.load.min.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-mage-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/mage.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-decorate-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/decorate.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-translate-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/translate.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-cookies-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/cookies.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="jquery-jquery-ui-js">
+            <arguments>
+                <argument name="file" xsi:type="string">jquery/jquery-ui.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="jquery-jquery-tmpl-min-js">
+            <arguments>
+                <argument name="file" xsi:type="string">jquery/jquery.tmpl.min.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-bootstrap-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/bootstrap.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-page-js-truncate-js">
+            <arguments>
+                <argument name="file" xsi:type="string">Magento_Page::js/truncate.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-common-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/common.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-toggle-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/toggle.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-popup-window-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/popup-window.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Core\Block\Template" name="head.components" as="components" template="Magento_Page::js/components.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/layout/override/print.xml b/app/design/frontend/magento_plushe/Magento_Page/layout/override/print.xml
new file mode 100644
index 00000000000..befe0f664c0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/layout/override/print.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="All Pages (Print Version)" type="page">
+    <block class="Magento\Page\Block\Html" name="root" output="1" template="print.phtml">
+        <block class="Magento\Page\Block\Html\Head" name="head" as="head"/>
+        <container name="after_body_start" as="after_body_start" label="Page Top"/>
+        <container name="content" as="content" label="Main Content Area"/>
+    </block>
+    <referenceBlock name="head">
+        <block class="Magento\Page\Block\Html\Head\Css" name="css-print-css">
+            <arguments>
+                <argument name="file" xsi:type="string">css/print.css</argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/link/current.phtml b/app/design/frontend/magento_plushe/Magento_Page/link/current.phtml
new file mode 100644
index 00000000000..d8e6268840b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/link/current.phtml
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/**
+ * @var $this \Magento\Page\Block\Link\Current
+ */
+?>
+<?php if ($this->isCurrent()):?>
+<li class="nav item current">
+    <strong><?php echo $this->escapeHtml(__($this->getLabel()))?></strong>
+</li>
+<?php else:?>
+<li class="nav item">
+    <a href="<?php echo $this->escapeHtml($this->getHref())?>"
+        <?php if ($title = $this->getTitle()):?> title="<?php echo $this->escapeHtml(__($title))?>"<?php endif;?>
+    >
+        <?php echo $this->escapeHtml(__($this->getLabel()))?>
+    </a>
+</li>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/page.phtml b/app/design/frontend/magento_plushe/Magento_Page/page.phtml
new file mode 100644
index 00000000000..8a143569665
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/page.phtml
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+$bodyCss = $this->getBodyClass() ? $this->getBodyClass() : '';
+?>
+<!doctype html>
+<html lang="<?php echo $this->getLang() ?>" class="no-js">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width">
+    <?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="<?php echo $bodyCss ?>">
+    <?php echo $this->getChildHtml('after_body_start') ?>
+    <div class="page wrapper">
+        <?php echo $this->getChildHtml('global_notices') ?>
+        <?php echo $this->getChildHtml('header-container') ?>
+        <?php echo $this->getChildHtml('page_top') ?>
+        <section class="page main">
+            <?php echo $this->getChildHtml('page_main') ?>
+        </section>
+        <?php echo $this->getChildHtml('page_bottom') ?>
+
+        <?php echo $this->getChildHtml('footer') ?>
+
+        <?php echo $this->getChildHtml('before_body_end') ?>
+    </div>
+    <?php echo $this->getAbsoluteFooter() ?>
+</body>
+</html>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/popup.phtml b/app/design/frontend/magento_plushe/Magento_Page/popup.phtml
new file mode 100644
index 00000000000..816610ffdd6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/popup.phtml
@@ -0,0 +1,48 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+$bodyCss = $this->getBodyClass() ? $this->getBodyClass() : '';
+?>
+<!doctype html>
+<html lang="<?php echo $this->getLang() ?>" class="no-js">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width">
+    <?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="page popup<?php echo $bodyCss ?>">
+    <?php echo $this->getChildHtml('after_body_start') ?>
+    <div class="page wrapper">
+        <?php echo $this->getChildHtml('main') ?>
+    </div>
+    <?php echo $this->getChildHtml('before_body_end') ?>
+    <?php echo $this->getAbsoluteFooter() ?>
+</body>
+</html>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/print.phtml b/app/design/frontend/magento_plushe/Magento_Page/print.phtml
new file mode 100644
index 00000000000..19e15f9c166
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/print.phtml
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
+<head>
+<?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="page print<?php echo $this->getBodyClass()?$this->getBodyClass():'' ?>">
+<?php echo $this->getChildHtml('after_body_start') ?>
+<div class="page print wrapper">
+    <header class="header print">
+        <img src="<?php echo $this->getPrintLogoUrl() ? $this->getPrintLogoUrl() : $this->getViewFileUrl('images/logo.gif') ?>" class="logo" alt="" />
+        <?php if ($this->getPrintLogoText()):?>
+            <address><?php echo nl2br($this->escapeHtml($this->getPrintLogoText())) ?></address>
+        <?php endif;?>
+    </header>
+    <div class="page print main">
+        <?php echo $this->getChildHtml('content') ?>
+    </div>
+    <footer class="page print footer">
+        <div class="actions">
+            <button type="button" title="<?php echo __('Close Window') ?>" class="action close" onclick="window.close();"><span><?php echo __('Close Window') ?></span></button>
+        </div>
+    </footer>
+    <?php echo $this->getAbsoluteFooter() ?>
+</div>
+</body>
+</html>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/switch/languages.phtml b/app/design/frontend/magento_plushe/Magento_Page/switch/languages.phtml
new file mode 100644
index 00000000000..3b6a76e6cb6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/switch/languages.phtml
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Language switcher template
+ *
+ * @see \Magento\Page\Block\Switch
+ */
+?>
+
+<?php if(count($this->getStores())>1): ?>
+<div class="switcher language">
+    <strong class="label"><span><?php echo __('Language') ?></span></strong>
+    <div class="options">
+        <strong class="view-<?php echo $this->escapeHtml($this->getCurrentStoreCode()) ?>">
+            <span><?php echo $this->escapeHtml($this->getStoreName()) ?></span>
+        </strong>
+        <button type="button" data-toggle="dropdown" class="action switch"><span><?php echo __('Change')?></span></button>
+        <ul data-target="dropdown">
+            <?php foreach ($this->getStores() as $_lang): ?>
+                <?php if($_lang->getId()!=$this->getCurrentStoreId()): ?>
+                    <li class="view-<?php echo $this->escapeHtml($_lang->getCode()); ?>">
+                        <a href="<?php echo $_lang->getCurrentUrl() ?>"><?php echo $this->escapeHtml($_lang->getName()) ?></a>
+                    </li>
+                <?php endif; ?>
+            <?php endforeach; ?>
+        </ul>
+    </div>
+</div>
+<?php endif; ?>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Page/switch/stores.phtml b/app/design/frontend/magento_plushe/Magento_Page/switch/stores.phtml
new file mode 100644
index 00000000000..cb4d6d80c79
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/switch/stores.phtml
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Store switcher template
+ *
+ * @see \Magento\Core\Block\Store\Switcher
+ */
+?>
+<?php if(count($this->getGroups())>1): ?>
+<div class="switcher-store">
+    <label><?php echo __('Select Store') ?>:</label>
+    <ul id="select-store">
+    <?php foreach ($this->getGroups() as $_group): ?>
+        <?php /* $_selected = ($_group->getId()==$this->getCurrentGroupId()) ? ' class="current"' : '' */ ?>
+        <?php if ($_group->getId()==$this->getCurrentGroupId()): ?>
+        <li class="current"><strong><?php echo $this->escapeHtml($_group->getName()) ?></strong></li>
+        <?php else: ?>
+        <li><a href="<?php echo $_group->getHomeUrl() ?>"><?php echo $this->escapeHtml($_group->getName()) ?></a></li>
+        <?php endif; ?>
+    <?php endforeach; ?>
+    </ul>
+</div>
+<?php endif; ?>
+
+<?php /* if(count($this->getGroups())>1): ?>
+<div class="switcher-store">
+    <label for="select-store"><?php echo __('Select Store') ?>:</label>
+    <select id="select-store" onchange="location.href=this.value">
+    <?php foreach ($this->getGroups() as $_group): ?>
+        <?php $_selected = ($_group->getId()==$this->getCurrentGroupId()) ? ' selected="selected"' : '' ?>
+        <option value="<?php echo $_group->getHomeUrl() ?>"<?php echo $_selected ?>><?php echo $this->escapeHtml($_group->getName()) ?></option>
+    <?php endforeach; ?>
+    </select>
+</div>
+<?php endif; */ ?>
diff --git a/app/design/frontend/magento_plushe/Magento_PageCache/layout/default.xml b/app/design/frontend/magento_plushe/Magento_PageCache/layout/default.xml
new file mode 100644
index 00000000000..f3514857ff8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_PageCache/layout/default.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <move element="external.pagecache.cookie" destination="content.bottom" after="-"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Paypal/express/review.phtml b/app/design/frontend/magento_plushe/Magento_Paypal/express/review.phtml
new file mode 100644
index 00000000000..ed52fbe4f8b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Paypal/express/review.phtml
@@ -0,0 +1,111 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/** @var $this \Magento\Paypal\Block\Express\Review */
+
+$billingBlock = $this->getChildBlock('billing')->setFieldNamePrefix('billing')->setHideEmailAddress(true);
+$shippingAddress = $this->getShippingAddress();
+?>
+<hgroup class="page title">
+    <h1 class="title"><span class="base"><?php echo __('Review Order') ?></span></h1>
+</hgroup>
+<?php echo $this->getMessagesBlock()->toHtml() ?>
+<div class="paypal review view">
+    <div class="paypal subtitle caption"><strong>Please confirm your addresses</strong></div>
+
+    <form method="post" id="order-review-form" action="<?php echo $this->getPlaceOrderUrl() ?>" class="form paypal review">
+        <?php if(!$billingBlock->isCustomerLoggedIn()): ?>
+            <fieldset class="fieldset customer email">
+                <legend class="legend"><span><?php echo __('Customer Information') ?></span></legend>
+                <br>
+                <div id="customer-info-form" class="field email required">
+                    <label for="customer:email" class="label"><?php echo __('Email Address') ?></label>
+                    <div class="control">
+                        <input type="text" name="customer-email" id="customer:email" value="<?php echo $this->escapeHtml($billingBlock->getAddress()->getEmail()) ?>" title="<?php echo __('Email Address') ?>" class="input-text" />
+                    </div>
+                </div>
+            </fieldset>
+        <?php endif ?>
+
+        <fieldset class="fieldset billing address" id="billing-address">
+            <legend class="legend"><span><?php echo __('Billing Address') ?></span></legend>
+            <br>
+            <?php if ($shippingAddress): ?>
+                <?php echo $billingBlock->setShowAsShippingCheckbox(true)->toHtml(); ?>
+            <?php else: ?>
+                <?php echo $billingBlock->toHtml(); ?>
+            <?php endif; ?>
+        </fieldset>
+
+        <?php if ($shippingAddress): ?>
+            <fieldset class="fieldset shipping address" id="shipping-address">
+                <legend class="legend"><span><?php echo __('Shipping Address') ?></span></legend>
+                <br>
+                <?php echo $this->getChildBlock('shipping')->setFieldNamePrefix('shipping')->setHideEmailAddress(true)->toHtml(); ?>
+            </fieldset>
+
+            <fieldset class="fieldset shipping method">
+                <legend class="legend"><span><?php echo __('Shipping Method') ?></span></legend>
+                <br>
+                <?php echo $this->getChildBlock('shipping_method')->toHtml(); ?>
+            </fieldset>
+        <?php endif; ?>
+
+        <div class="paypal review items">
+            <div class="paypal subtitle caption">
+                <strong><?php echo __('Items in Your Shopping Cart') ?></strong>
+                <a href="<?php echo $this->getUrl('checkout/cart') ?>" class="action edit"><?php echo __('Edit Shopping Cart') ?></a>
+            </div>
+
+            <div id="details-reload">
+                <?php echo $this->getChildHtml('details') ?>
+            </div>
+        </div>
+
+        <?php echo $this->getChildHtml('agreements'); ?>
+        <div class="actions" id="review-buttons-container">
+            <button type="button" id="review-button" value="<?php echo __('Place Order') ?>" class="action checkout"><span><?php echo __('Place Order') ?></span></button>
+            <button type="button" id="review-submit" value="<?php echo __('Place Order') ?>" class="action checkout"><span><?php echo __('Place Order') ?></span></button>
+            <button type="button" id="update-order" class="action update"><span><?php echo __('Update Order Data') ?></span></button>
+            <span class="please-wait load indicator" id="review-please-wait" style="display:none;">
+               <span><?php echo __('Submitting order information...') ?></span>
+            </span>
+        </div>
+    </form>
+</div>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+        "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('Magento_Paypal::order-review.js') ?>",
+        function() {
+            jQuery('#order-review-form').validation().orderReview({
+                shippingMethodUpdateUrl: '<?php echo $this->escapeHtml($this->getUpdateShippingMethodsUrl()) ?>',
+                updateOrderSubmitUrl: '<?php echo $this->escapeHtml($this->getUpdateOrderSubmitUrl()) ?>',
+                isAjax: <?php echo $this->getUseAjax() ? 'true' : 'false' ?>
+            });
+        });
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Paypal/express/review/address.phtml b/app/design/frontend/magento_plushe/Magento_Paypal/express/review/address.phtml
new file mode 100644
index 00000000000..2cf078fc786
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Paypal/express/review/address.phtml
@@ -0,0 +1,143 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Mage
+ * @package     Magento_Paypal
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $prefix = $this->getFieldNamePrefix();?>
+    <input type="hidden" name="<?php echo $prefix ?>[address_id]" value="<?php echo $this->getAddress()->getId() ?>" id="<?php echo $prefix ?>:address_id" />
+    <?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')->setObject($this->getAddress()->getFirstname() ? $this->getAddress() : $this->getQuote()->getCustomer())->setForceUseCustomerRequiredAttributes(!$this->isCustomerLoggedIn())->setFieldIdFormat($prefix . ':%s')->setFieldNameFormat($prefix . '[%s]')->toHtml() ?>
+
+    <div class="field company">
+        <label for="<?php echo $prefix ?>:company" class="label"><span><?php echo __('Company') ?></span></label>
+        <div class="control">
+            <input type="text" id="<?php echo $prefix ?>:company" name="<?php echo $prefix ?>[company]" value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>" title="<?php echo __('Company') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('company') ?>" />
+        </div>
+    </div>
+
+    <?php if(!$this->isCustomerLoggedIn() && !$this->getHideEmailAddress()): ?>
+        <div class="field email required">
+            <label for="<?php echo $prefix ?>:email" class="label"><span><?php echo __('Email Address') ?></span></label>
+            <div class="control">
+                <input type="text" name="<?php echo $prefix ?>[email]" id="<?php echo $prefix ?>:email" value="<?php echo $this->escapeHtml($this->getAddress()->getEmail()) ?>" title="<?php echo __('Email Address') ?>" class="input-text validate-email required-entry" />
+            </div>
+        </div>
+    <?php endif; ?>
+
+    <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
+    <div class="field street required">
+        <label for="<?php echo $prefix ?>:street1" class="label"><span><?php echo __('Address') ?></span></label>
+        <div class="control">
+            <input type="text" title="<?php echo __('Street Address') ?>" name="<?php echo $prefix ?>[street][]" id="<?php echo $prefix ?>:street1" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet(1)) ?>" class="input-text required-entry <?php echo $_streetValidationClass ?>" />
+            <?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
+            <?php for ($_i = 2, $_n = $this->helper('Magento\Customer\Helper\Address')->getStreetLines(); $_i <= $_n; $_i++): ?>
+                <div class="nested">
+                        <input type="text" title="<?php echo __('Street Address %1', $_i) ?>" name="<?php echo $prefix ?>[street][]" id="<?php echo $prefix ?>:street<?php echo $_i?>" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet($_i)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                    </div>
+            <?php endfor; ?>
+        </div>
+    </div>
+
+    <?php if ($this->helper('Magento\Customer\Helper\Address')->isVatAttributeVisible()) : ?>
+    <div class="field vat_id">
+        <label for="<?php echo $prefix ?>:vat_id" class="label"><span><?php echo __('VAT Number') ?></span></label>
+        <div class="control">
+            <input type="text" id="<?php echo $prefix ?>:vat_id" name="<?php echo $prefix ?>[vat_id]" value="<?php echo $this->escapeHtml($this->getAddress()->getVatId()) ?>" title="<?php echo __('VAT Number') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('vat_id') ?>" />
+        </div>
+    </div>
+    <?php endif; ?>
+
+    <div class="field city required">
+        <label for="<?php echo $prefix ?>:city" class="label"><span><?php echo __('City') ?></span></label>
+        <div class="control">
+            <input type="text" title="<?php echo __('City') ?>" name="<?php echo $prefix ?>[city]" value="<?php echo $this->escapeHtml($this->getAddress()->getCity()) ?>" class="input-text required-entry <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('city') ?>" id="<?php echo $prefix ?>:city" />
+        </div>
+    </div>
+
+    <div class="field regionid required">
+        <label for="<?php echo $prefix ?>:region_id" class="label"><span><?php echo __('State/Province') ?></span></label>
+        <div class="control">
+            <select id="<?php echo $prefix ?>:region_id" name="<?php echo $prefix ?>[region_id]" title="<?php echo __('State/Province') ?>" class="validate-select required-entry" style="display:none;">
+                <option value=""><?php echo __('Please select region, state or province') ?></option>
+            </select>
+            <input type="text" id="<?php echo $prefix ?>:region" name="<?php echo $prefix ?>[region]" value="<?php echo $this->escapeHtml($this->getAddress()->getRegion()) ?>"  title="<?php echo __('State/Province') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region') ?>" style="display:none;" />
+        </div>
+    </div>
+
+    <div class="field postcode required">
+        <label for="<?php echo $prefix ?>:postcode" class="label"><span><?php echo __('Zip/Postal Code') ?></span></label>
+        <div class="control">
+            <input type="text" title="<?php echo __('Zip/Postal Code') ?>" name="<?php echo $prefix ?>[postcode]" id="<?php echo $prefix ?>:postcode" value="<?php echo $this->escapeHtml($this->getAddress()->getPostcode()) ?>" class="input-text validate-zip-international required-entry <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('postcode') ?>" />
+        </div>
+    </div>
+
+    <div class="field country_id required">
+        <label for="<?php echo $prefix ?>:country_id" class="label"><span><?php echo __('Country') ?></span></label>
+        <div class="control">
+            <?php echo $this->getCountryHtmlSelect($prefix) ?>
+        </div>
+    </div>
+
+    <div class="field telephone required">
+        <label for="<?php echo $prefix ?>:telephone" class="label"><span><?php echo __('Telephone') ?></span></label>
+        <div class="control">
+            <input type="text" name="<?php echo $prefix ?>[telephone]" value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone()) ?>" title="<?php echo __('Telephone') ?>" class="input-text required-entry <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('telephone') ?>" id="<?php echo $prefix ?>:telephone" />
+        </div>
+    </div>
+
+    <div class="field fax">
+        <label for="<?php echo $prefix ?>:fax" class="label"><span><?php echo __('Fax') ?></span></label>
+        <div class="control">
+            <input type="text" name="<?php echo $prefix ?>[fax]" value="<?php echo $this->escapeHtml($this->getAddress()->getFax()) ?>" title="<?php echo __('Fax') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('fax') ?>" id="<?php echo $prefix ?>:fax" />
+        </div>
+    </div>
+
+    <?php echo $this->getChildHtml('form.additional.info'); ?>
+    <?php if ($this->getShowAsShippingCheckbox()): ?>
+        <div class="field choice as_shipping">
+            <input type="checkbox" name="<?php echo $prefix ?>[as_shipping]" class="checkbox" value="1" title="<?php echo __('Same as shipping') ?>" id="<?php echo $prefix ?>:as_shipping" <?php if ($this->getAddress()->getSameAsBilling()):?>checked="checked"<?php endif;?>/>
+            <label for="<?php echo $prefix ?>:as_shipping" class="label"><span><?php echo __('Same as shipping') ?></span></label>
+        </div>
+    <?php endif; ?>
+
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('Magento_Checkout::js/region-updater.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            function() {
+                $('#<?php echo $prefix ?>\\:country_id').regionUpdater({
+                    optionalRegionAllowed: <?php echo ($this->getConfig('general/region/display_all')? 'true' : 'false'); ?>,
+                    regionListId: '#<?php echo $prefix ?>\\:region_id',
+                    regionInputId: '#<?php echo $prefix ?>\\:region',
+                    postcodeId: '#<?php echo $prefix ?>\\:postcode',
+                    regionJson: <?php echo $this->helper('Magento\Directory\Helper\Data')->getRegionJson() ?>,
+                    defaultRegion: "<?php echo $this->getAddress()->getRegionId() ?>",
+                    countriesWithOptionalZip: <?php echo $this->helper('Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(true) ?>
+                });
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Paypal/express/review/details.phtml b/app/design/frontend/magento_plushe/Magento_Paypal/express/review/details.phtml
new file mode 100644
index 00000000000..51706067751
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Paypal/express/review/details.phtml
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * @see \Magento\Paypal\Block\Express\Review\Details
+ */
+?>
+<table id="details-table" class="data table paypal review items">
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): $colspan = $rowspan = 2; else: $colspan = $rowspan = 1; endif; ?>
+    <thead>
+        <tr>
+            <th rowspan="<?php echo $rowspan ?>" class="col name"><?php echo __('Product Name') ?></th>
+            <th colspan="<?php echo $colspan ?>" class="col price"><?php echo __('Price') ?></th>
+            <th rowspan="<?php echo $rowspan ?>" class="col qty"><?php echo __('Qty') ?></th>
+            <th colspan="<?php echo $colspan ?>" class="col subtotal"><?php echo __('Subtotal') ?></th>
+        </tr>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+            <tr>
+                <th class="col price excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                <th class="col price incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                <th class="col subtotal excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                <th class="col subtotal incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+            </tr>
+        <?php endif; ?>
+    </thead>
+<?php echo $this->getChildHtml('totals'); ?>
+    <tbody>
+        <?php foreach($this->getItems() as $_item): ?>
+            <?php echo $this->getItemHtml($_item) ?>
+        <?php endforeach ?>
+    </tbody>
+</table>
diff --git a/app/design/frontend/magento_plushe/Magento_Paypal/express/review/shipping/method.phtml b/app/design/frontend/magento_plushe/Magento_Paypal/express/review/shipping/method.phtml
new file mode 100644
index 00000000000..a3f9482b40a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Paypal/express/review/shipping/method.phtml
@@ -0,0 +1,56 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/** @var $this \Magento\Paypal\Block\Express\Review */
+?>
+<div id="shipping-method-container">
+    <?php if ($this->getCanEditShippingMethod() || !$this->getCurrentShippingRate()): ?>
+        <?php if ($groups = $this->getShippingRateGroups()): ?>
+            <?php $currentRate = $this->getCurrentShippingRate(); ?>
+            <select name="shipping_method" id="shipping_method" class="required-entry">
+                <?php if (!$currentRate): ?>
+                    <option value=""><?php echo __('Please select a shipping method...') ?></option>
+                <?php endif; ?>
+                <?php foreach ($groups as $code => $rates): ?>
+                    <optgroup label="<?php echo $this->escapeHtml($this->getCarrierName($code)) ?>" style="font-style:normal;">
+                        <?php foreach ($rates as $rate): ?>
+                            <option
+                                value="<?php echo $this->renderShippingRateValue($rate) ?>"<?php echo ($currentRate === $rate) ? ' selected="selected"' : ''; ?>>
+                                <?php echo $this->renderShippingRateOption($rate) ?>
+                            </option>
+                        <?php endforeach; ?>
+                    </optgroup>
+                <?php endforeach; ?>
+            </select>
+        <?php else: ?>
+            <p><strong><?php echo __('Sorry, no quotes are available for this order at this time.') ?></strong></p>
+        <?php endif; ?>
+    <?php else: ?>
+        <p><strong><?php echo $this->renderShippingRateOption($this->getCurrentShippingRate()) ?></strong></p>
+    <?php endif; ?>
+</div>
+<div style="display:none" id="shipping_method_update">
+    <p><?php echo __('Please update order data to get shipping methods and rates') ?></p>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Paypal/express/shortcut.phtml b/app/design/frontend/magento_plushe/Magento_Paypal/express/shortcut.phtml
new file mode 100644
index 00000000000..4f4a98cca34
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Paypal/express/shortcut.phtml
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @var $this \Magento\Paypal\Block\Express\Shortcut
+ */
+?>
+<?php
+$labelPosition = '';
+if ($this->isOrPositionBefore()) {
+$labelPosition = ' before';
+} elseif ($this->isOrPositionAfter()) {
+$labelPosition = ' after';
+}
+?>
+
+<div data-label="or" class="paypal checkout <?php echo $labelPosition ?> paypal-logo">
+    <?php $shortcutHtmlId = $this->getShortcutHtmlId() ?>
+    <input type="image" data-action="checkout-form-submit" data-checkout-url="<?php echo $this->getCheckoutUrl()?>"
+           src="<?php echo $this->getImageUrl()?>"
+           alt="<?php echo __('Checkout with PayPal');?>"
+           title="<?php echo __('Checkout with PayPal');?>"/>
+    <?php if ($this->getConfirmationUrl() || $this->getIsInCatalogProduct()): ?>
+    <?php if ($this->getIsInCatalogProduct()): ?>
+        <input type="hidden" id="pp-checkout-url" name="return_url" value=""/>
+        <?php endif; ?>
+
+    <?php
+    $confirmationUrl = $this->getConfirmationUrl();
+    $isInCatalogProduct = $this->getIsInCatalogProduct();
+endif; ?>
+    <script type="text/javascript">
+        (function($) {
+            head.js(
+                "<?php echo $this->getViewFileUrl('Magento_Paypal::js/paypal-checkout.js') ?>",
+                function() {
+                    $('.paypal-logo').paypalCheckout({
+                        confirmMessage: "<?php echo $this->helper('Magento\Core\Helper\Data')->jsQuoteEscape($this->getConfirmationMessage())?>",
+                        confirmUrl: "<?php echo !empty($confirmationUrl) ? $confirmationUrl : false ?>",
+                        isCatalogProduct: "<?php echo !empty($isInCatalogProduct) ? $isInCatalogProduct : false ?>",
+                        paypalCheckoutSelector: '#pp-checkout-url',
+                        productAddToCartForm: '#product_addtocart_form'
+                    });
+                });
+        })(jQuery);
+    </script>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Paypal/layout/override/catalog_product_view.xml b/app/design/frontend/magento_plushe/Magento_Paypal/layout/override/catalog_product_view.xml
new file mode 100644
index 00000000000..5f06f13a7ce
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Paypal/layout/override/catalog_product_view.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="product.info.addtocart">
+        <container name="product.info.addtocart.paypal.wrapper" label="PayPal Express Checkout Shortcut Wrapper">
+            <block class="Magento\Paypal\Block\Express\Shortcut" name="product.info.addtocart.paypal" template="express/shortcut.phtml">
+                <action method="setIsInCatalogProduct">
+                    <argument name="value" xsi:type="string">1</argument>
+                </action>
+            </block>
+        </container>
+    </referenceBlock>
+    <update handle="SHORTCUT_popup"/>
+    <referenceContainer name="right">
+        <block class="Magento\Paypal\Block\Logo" name="paypal.partner.right.logo" template="partner/logo.phtml">
+            <!--action method="setLogoType"><value>wePrefer_150x60</value></action-->
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Paypal/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Paypal/layout/override/default.xml
new file mode 100644
index 00000000000..78c6f1d1ccc
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Paypal/layout/override/default.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="topCart.extra_actions">
+        <block class="Magento\Paypal\Block\Express\Shortcut" name="paypal.partner.top_cart.shortcut" template="express/shortcut.phtml"/>
+    </referenceContainer>
+    <referenceContainer name="cart_sidebar.extra_actions">
+        <block class="Magento\Paypal\Block\Express\Shortcut" name="paypal.partner.cart_sidebar.shortcut" template="express/shortcut.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/checkout_onepage_index.xml b/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/checkout_onepage_index.xml
new file mode 100644
index 00000000000..1147945ddc7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/checkout_onepage_index.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="form.login.additional.info">
+        <block class="Magento\Persistent\Block\Form\Remember" name="persistent.remember.me" template="remember_me.phtml" before="-"/>
+        <block class="Magento\Core\Block\Template" name="persistent.remember.me.tooltip" template="Magento_Persistent::remember_me_tooltip.phtml"/>
+    </referenceContainer>
+    <referenceContainer name="form.billing.additional.info">
+        <block class="Magento\Persistent\Block\Form\Remember" name="persistent.remember.me.billing" template="remember_me.phtml" before="-"/>
+        <block class="Magento\Core\Block\Template" name="persistent.remember.me.tooltip.billing" template="Magento_Persistent::remember_me_tooltip.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/customer_account_create.xml b/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/customer_account_create.xml
new file mode 100644
index 00000000000..8ac15eae415
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/customer_account_create.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="form.additional.info">
+        <block class="Magento\Persistent\Block\Form\Remember" name="persistent.remember.me" template="remember_me.phtml" before="-"/>
+        <block class="Magento\Core\Block\Template" name="persistent.remember.me.tooltip" template="Magento_Persistent::remember_me_tooltip.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/customer_account_login.xml b/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/customer_account_login.xml
new file mode 100644
index 00000000000..8ac15eae415
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/customer_account_login.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="form.additional.info">
+        <block class="Magento\Persistent\Block\Form\Remember" name="persistent.remember.me" template="remember_me.phtml" before="-"/>
+        <block class="Magento\Core\Block\Template" name="persistent.remember.me.tooltip" template="Magento_Persistent::remember_me_tooltip.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Persistent/remember_me.phtml b/app/design/frontend/magento_plushe/Magento_Persistent/remember_me.phtml
new file mode 100644
index 00000000000..9ce5ee378a6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Persistent/remember_me.phtml
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Customer "Remember Me" template
+ *
+ * @var $this \Magento\Persistent\Block\Form\Remember
+ */
+?>
+<div id="remember-me-box" class="field choice persistent">
+    <?php $rememberMeId = 'remember_me' . $this->helper('Magento\Core\Helper\Data')->getRandomString(10); ?>
+    <input type="checkbox" name="persistent_remember_me" class="checkbox" id="<?php echo $rememberMeId; ?>"<?php if ($this->isRememberMeChecked()): ?> checked="checked"<?php endif; ?> title="<?php echo __('Remember Me') ?>" />
+    <label for="<?php echo $rememberMeId; ?>" class="label"><span><?php echo __('Remember Me') ?></span></label>
+    <a class="link-tip" href="#"><?php echo __('What\'s this?') ?></a>
+</div>
+<?php if ($this->helper('Magento\Checkout\Helper\Data')->isContextCheckout()): ?>
+    <input name="context" type="hidden" value="checkout" />
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Persistent/remember_me_tooltip.phtml b/app/design/frontend/magento_plushe/Magento_Persistent/remember_me_tooltip.phtml
new file mode 100644
index 00000000000..100a5cee1c5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Persistent/remember_me_tooltip.phtml
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * "Remember Me" popup template (when click on "What's this?")
+ *
+ */
+/** @var $this \Magento\Core\Block\Template */
+?>
+<div id="window-overlay" class="window-overlay" style="display:none;"></div>
+<div id="remember-me-popup" class="remember-me-popup" style="display:none;">
+    <div class="remember-me-popup-head">
+        <h3>What's this?</h3>
+        <a href="#" class="remember-me-popup-close" title="<?php echo __('Close') ?>"><?php echo __('Close') ?></a>
+    </div>
+    <div class="remember-me-popup-body">
+        <p>Checking &quot;Remember Me&quot; will let you access your shopping cart on this computer when you are logged out</p>
+        <div class="remember-me-popup-close-button a-right">
+            <a href="#" class="remember-me-popup-close button" title="<?php echo __('Close') ?>"><span><?php echo __('Close') ?></span></a>
+        </div>
+    </div>
+</div>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('Magento_Persistent::remember-me-popup.js') ?>",
+            function() {
+                $('#remember-me-box').rememberMePopup({
+                    windowOverlay: '#window-overlay',
+                    popupBlock: '#remember-me-popup',
+                    closeBtn: '.remember-me-popup-close'
+                });
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Rating/detailed.phtml b/app/design/frontend/magento_plushe/Magento_Rating/detailed.phtml
new file mode 100644
index 00000000000..e0321a26195
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Rating/detailed.phtml
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if(!empty($collection) && $collection->getSize()): ?>
+    <table class="ratings-table data-table review-summary-table">
+    <col width="1" />
+    <col />
+        <tbody>
+            <?php foreach ($collection as $_rating): ?>
+                <?php if($_rating->getSummary()): ?>
+                    <tr>
+                        <th class="label"><?php echo __($this->escapeHtml($_rating->getRatingCode())) ?></th>
+                        <td class="value">
+                            <div class="rating-box">
+                                <div class="rating" style="width:<?php echo ceil($_rating->getSummary()) ?>%;"></div>
+                            </div>
+                        </td>
+                    </tr>
+                <?php endif; ?>
+            <?php endforeach; ?>
+        </tbody>
+    </table>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/layout/catalog_product_view.xml b/app/design/frontend/magento_plushe/Magento_Reports/layout/catalog_product_view.xml
new file mode 100644
index 00000000000..1c2c346263d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/layout/catalog_product_view.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="content.bottom">
+        <block class="Magento\Reports\Block\Product\Widget\Viewed" name="product.viewed.products" template="Magento_Catalog::product/list/items.phtml">
+            <arguments>
+                <argument name="type" xsi:type="string">widget-viewed</argument>
+                <argument name="view_mode" xsi:type="string">grid</argument>
+                <argument name="image_type" xsi:type="string">recently_viewed_products_grid_content_widget</argument>
+            </arguments>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Reports/layout/override/default.xml
new file mode 100644
index 00000000000..46e55c7076c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/layout/override/default.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="right">
+        <block class="Magento\Reports\Block\Product\Viewed" name="right.reports.product.viewed" template="product_viewed.phtml"/>
+        <block class="Magento\Reports\Block\Product\Compared" name="right.reports.product.compared" template="product_compared.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/layout/override/print.xml b/app/design/frontend/magento_plushe/Magento_Reports/layout/override/print.xml
new file mode 100644
index 00000000000..6c60196129d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/layout/override/print.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/product_compared.phtml b/app/design/frontend/magento_plushe/Magento_Reports/product_compared.phtml
new file mode 100644
index 00000000000..0925c4376f1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/product_compared.phtml
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Reports\Block\Product\Compared */
+?>
+<?php if ($_products = $this->getRecentlyComparedProducts()): ?>
+<div class="block compared links">
+    <div class="title">
+        <strong><?php echo __('Recently Compared Products') ?></strong>
+    </div>
+    <div class="content">
+        <ol class="items compared">
+        <?php foreach ($_products as $_item): ?>
+            <li class="item">
+                <strong class="product name">
+                    <a href="<?php echo $this->getProductUrl($_item) ?>"><?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($_item, $_item->getName() , 'name') ?></a>
+                </strong>
+            </li>
+        <?php endforeach; ?>
+        </ol>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/product_viewed.phtml b/app/design/frontend/magento_plushe/Magento_Reports/product_viewed.phtml
new file mode 100644
index 00000000000..006415faeaa
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/product_viewed.phtml
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Reports\Block\Product\Viewed */
+?>
+<?php if ($_products = $this->getRecentlyViewedProducts()): ?>
+<div class="block viewed links">
+    <div class="title">
+        <strong><?php echo __('Recently Viewed Products') ?></strong>
+    </div>
+    <div class="content">
+        <ol class="items viewed">
+            <?php foreach ($_products as $_item): ?>
+            <li class="item">
+                <strong class="product name">
+                    <a href="<?php echo $this->getProductUrl($_item) ?>"><?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($_item, $_item->getName(), 'name') ?></a>
+                </strong>
+            </li>
+            <?php endforeach; ?>
+        </ol>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/column/compared_default_list.phtml b/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/column/compared_default_list.phtml
new file mode 100644
index 00000000000..ad0e07081a8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/column/compared_default_list.phtml
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if ($_products = $this->getRecentlyComparedProducts()): ?>
+<div class="widget widget-compared">
+    <div class="block block-products">
+        <div class="block-title">
+            <strong><span><?php echo __('Recently Compared') ?></span></strong>
+        </div>
+        <div class="block-content">
+            <?php $suffix = $this->getNameInLayout(); ?>
+            <ol class="mini-products-list" id="widget-compared-<?php echo $suffix; ?>">
+            <?php foreach ($_products as $_product): ?>
+                <li class="item">
+                    <a class="product-image" href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><img src="<?php echo $this->getThumbnailSidebarUrl($_product) ?>" width="<?php echo $this->getThumbnailSidebarSize()?>" height="<?php echo $this->getThumbnailSidebarSize()?>" alt="<?php echo $this->stripTags($_product->getName(), null, true) ?>" /></a>
+                    <div class="product-details">
+                        <p class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>)"><?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($_product, $_product->getName() , 'name') ?></a></p>
+                        <?php echo $this->getPriceHtml($_product, true, '-widget-compared-'.$suffix) ?>
+                        <?php if($_product->isSaleable()): ?>
+                            <a href="<?php echo $this->getAddToCartUrl($_product) ?>" class="link-cart"><?php echo __('Add to Cart') ?></a>
+                        <?php else: ?>
+                            <?php if ($_product->getIsSalable()): ?>
+                                <p class="availability in-stock"><span><?php echo __('In stock') ?></span></p>
+                            <?php else: ?>
+                                <p class="availability out-of-stock"><span><?php echo __('Out of stock') ?></span></p>
+                            <?php endif; ?>
+                        <?php endif; ?>
+                    </div>
+                </li>
+            <?php endforeach; ?>
+            </ol>
+            <script type="text/javascript">(function($) {$('#widget-compared-<?php echo $suffix; ?>').decorate('list', false)})(jQuery)</script>
+        </div>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/content/compared_grid.phtml b/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/content/compared_grid.phtml
new file mode 100644
index 00000000000..5e5bfa290ce
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/content/compared_grid.phtml
@@ -0,0 +1,125 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php
+    if ($exist = $this->getRecentlyComparedProducts()) {
+        $type = 'widget-compared';
+        $mode = 'grid';
+
+        $type = $type . '-' . $mode;
+
+        $class = 'widget compared' . ' ' . $mode;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image = 'recently_compared_products_grid_content_widget';
+        $title = __('Recently Compared');
+        $items = $exist;
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = true;
+        $rating = 'short';
+        $description = ($mode == 'list') ? true : false;
+    }
+?>
+
+<?php if ($exist):?>
+<div class="block <?php echo $class; ?>">
+    <div class="title">
+        <strong><?php echo $title; ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php echo '<!-- ' . $image . '-->' ?>
+        <ol class="products list items <?php echo $type; ?>">
+        <?php $iterator = 1; ?>
+        <?php foreach($items as $_item): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+                <div class="product">
+
+                    <a href="<?php echo $this->getProductUrl($_item) ?>" class="product photo">
+                        <?php echo $imageBlock->init($_item, $image)->toHtml() ?>
+                    </a>
+
+                    <div class="product details">
+
+                        <strong class="product name"><a title="<?php echo $this->escapeHtml($_item->getName()) ?>" href="<?php echo $this->getProductUrl($_item) ?>">
+                            <?php echo $this->escapeHtml($_item->getName()) ?></a>
+                        </strong>
+
+                        <?php echo $this->getPriceHtml($_item, true, '-' . $type) ?>
+
+                        <?php if ($_item->getRatingSummary() && $rating): ?>
+                            <?php echo $this->getReviewsSummaryHtml($_item,$rating) ?>
+                        <?php endif; ?>
+
+                        <?php if($showWishlist || $showCompare || $showCart): ?>
+                        <div class="product actions">
+
+                            <?php if($showCart): ?>
+                            <div class="primary">
+                                <?php if($_item->isSaleable()): ?>
+                                <button class="action tocart" data-mage-redirect="{event: 'click', url: '<?php echo $this->getAddToCartUrl($_item) ?>'}" type="button" title="<?php echo __('Add to Cart') ?>">
+                                    <span><?php echo __('Add to Cart') ?></span>
+                                </button>
+                                <?php else: ?>
+                                    <?php if ($_item->getIsSalable()): ?>
+                                        <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                    <?php else: ?>
+                                        <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                    <?php endif; ?>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+
+                            <?php if($showWishlist || $showCompare): ?>
+                            <div class="secondary addto links">
+                                <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow() && $showWishlist): ?>
+                                    <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="action towishlist" title="<?php echo __('Add to Wishlist') ?>">
+                                        <span><?php echo __('Add to Wishlist') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                                <?php if($this->getAddToCompareUrl($_item) && $showCompare): ?>
+                                    <a href="<?php echo $this->getAddToCompareUrl($_item) ?>" class="action tocompare" title="<?php echo __('Add to Compare') ?>">
+                                        <span><?php echo __('Add to Compare') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+                        </div>
+                        <?php endif; ?>
+
+                    </div>
+                </div>
+            <?php echo ($iterator==count($items)+1) ? '</li>' : '' ?>
+        <?php endforeach ?>
+        </ol>
+        <script type="text/javascript">
+            head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+        </script>
+    </div>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/content/compared_list.phtml b/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/content/compared_list.phtml
new file mode 100644
index 00000000000..a9149fb99a0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/content/compared_list.phtml
@@ -0,0 +1,125 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php
+    if ($exist = $this->getRecentlyComparedProducts()) {
+        $type = 'widget-compared';
+        $mode = 'list';
+
+        $type = $type . '-' . $mode;
+
+        $class = 'widget compared' . ' ' . $mode;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image = 'recently_compared_products_list_content_widget';
+        $title = __('Recently Compared');
+        $items = $exist;
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = true;
+        $rating = 'short';
+        $description = ($mode == 'list') ? true : false;
+    }
+?>
+
+<?php if ($exist):?>
+<div class="block <?php echo $class; ?>">
+    <div class="title">
+        <strong><?php echo $title; ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php echo '<!-- ' . $image . '-->' ?>
+        <ol class="products list items <?php echo $type; ?>">
+        <?php $iterator = 1; ?>
+        <?php foreach($items as $_item): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+                <div class="product">
+
+                    <a href="<?php echo $this->getProductUrl($_item) ?>" class="product photo">
+                        <?php echo $imageBlock->init($_item, $image)->toHtml() ?>
+                    </a>
+
+                    <div class="product details">
+
+                        <strong class="product name"><a title="<?php echo $this->escapeHtml($_item->getName()) ?>" href="<?php echo $this->getProductUrl($_item) ?>">
+                            <?php echo $this->escapeHtml($_item->getName()) ?></a>
+                        </strong>
+
+                        <?php echo $this->getPriceHtml($_item, true, '-' . $type) ?>
+
+                        <?php if ($_item->getRatingSummary() && $rating): ?>
+                            <?php echo $this->getReviewsSummaryHtml($_item,$rating) ?>
+                        <?php endif; ?>
+
+                        <?php if($showWishlist || $showCompare || $showCart): ?>
+                        <div class="product actions">
+
+                            <?php if($showCart): ?>
+                            <div class="primary">
+                                <?php if($_item->isSaleable()): ?>
+                                <button class="action tocart" data-mage-redirect="{event: 'click', url: '<?php echo $this->getAddToCartUrl($_item) ?>'}" type="button" title="<?php echo __('Add to Cart') ?>">
+                                    <span><?php echo __('Add to Cart') ?></span>
+                                </button>
+                                <?php else: ?>
+                                    <?php if ($_item->getIsSalable()): ?>
+                                        <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                    <?php else: ?>
+                                        <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                    <?php endif; ?>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+
+                            <?php if($showWishlist || $showCompare): ?>
+                            <div class="secondary addto links">
+                                <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow() && $showWishlist): ?>
+                                    <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="action towishlist" title="<?php echo __('Add to Wishlist') ?>">
+                                        <span><?php echo __('Add to Wishlist') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                                <?php if($this->getAddToCompareUrl($_item) && $showCompare): ?>
+                                    <a href="<?php echo $this->getAddToCompareUrl($_item) ?>" class="action tocompare" title="<?php echo __('Add to Compare') ?>">
+                                        <span><?php echo __('Add to Compare') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+                        </div>
+                        <?php endif; ?>
+
+                    </div>
+                </div>
+            <?php echo ($iterator==count($items)+1) ? '</li>' : '' ?>
+        <?php endforeach ?>
+        </ol>
+        <script type="text/javascript">
+            head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+        </script>
+    </div>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/column/viewed_default_list.phtml b/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/column/viewed_default_list.phtml
new file mode 100644
index 00000000000..c8344e639f7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/column/viewed_default_list.phtml
@@ -0,0 +1,63 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @see \Magento\Reports\Block\Product\Viewed
+ */
+?>
+<?php if ($_products = $this->getRecentlyViewedProducts()): ?>
+<div class="widget widget-viewed">
+    <div class="block block-products">
+        <div class="block-title">
+            <strong><span><?php echo __('Recently Viewed') ?></span></strong>
+        </div>
+        <div class="block-content">
+            <?php $suffix = $this->getNameInLayout(); ?>
+            <ol class="mini-products-list" id="widget-viewed-<?php echo $suffix; ?>">
+            <?php foreach ($_products as $_product): ?>
+                <li class="item">
+                    <a class="product-image" href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><img src="<?php echo $this->getThumbnailSidebarUrl($_product) ?>" width="<?php echo $this->getThumbnailSidebarSize()?>" height="<?php echo $this->getThumbnailSidebarSize()?>" alt="<?php echo $this->stripTags($_product->getName(), null, true) ?>" /></a>
+                    <div class="product-details">
+                        <p class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($_product, $_product->getName() , 'name') ?></a></p>
+                        <?php echo $this->getPriceHtml($_product, true, '-widget-viewed-'.$suffix) ?>
+                        <?php if($_product->isSaleable()): ?>
+                            <a href="<?php echo $this->getAddToCartUrl($_product) ?>" class="link-cart"><?php echo __('Add to Cart') ?></a>
+                        <?php else: ?>
+                            <?php if ($_product->getIsSalable()): ?>
+                                <p class="availability in-stock"><span><?php echo __('In stock') ?></span></p>
+                            <?php else: ?>
+                                <p class="availability out-of-stock"><span><?php echo __('Out of stock') ?></span></p>
+                            <?php endif; ?>
+                        <?php endif; ?>
+                    </div>
+                </li>
+            <?php endforeach; ?>
+            </ol>
+            <script type="text/javascript">(function($) {$('#widget-viewed-<?php echo $suffix; ?>').decorate('list', false)})(jQuery)</script>
+        </div>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/content/viewed_grid.phtml b/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/content/viewed_grid.phtml
new file mode 100644
index 00000000000..678aba0dd82
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/content/viewed_grid.phtml
@@ -0,0 +1,129 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @see \Magento\Reports\Block\Product\Viewed
+ */
+?>
+<?php
+    if ($exist = $this->getRecentlyViewedProducts()) {
+        $type = 'widget-viewed';
+        $mode = 'grid';
+
+        $type = $type . '-' . $mode;
+
+        $class = 'widget viewed' . ' ' . $mode;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image = 'recently_viewed_products_grid_content_widget';
+        $title = __('Recently Viewed');
+        $items = $exist;
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = true;
+        $rating = 'short';
+        $description = ($mode == 'list') ? true : false;
+    }
+?>
+
+<?php if ($exist):?>
+<div class="block <?php echo $class; ?>">
+    <div class="title">
+        <strong><?php echo $title; ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php echo '<!-- ' . $image . '-->' ?>
+        <ol class="products list items <?php echo $type; ?>">
+        <?php $iterator = 1; ?>
+        <?php foreach($items as $_item): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+                <div class="product">
+
+                    <a href="<?php echo $this->getProductUrl($_item) ?>" class="product photo">
+                        <?php echo $imageBlock->init($_item, $image)->toHtml() ?>
+                    </a>
+
+                    <div class="product details">
+
+                        <strong class="product name"><a title="<?php echo $this->escapeHtml($_item->getName()) ?>" href="<?php echo $this->getProductUrl($_item) ?>">
+                            <?php echo $this->escapeHtml($_item->getName()) ?></a>
+                        </strong>
+
+                        <?php echo $this->getPriceHtml($_item, true, '-' . $type) ?>
+
+                        <?php if ($_item->getRatingSummary() && $rating): ?>
+                            <?php echo $this->getReviewsSummaryHtml($_item,$rating) ?>
+                        <?php endif; ?>
+
+                        <?php if($showWishlist || $showCompare || $showCart): ?>
+                        <div class="product actions">
+
+                            <?php if($showCart): ?>
+                            <div class="primary">
+                                <?php if($_item->isSaleable()): ?>
+                                <button class="action tocart" data-mage-redirect="{event: 'click', url: '<?php echo $this->getAddToCartUrl($_item) ?>'}" type="button" title="<?php echo __('Add to Cart') ?>">
+                                    <span><?php echo __('Add to Cart') ?></span>
+                                </button>
+                                <?php else: ?>
+                                    <?php if ($_item->getIsSalable()): ?>
+                                        <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                    <?php else: ?>
+                                        <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                    <?php endif; ?>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+
+                            <?php if($showWishlist || $showCompare): ?>
+                            <div class="secondary addto links">
+                                <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow() && $showWishlist): ?>
+                                    <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="action towishlist" data-action="add-to-wishlist" title="<?php echo __('Add to Wishlist') ?>">
+                                        <span><?php echo __('Add to Wishlist') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                                <?php if($this->getAddToCompareUrl($_item) && $showCompare): ?>
+                                    <a href="<?php echo $this->getAddToCompareUrl($_item) ?>" class="action tocompare" title="<?php echo __('Add to Compare') ?>">
+                                        <span><?php echo __('Add to Compare') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+                        </div>
+                        <?php endif; ?>
+
+                    </div>
+                </div>
+            <?php echo ($iterator==count($items)+1) ? '</li>' : '' ?>
+        <?php endforeach ?>
+        </ol>
+        <script type="text/javascript">
+            head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+        </script>
+    </div>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/content/viewed_list.phtml b/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/content/viewed_list.phtml
new file mode 100644
index 00000000000..b30e980f338
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/content/viewed_list.phtml
@@ -0,0 +1,128 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @see \Magento\Reports\Block\Product\Viewed
+ */
+?>
+<?php
+    if ($exist = $this->getRecentlyViewedProducts()) {
+        $type = 'widget-viewed';
+        $mode = 'list';
+
+        $type = $type . '-' . $mode;
+
+        $class = 'widget viewed' . ' ' . $mode;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image = 'recently_viewed_products_list_content_widget';
+        $title = __('Recently Viewed');
+        $items = $exist;
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = true;
+        $rating = 'short';
+        $description = ($mode == 'list') ? true : false;
+    }
+?>
+
+<?php if ($exist):?>
+<div class="block <?php echo $class; ?>">
+    <div class="title">
+        <strong><?php echo $title; ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php echo '<!-- ' . $image . '-->' ?>
+        <ol class="products list items <?php echo $type; ?>">
+        <?php $iterator = 1; ?>
+        <?php foreach($items as $_item): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+                <div class="product">
+                    <a href="<?php echo $this->getProductUrl($_item) ?>" class="product photo">
+                        <?php echo $imageBlock->init($_item, $image)->toHtml() ?>
+                    </a>
+
+                    <div class="product details">
+
+                        <strong class="product name"><a title="<?php echo $this->escapeHtml($_item->getName()) ?>" href="<?php echo $this->getProductUrl($_item) ?>">
+                            <?php echo $this->escapeHtml($_item->getName()) ?></a>
+                        </strong>
+
+                        <?php echo $this->getPriceHtml($_item, true, '-' . $type) ?>
+
+                        <?php if ($_item->getRatingSummary() && $rating): ?>
+                            <?php echo $this->getReviewsSummaryHtml($_item,$rating) ?>
+                        <?php endif; ?>
+
+                        <?php if($showWishlist || $showCompare || $showCart): ?>
+                        <div class="product actions">
+
+                            <?php if($showCart): ?>
+                            <div class="primary">
+                                <?php if($_item->isSaleable()): ?>
+                                <button class="action tocart" data-mage-redirect="{event: 'click', url: '<?php echo $this->getAddToCartUrl($_item) ?>'}" type="button" title="<?php echo __('Add to Cart') ?>">
+                                    <span><?php echo __('Add to Cart') ?></span>
+                                </button>
+                                <?php else: ?>
+                                    <?php if ($_item->getIsSalable()): ?>
+                                        <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                    <?php else: ?>
+                                        <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                    <?php endif; ?>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+
+                            <?php if($showWishlist || $showCompare): ?>
+                            <div class="secondary addto links">
+                                <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow() && $showWishlist): ?>
+                                    <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="action towishlist" data-action="add-to-wishlist" title="<?php echo __('Add to Wishlist') ?>">
+                                        <span><?php echo __('Add to Wishlist') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                                <?php if($this->getAddToCompareUrl($_item) && $showCompare): ?>
+                                    <a href="<?php echo $this->getAddToCompareUrl($_item) ?>" class="action tocompare" title="<?php echo __('Add to Compare') ?>">
+                                        <span><?php echo __('Add to Compare') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+                        </div>
+                        <?php endif; ?>
+
+                    </div>
+                </div>
+            <?php echo ($iterator==count($items)+1) ? '</li>' : '' ?>
+        <?php endforeach ?>
+        </ol>
+        <script type="text/javascript">
+            head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+        </script>
+    </div>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/customer/list.phtml b/app/design/frontend/magento_plushe/Magento_Review/customer/list.phtml
new file mode 100644
index 00000000000..a1bfcc3a450
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/customer/list.phtml
@@ -0,0 +1,82 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if( $this->getCollection() && $this->count()): ?>
+    <div class="toolbar reviews">
+        <?php echo $this->getToolbarHtml() ?>
+    </div>
+    <table class="data table reviews" id="my-reviews-table">
+        <thead>
+            <tr>
+                <th class="col date"><?php echo __('Created') ?></th>
+                <th class="col item"><?php echo __('Product Name') ?></th>
+                <th class="col summary"><?php echo __('Summary') ?></th>
+                <th class="col description"><?php echo __('Description') ?></th>
+                <th class="col actions">&nbsp;</th>
+            </tr>
+        </thead>
+        <tbody>
+            <?php foreach ($this->getCollection() as $_review): ?>
+            <tr>
+                <td class="col date"><?php echo $this->dateFormat($_review->getReviewCreatedAt()); ?></td>
+                <td class="col item">
+                    <strong class="product name">
+                        <a href="<?php echo $this->getProductLink() ?>id/<?php echo $_review->getEntityPkValue() ?>"><?php echo $this->escapeHtml($_review->getName()) ?></a>
+                    </strong>
+                </td>
+                <td class="col summary">
+                <?php if($_review->getSum()): ?>
+                    <div class="rating">
+                        <span style="width:<?php echo ( $_review->getSum() / $_review->getCount() ) ?>%;"></span>
+                    </div>
+                <?php endif; ?>
+                </td>
+                <td class="col description">
+                    <div class="text">
+                        <?php echo $this->helper('Magento\Review\Helper\Data')->getDetailHtml($_review->getDetail()) ?>
+                    </div>
+                </td>
+                <td class="col actions">
+                    <a href="<?php echo $this->getReviewLink() ?>id/<?php echo $_review->getReviewId() ?>" class="action more">
+                        <span><?php echo __('View Details') ?></span>
+                    </a>
+                </td>
+            </tr>
+            <?php endforeach; ?>
+        </tbody>
+    </table>
+    <div class="toolbar reviews bottom">
+        <?php echo $this->getToolbarHtml() ?>
+    </div>
+<?php else: ?>
+    <p class="empty"><?php echo __('You have submitted no reviews.') ?></p>
+<?php endif; ?>
+<div class="actions">
+    <div class="secondary">
+        <a class="action back" href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>">
+            <span><?php echo __('Back') ?></span>
+        </a>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/customer/recent.phtml b/app/design/frontend/magento_plushe/Magento_Review/customer/recent.phtml
new file mode 100644
index 00000000000..3b25d298b0e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/customer/recent.phtml
@@ -0,0 +1,50 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if( $this->getCollection() && $this->count()): ?>
+<div class="block reviews dashboard">
+    <div class="title">
+        <strong><?php echo __('My Recent Reviews') ?></strong>
+        <a class="action view" href="<?php echo $this->getAllReviewsUrl() ?>"><span><?php echo __('View All Reviews') ?></span></a>
+    </div>
+    <div class="content">
+        <ol class="items">
+        <?php foreach ($this->getCollection() as $_review): ?>
+            <li class="item">
+                <strong class="product name"><a href="<?php echo $this->getReviewUrl($_review->getReviewId()) ?>"><?php echo $this->escapeHtml($_review->getName()) ?></a></strong>
+                <?php if($_review->getSum()): ?>
+                <?php $rating = $_review->getSum() / $_review->getCount() ?>
+                    <div class="rating" title="<?php echo $rating; ?>%">
+                        <span style="width:<?php echo $rating; ?>%">
+                            <?php echo $rating; ?>
+                        </span>
+                    </div>
+                <?php endif; ?>
+            </li>
+        <?php endforeach; ?>
+        </ol>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/customer/view.phtml b/app/design/frontend/magento_plushe/Magento_Review/customer/view.phtml
new file mode 100644
index 00000000000..d4816e5e5e7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/customer/view.phtml
@@ -0,0 +1,78 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if($this->getProductData()->getId()): ?>
+<?php $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image'); ?>
+<div class="customer review view">
+    <h2 class="product name"><?php echo $this->escapeHtml($this->getProductData()->getName()) ?></h2>
+    <div class="product details">
+        <a class="product photo" href="<?php echo $this->getProductData()->getProductUrl() ?>">
+            <!-- customer_account_product_review_page -->
+            <?php echo $imageBlock->init($this->getProductData(), 'customer_account_product_review_page')->toHtml() ?>
+        </a>
+        <?php if( $this->getRating() && $this->getRating()->getSize()): ?>
+        <p><?php echo __('Average Customer Rating:') ?></p>
+        <?php echo $this->getReviewsSummaryHtml($this->getProductData()) ?>
+        <?php endif; ?>
+    </div>
+    <div class="review details">
+
+        <?php if( $this->getRating() && $this->getRating()->getSize()): ?>
+        <div class="ratings summary">
+            <strong><?php echo ($this->isReviewOwner()) ? __('Your Rating:') : __('Rating:'); ?></strong>
+
+            <?php foreach ($this->getRating() as $_rating): ?>
+            <?php if($_rating->getPercent()): ?>
+                <?php $rating = ceil($_rating->getPercent()) ?>
+                <div class="reviews summary item">
+                    <div class="label"><?php echo $this->escapeHtml($_rating->getRatingCode()) ?></div>
+                    <div class="rating" title="<?php echo $rating; ?>%">
+                        <span style="width:<?php echo $rating; ?>%">
+                            <?php echo $rating; ?>
+                        </span>
+                    </div>
+                </div>
+            <?php endif; ?>
+            <?php endforeach; ?>
+        </div>
+        <?php endif; ?>
+
+        <div class="review title"><?php echo $this->escapeHtml($this->getReviewData()->getTitle()) ?></div>
+        <p class="review date">
+            <?php if ($this->isReviewOwner()): ?>
+                <?php echo __('Your Review (submitted on %1):', '<time class="date">' . $this->dateFormat($this->getReviewData()->getCreatedAt()) . '</time>') ?>
+            <?php else :?>
+                <?php echo __('Review (submitted on %1):', '<time class="date">' . $this->dateFormat($this->getReviewData()->getCreatedAt()) . '</time>') ?>
+            <?php endif;?>
+        </p>
+        <div class="review content"><?php echo nl2br($this->escapeHtml($this->getReviewData()->getDetail())) ?></div>
+    </div>
+</div>
+<div class="actions">
+    <div class="secondary">
+        <a class="action back" href="<?php echo $this->getBackUrl() ?>"><span><?php echo __('Back to My Reviews') ?></span></a>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/form.phtml b/app/design/frontend/magento_plushe/Magento_Review/form.phtml
new file mode 100644
index 00000000000..16724df55f4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/form.phtml
@@ -0,0 +1,110 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block add review">
+    <div class="title"><strong><?php echo __('Write Your Own Review') ?></strong></div>
+<div class="content">
+<?php if ($this->getAllowWriteReviewFlag()): ?>
+<form action="<?php echo $this->getAction() ?>" method="post" id="review-form">
+    <?php echo $this->getChildHtml('form_fields_before')?>
+    <fieldset class="fieldset" data-hasrequired="<?php __('* Required Fields'); ?>">
+        <legend class="legend"><span><?php echo __("You're reviewing:"); ?></span><strong><?php echo $this->escapeHtml($this->getProductInfo()->getName()) ?></strong></legend><br />
+        <?php if ($this->getRatings() && $this->getRatings()->getSize()): ?>
+        <span id="input-message-box"></span>
+        <div class="field ratings required">
+            <label class="label"><span><?php echo __('How do you rate this product?') ?></span></label>
+            <div class="control">
+                <div class="nested" id="product-review-table">
+                    <?php foreach ($this->getRatings() as $_rating): ?>
+                        <div class="field rating">
+                            <label class="label"><span><?php echo $this->escapeHtml($_rating->getRatingCode()) ?></span></label>
+                            <div class="control">
+                            <?php $options = $_rating->getOptions();?>
+                            <?php $iterator = 1; foreach ($options as $_option): ?>
+                                <input type="radio" name="ratings[<?php echo $_rating->getId() ?>]" id="<?php echo $this->escapeHtml($_rating->getRatingCode()) ?>_<?php echo $_option->getValue() ?>" value="<?php echo $_option->getId() ?>" class="radio" data-validate="{required:true, messages:{required:'Please select one of each of the ratings above.'}}" />
+                                <label class="rating-<?php echo $iterator; ?>" for="<?php echo $this->escapeHtml($_rating->getRatingCode()) ?>_<?php echo $_option->getValue() ?>" title="<?php echo __('%1 %2', $iterator, $iterator > 1 ? 'stars' : 'star') ?>">
+                                    <span><?php echo __('%1 %2', $iterator, $iterator > 1 ? 'stars' : 'star') ?></span>
+                                </label>
+                            <?php $iterator++; ?>
+                            <?php endforeach; ?>
+                            </div>
+                        </div>
+                    <?php endforeach; ?>
+                </div>
+                <input type="hidden" name="validate_rating" class="validate-rating" value="" />
+            </div>
+        </div>
+    <?php endif ?>
+        <div class="field nickname required">
+            <label for="nickname_field" class="label"><span><?php echo __('Nickname') ?></span></label>
+            <div class="control">
+                <input type="text" name="nickname" id="nickname_field" class="input-text" data-validate="{required:true}" value="<?php echo $this->escapeHtml($data->getNickname()) ?>" />
+            </div>
+        </div>
+        <div class="field summary required">
+            <label for="summary_field" class="label"><span><?php echo __('Summary of Your Review') ?></span></label>
+            <div class="control">
+                <input type="text" name="title" id="summary_field" class="input-text" data-validate="{required:true}" value="<?php echo $this->escapeHtml($data->getTitle()) ?>" />
+            </div>
+        </div>
+        <div class="field text required">
+            <label for="review_field" class="label"><span><?php echo __('Review') ?></span></label>
+            <div class="control">
+                <textarea name="detail" id="review_field" cols="5" rows="3" data-validate="{required:true}"><?php echo $this->escapeHtml($data->getDetail()) ?></textarea>
+            </div>
+        </div>
+    </fieldset>
+    <div class="actions form">
+        <button type="submit" class="action submit"><span><?php echo __('Submit Review') ?></span></button>
+        <!-- <button type="button" class="action cancel"><span><?php echo __('Cancel') ?></span></button> -->
+    </div>
+</form>
+<script>
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+            function() {
+                $('#review-form').validation({
+                    errorPlacement: function (error, element) {
+                        if (element.parents('#product-review-table').length) {
+                            $('#product-review-table').siblings(this.errorElement + '.' + this.errorClass).remove();
+                            $('#product-review-table').after(error);
+                        } else {
+                            element.after(error);
+                        }
+                    }
+                });
+            });
+    })(jQuery);
+</script>
+<?php else: ?>
+    <p class="review notlogged" id="review-form">
+        <?php echo __('Only registered users can write reviews. Please, <a href="%1">log in</a> or <a href="%2">register</a>', $this->getLoginLink(), $this->helper('Magento\Customer\Helper\Data')->getRegisterUrl()) ?>
+    </p>
+<?php endif ?>
+</div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/helper/summary.phtml b/app/design/frontend/magento_plushe/Magento_Review/helper/summary.phtml
new file mode 100644
index 00000000000..a6ebbe00232
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/helper/summary.phtml
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $url = $this->getReviewsUrl(); ?>
+<?php $urlForm = $this->getReviewsUrl() . '#review-form'; ?>
+<?php //$url = $this->getProduct()->getProductUrl() . '#info-product_reviews' ?>
+<?php //$urlForm = $this->getProduct()->getProductUrl() . '#info-product_reviews' ?>
+<?php if ($this->getReviewsCount()): ?>
+<?php $rating = $this->getRatingSummary(); ?>
+<div class="product reviews summary<?php echo !$rating ? ' no-rating' :''?>">
+    <?php if ($rating):?>
+    <div class="rating" title="<?php echo $rating; ?>%">
+        <span style="width:<?php echo $rating; ?>%">
+            <?php echo $rating; ?>
+        </span>
+    </div>
+    <?php endif;?>
+    <div class="reviews actions">
+        <?php /* <a class="action view" href="#" onclick="var t = opener ? opener.window : window; t.location.href='<?php echo $this->getReviewsUrl() ?>'; return false;"> */ ?>
+        <a class="action view" href="<?php echo $url ?>"><?php echo $this->getReviewsCount() ?><span><?php echo __('Review(s)') ?></span></a>
+        <a class="action add" href="<?php echo $urlForm ?>"><?php echo __('Add Your Review') ?></a>
+    </div>
+</div>
+<?php elseif ($this->getDisplayIfEmpty()): ?>
+<div class="product reviews summary no-reviews">
+    <a class="action add" href="<?php echo $urlForm; ?>">
+        <?php echo __('Be the first to review this product') ?>
+    </a>
+</div>
+<?php endif; ?>
+<script type="text/javascript">
+    (function($) {
+        $(document).ready(function() {
+            $('.reviews.summary .action').click(function(evt){
+                if($('#product_reviews').length > 0) {
+                    evt.preventDefault();
+                    $('[data-sections]').terms({start:'product_reviews'});
+                } else {
+                    return
+                }
+            })
+        });
+    })(jQuery);
+</script>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Review/helper/summary_short.phtml b/app/design/frontend/magento_plushe/Magento_Review/helper/summary_short.phtml
new file mode 100644
index 00000000000..c2c7fde574c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/helper/summary_short.phtml
@@ -0,0 +1,65 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $url = $this->getReviewsUrl(); ?>
+<?php $urlForm = $this->getReviewsUrl() . '#review-form'; ?>
+<?php //$url = $this->getProduct()->getProductUrl() . '#info-product_reviews' ?>
+<?php //$urlForm = $this->getProduct()->getProductUrl() . '#info-product_reviews' ?>
+<?php if ($this->getReviewsCount()): ?>
+<?php $rating = $this->getRatingSummary(); ?>
+<div class="product reviews summary short<?php echo !$rating ? ' no-rating' :''?>">
+    <?php if ($rating):?>
+    <div class="rating" title="<?php echo $rating; ?>%">
+        <span style="width:<?php echo $rating; ?>%">
+            <?php echo $rating; ?>
+        </span>
+    </div>
+    <?php endif;?>
+    <div class="reviews actions">
+        <?php /* <a class="action view" href="#" onclick="var t = opener ? opener.window : window; t.location.href='<?php echo $this->getReviewsUrl() ?>'; return false;"> */ ?>
+        <a class="action view" href="<?php echo $urlForm ?>"><?php echo $this->getReviewsCount() ?><span><?php echo __('Review(s)') ?></span></a>
+    </div>
+</div>
+<?php elseif ($this->getDisplayIfEmpty()): ?>
+<div class="product reviews summary short no-reviews">
+    <a class="action add" href="<?php echo $urlForm; ?>">
+        <?php echo __('Be the first to review this product') ?>
+    </a>
+</div>
+<?php endif; ?>
+<script type="text/javascript">
+    (function($) {
+        $(document).ready(function() {
+            $('.reviews.summary .action').click(function(evt){
+                if($('#product_reviews').length > 0) {
+                    evt.preventDefault();
+                    $('[data-sections]').terms({start:'product_reviews'});
+                } else {
+                    return
+                }
+            })
+        });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/layout/catalog_product_view.xml b/app/design/frontend/magento_plushe/Magento_Review/layout/catalog_product_view.xml
new file mode 100644
index 00000000000..c3e14735591
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/layout/catalog_product_view.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="product.info.details">
+        <block class="Magento\Catalog\Block\Product\View\Additional" name="product.info.reviews.tab" as="product_reviews">
+            <arguments>
+                <argument name="title" translate="true" xsi:type="string">Reviews</argument>
+            </arguments>
+            <action method="addToParentGroup">
+                <argument name="group" xsi:type="string">detailed_info</argument>
+            </action>
+            <block class="Magento\Review\Block\Form" name="product.review.form" as="review_form">
+                <container name="product.review.form.fields.before" as="form_fields_before" label="Review Form Fields Before" htmlTag="div" htmlClass="rewards"/>
+            </block>
+            <!-- <block class="Magento\Page\Block\Html\Pager" name="product_review_list.toolbar"/> -->
+            <!-- <block class="Magento\Core\Block\Template" name="product_review_list.count" template="Magento_Review::product/view/count.phtml"/> -->
+            <block class="Magento\Review\Block\Product\View\ListView" name="product.info.product_additional_data" as="product_additional_data" template="product/view/list.phtml"/>
+        </block>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/layout/override/customer_account_index.xml b/app/design/frontend/magento_plushe/Magento_Review/layout/override/customer_account_index.xml
new file mode 100644
index 00000000000..8df4eb25e23
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/layout/override/customer_account_index.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Review\Block\Customer\Recent" name="customer_account_dashboard_info1" template="customer/recent.phtml" after="customer_account_dashboard_address"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/layout/override/review_product_view.xml b/app/design/frontend/magento_plushe/Magento_Review/layout/override/review_product_view.xml
new file mode 100644
index 00000000000..5c720fb8ad5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/layout/override/review_product_view.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product Review View" type="page" parent="review_product_list">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">1column.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <block class="Magento\Review\Block\View" name="review_view"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/layout/review_product_list.xml b/app/design/frontend/magento_plushe/Magento_Review/layout/review_product_list.xml
new file mode 100644
index 00000000000..4a54296ac11
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/layout/review_product_list.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">blank.phtml</argument>
+        </action>
+        <block class="Magento\Review\Block\Product\View" as="content" name="product.redirect" template="redirect.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/layout/review_product_view.xml b/app/design/frontend/magento_plushe/Magento_Review/layout/review_product_view.xml
new file mode 100644
index 00000000000..58a124e9c15
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/layout/review_product_view.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_one_column"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/product/view/list.phtml b/app/design/frontend/magento_plushe/Magento_Review/product/view/list.phtml
new file mode 100644
index 00000000000..fc4b25f7e03
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/product/view/list.phtml
@@ -0,0 +1,74 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php 
+    $_items = $this->getReviewsCollection()->getItems();
+    $format = $this->getDateFormat() ?: 'short';
+?>
+<?php if (count($_items)):?>
+<div class="block reviews list" id="customer-reviews">
+    <div class="title">
+        <strong><?php echo __('Customer Reviews') ?></strong>
+    </div>
+    <div class="content">
+    <?php echo $this->getChildHtml('toolbar') ?>
+    <ol class="reviews items">
+    <?php foreach ($_items as $_review):?>
+        <li class="item review">
+            <div class="reviews summary">
+            <?php foreach ($_review->getRatingVotes() as $_vote): ?>
+                <span class="label"><?php echo $this->escapeHtml($_vote->getRatingCode()) ?></span>
+                <div class="rating" title="<?php echo $_vote->getPercent() ?>%">
+                    <span style="width:<?php echo $_vote->getPercent() ?>%">
+                        <?php echo $_vote->getPercent() ?>
+                    </span>
+                </div>
+            <?php endforeach; ?>
+            </div>
+            <div class="review details">
+                <p class="author">
+                    <span><?php echo __('Review by')?></span>
+                    <strong class="nickname"><?php echo $this->escapeHtml($_review->getNickname()) ?></strong>
+                </p>
+                <p class="review date">
+                    <span><?php echo __('Posted on') ?></span>
+                    <time class="date"><?php echo $this->formatDate($_review->getCreatedAt(), $format) ?></time>
+                </p>
+            </div>
+            <div class="review title"><?php echo $this->escapeHtml($_review->getTitle()) ?></div>
+            <?php /*
+                <a href="<?php echo $this->getReviewUrl($_review->getId()) ?>"></a>
+                */?>
+            <div class="review content">
+                <?php echo nl2br($this->escapeHtml($_review->getDetail())) ?>
+            </div>
+        </li>
+    <?php endforeach; ?>
+    </ol>
+    <?php echo $this->getChildHtml('toolbar') ?>
+    </div>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/redirect.phtml b/app/design/frontend/magento_plushe/Magento_Review/redirect.phtml
new file mode 100644
index 00000000000..63372095a6e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/redirect.phtml
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/*    if(isset($GET['limit'])) {
+        $limit = $GET['limit']
+    }*/
+    header("Location:{$this->getProduct()->getProductUrl()}#info-product_reviews");
+    exit;
+?>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/view.phtml b/app/design/frontend/magento_plushe/Magento_Review/view.phtml
new file mode 100644
index 00000000000..e75d946912a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/view.phtml
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if($this->getProductData()->getId()): ?>
+<div class="product-review">
+    <div class="page-title">
+        <h1><?php echo __('Review Details') ?></h1>
+    </div>
+    <div class="product-img-box">
+        <a href="<?php echo $this->getProductData()->getProductUrl() ?>"><img src="<?php echo $this->getBaseImageUrl($this->getProductData()); ?>" height="<?php echo $this->getBaseImageSize()?>" width="<?php echo $this->getBaseImageSize()?>" alt="<?php echo $this->escapeHtml($this->getProductData()->getName()) ?>" class="product-image" /></a>
+        <?php if( $this->getRating() && $this->getRating()->getSize()): ?>
+          <p><?php echo __('Average Customer Rating') ?>:</p>
+          <?php echo $this->getReviewsSummaryHtml($this->getProductData()) ?>
+        <?php endif; ?>
+    </div>
+    <div class="details">
+        <h3 class="product-name"><?php echo $this->escapeHtml($this->getProductData()->getName()) ?></h3>
+        <?php if( $this->getRating() && $this->getRating()->getSize()): ?>
+            <h4><?php echo __('Product Rating:') ?></h4>
+
+            <table class="data-table review-summary-table">
+            <?php foreach ($this->getRating() as $_rating): ?>
+            <?php if($_rating->getPercent()): ?>
+                <tr>
+                    <td class="label"><?php echo __($this->escapeHtml($_rating->getRatingCode())) ?></td>
+                    <td class="value">
+                        <div class="rating-box">
+                            <div class="rating" style="width:<?php echo ceil($_rating->getPercent()) ?>%;"></div>
+                        </div></td>
+                </tr>
+            <?php endif; ?>
+            <?php endforeach; ?>
+            </table>
+        <?php endif; ?>
+        <p class="date"><?php echo __('Product Review (submitted on %1):', $this->dateFormat($this->getReviewData()->getCreatedAt())) ?></p>
+        <p><?php echo nl2br($this->escapeHtml($this->getReviewData()->getDetail())) ?></p>
+    </div>
+    <div class="buttons-set">
+        <p class="back-link"><a href="<?php echo $this->getBackUrl() ?>"><small>&laquo; </small><?php echo __('Back to Product Reviews') ?></a></p>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/billing/agreement/view.phtml b/app/design/frontend/magento_plushe/Magento_Sales/billing/agreement/view.phtml
new file mode 100644
index 00000000000..f352e60e34c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/billing/agreement/view.phtml
@@ -0,0 +1,101 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /* @var $this \Magento\Sales\Block\Billing\Agreement\View */ ?>
+<div class="block billing agreements">
+    <div class="title">
+        <strong><?php echo __('Billing Agreement # %1', $this->escapeHtml($this->getReferenceId())) ?></strong>
+        <?php if ($this->getCanCancel()): ?>
+            <button type="button" title="<?php echo __('Cancel') ?>" class="secondary action cancel" onclick="if( confirm('<?php echo __('Are you sure you want to do this?') ?>') ) { window.location.href = '<?php echo $this->getCancelUrl() ?>'; } return false;">
+                <span><?php echo __('Cancel') ?></span>
+            </button>
+        <?php endif; ?>
+    </div>
+    <div class="content">
+        <h2 class="subtitle caption"><?php echo __('Agreement Information') ?></h2>
+        <table class="data table">
+            <thead>
+                <tr>
+                    <th class="col id"><?php echo __('Reference ID:'); ?></th>
+                    <th class="col status"><?php echo __('Status:'); ?></th>
+                    <th class="col created"><?php echo __('Created:'); ?></th>
+                    <?php if($this->getAgreementUpdatedAt()): ?>
+                        <th class="col updated"><?php echo __('Updated:'); ?></th>
+                    <?php endif; ?>
+                    <th class="col payment"><?php echo __('Payment Method:'); ?></th>
+                </tr>
+            </thead>
+            <tbody>
+                <tr>
+                    <td class="col id"><?php echo $this->escapeHtml($this->getReferenceId()); ?></td>
+                    <td class="col status"><?php echo $this->getAgreementStatus() ?></td>
+                    <td class="col created"><?php echo $this->escapeHtml($this->getAgreementCreatedAt()) ?></td>
+                    <?php if($this->getAgreementUpdatedAt()): ?>
+                        <td class="col updated"><?php echo $this->escapeHtml($this->getAgreementUpdatedAt()); ?></td>
+                    <?php endif; ?>
+                    <td class="col payment"><?php echo $this->getPaymentMethodTitle() ?></td>
+                </tr>
+            </tbody>
+        </table>
+
+        <?php $relatedOrders = $this->getRelatedOrders() ?>
+        <?php if(count($relatedOrders) > 0): ?>
+        <?php echo $this->getChildHtml('pager'); ?>
+        <h2 class="subtitle caption"><?php echo __('Related Orders') ?></h2>
+        <table class="data table" id="related-orders-table">
+            <thead>
+                <tr>
+                    <th class="col id"><?php echo __('Order #') ?></th>
+                    <th class="col date"><?php echo __('Date') ?></th>
+                    <th class="col shipto"><?php echo __('Ship To') ?></th>
+                    <th class="col total"><?php echo __('Order Total') ?></th>
+                    <th class="col status"><?php echo __('Order Status') ?></th>
+                    <th class="col actions">&nbsp;</th>
+                </tr>
+            </thead>
+            <tbody>
+            <?php foreach ($relatedOrders as $order): ?>
+                <tr>
+                    <th class="col id"><?php echo $this->getOrderItemValue($order, 'order_increment_id') ?></th>
+                    <th class="col date"><?php echo $this->getOrderItemValue($order, 'created_at') ?></th>
+                    <th class="col shipto"><?php echo $this->getOrderItemValue($order, 'shipping_address') ?></th>
+                    <th class="col total"><?php echo $this->getOrderItemValue($order, 'order_total') ?></th>
+                    <th class="col status"><?php echo $this->getOrderItemValue($order, 'status_label') ?></th>
+                    <th class="col actions">
+                        <a href="<?php echo $this->getOrderItemValue($order, 'view_url') ?>"><?php echo __('View Order') ?></a>
+                    </th>
+                </tr>
+            <?php endforeach; ?>
+            </tbody>
+        </table>
+        <?php endif; ?>
+
+        <div class="actions">
+            <div class="secondary">
+                <a href="<?php echo $this->getBackUrl() ?>" class="action back"><?php echo __('Back to Billing Agreements') ?></a>
+            </div>
+        </div>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/billing/agreements.phtml b/app/design/frontend/magento_plushe/Magento_Sales/billing/agreements.phtml
new file mode 100644
index 00000000000..e8d240d9002
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/billing/agreements.phtml
@@ -0,0 +1,91 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /* @var $this \Magento\Sales\Block\Billing\Agreements */ ?>
+<div class="block billing agreements">
+    <?php $billingAgreements = $this->getBillingAgreements(); ?>
+    <?php if (count($billingAgreements) > 0): ?>
+        <?php echo $this->getChildHtml('pager'); ?>
+        <table id="billing-agreements" class="data table billing agreements">
+            <thead>
+                <tr>
+                    <th class="col id"><?php echo __('Reference ID'); ?></th>
+                    <th class="col status"><?php echo __('Status'); ?></th>
+                    <th class="col created"><?php echo __('Created At'); ?></th>
+                    <th class="col updated"><?php echo __('Updated At'); ?></th>
+                    <th class="col payment"><?php echo __('Payment Method'); ?></th>
+                    <th class="col actions">&nbsp;</th>
+                </tr>
+            </thead>
+            <tbody>
+                <?php foreach($billingAgreements as $item): ?>
+                <tr>
+                    <td class="col id"><?php echo $this->getItemValue($item, 'reference_id') ?></td>
+                    <td class="col status"><?php echo $this->getItemValue($item, 'status') ?></td>
+                    <td class="col created"><?php echo $this->getItemValue($item, 'created_at') ?></td>
+                    <td class="col updated"><?php echo $this->getItemValue($item, 'updated_at') ?></td>
+                    <td class="col payment"><?php echo $this->getItemValue($item, 'payment_method_label') ?></td>
+                    <td class="col actions">
+                        <a href="<?php echo $this->getItemValue($item, 'edit_url') ?>"><?php echo __('View') ?></a>
+                    </td>
+                </tr>
+                <?php endforeach; ?>
+            </tbody>
+        </table>
+    <?php else: ?>
+        <p class="no agreements"><?php echo __('There are no billing agreements yet.')?></p>
+    <?php endif; ?>
+
+    <?php $paymentMethods = $this->getWizardPaymentMethodOptions() ?>
+    <?php if ($paymentMethods): ?>
+        <h2 class="subtitle caption"><?php echo __('New Billing Agreement') ?></h2>
+
+        <form action="<?php echo $this->getCreateUrl() ?>" method="post" class="form new agreement">
+            <fieldset class="fieldset">
+                <p class="note"><?php echo __('You will be redirected to the payment system website.') ?></p>
+
+                <div class="field payment method">
+                    <div class="control">
+                        <select id="payment_method" name="payment_method">
+                            <option value=""><?php echo __('-- Please Select --') ?></option>
+                            <?php foreach ($paymentMethods as $code => $title): ?>
+                                <option value="<?php echo $code ?>"><?php echo $title ?></option>
+                            <?php endforeach; ?>
+                        </select>
+                    </div>
+                </div>
+                <button type="submit" class="primary action create">
+                    <span><?php echo __('Create...') ?></span>
+                </button>
+            </fieldset>
+        </form>
+    <?php endif; ?>
+
+    <div class="actions">
+        <div class="secondary">
+            <a href="<?php echo $this->escapeHtml($this->getBackUrl()) ?>" class="action back"><span><?php echo __('Back') ?></span></a>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/guest/form.phtml b/app/design/frontend/magento_plushe/Magento_Sales/guest/form.phtml
new file mode 100644
index 00000000000..7965d508ecf
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/guest/form.phtml
@@ -0,0 +1,75 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form orders search" id="oar-widget-orders-and-returns-form" action="<?php echo $this->getActionUrl() ?>" method="post" class="search-form" name="guest_post">
+    <fieldset class="fieldset">
+        <legend class="legend"><span><?php echo __('Order Information') ?></span></legend><br />
+        <div class="field required">
+            <label class="label" for="oar-order-id"><span><?php echo __('Order ID') ?></span></label>
+            <div class="control">
+                <input type="text" class="input-text" id="oar-order-id" name="oar_order_id" data-validate="{required:true}"/>
+            </div>
+        </div>
+        <div class="field required">
+            <label class="label" for="oar-billing-lastname"><span><?php echo __('Billing Last Name') ?></span></label>
+            <div class="control">
+                <input type="text" class="input-text" id="oar-billing-lastname" name="oar_billing_lastname" data-validate="{required:true}"/>
+            </div>
+        </div>
+        <div class="field required">
+            <label class="label" for="quick-search-type-id"><span><?php echo __('Find Order By:') ?></span></label>
+            <div class="control">
+                <select name="oar_type" id="quick-search-type-id" class="select">
+                   <option value="email"><?php echo __('Email Address'); ?></option>
+                   <option value="zip"><?php echo __('ZIP Code'); ?></option>
+                </select>
+            </div>
+        </div>
+        <div id="oar-email" class="field required">
+            <label class="label" for="oar_email"><span><?php echo __('Email Address') ?></span></label>
+            <div class="control">
+                <input type="text" class="input-text" id="oar_email" name="oar_email" data-validate="{required:true, 'validate-email':true}"/>
+            </div>
+        </div>
+        <div id="oar-zip" class="field required">
+            <label class="label" for="oar_zip"><span><?php echo __('Billing ZIP Code') ?></span></label>
+            <div class="control">
+                <input type="text" class="input-text" id="oar_zip" name="oar_zip" data-validate="{required:true}"/>
+            </div>
+        </div>
+    </fieldset>
+    <div class="actions">
+        <button type="submit" title="<?php echo __('Continue') ?>" class="action submit"><span><?php echo __('Continue') ?></span></button>
+    </div>
+</form>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+        "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('Magento_Sales::orders-returns.js');?>", function() {
+            jQuery('#oar-widget-orders-and-returns-form').ordersReturns().validation();
+    });
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/customer_account_index.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/customer_account_index.xml
new file mode 100644
index 00000000000..20442ea3140
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/customer_account_index.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Sales\Block\Order\Recent" name="customer_account_dashboard_top" after="customer_account_dashboard_hello" template="order/recent.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/default.xml
new file mode 100644
index 00000000000..f62b5835f3f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/default.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="right">
+        <block class="Magento\Sales\Block\Reorder\Sidebar" name="sale.reorder.sidebar" as="reorder" template="reorder/sidebar.phtml"/>
+    </referenceContainer>
+    <referenceBlock name="footer_links">
+        <block class="Magento\Sales\Block\Guest\Link" name="sales-guest-form-link">
+            <arguments>
+                <argument name="label" xsi:type="string">Orders and Returns</argument>
+                <argument name="href" xsi:type="string">sales/guest/form</argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_guest_view.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_guest_view.xml
new file mode 100644
index 00000000000..0e6bfb02a39
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_guest_view.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Guest Order View" type="page" parent="default">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">1column.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/>
+        </block>
+        <block class="Magento\Sales\Block\Order\View" name="sales.order.view" after="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Items" name="order_items" template="order/items.phtml">
+                <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Totals" name="order_totals" template="order/totals.phtml">
+                    <arguments>
+                        <argument name="label_properties" xsi:type="string">colspan="4" class="mark"</argument>
+                        <argument name="value_properties" xsi:type="string">class="amount"</argument>
+                    </arguments>
+                    <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml"/>
+                </block>
+            </block>
+        </block>
+    </referenceContainer>
+    <update handle="sales_order_info_links"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_creditmemo.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_creditmemo.xml
new file mode 100644
index 00000000000..194a0cd2434
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_creditmemo.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer My Account Order Creditmemo View" type="page" parent="sales_order_view">
+    <update handle="customer_account"/>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/>
+        </block>
+        <block class="Magento\Sales\Block\Order\Creditmemo" name="sales.order.creditmemo" after="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Creditmemo\Items" name="creditmemo_items" template="order/creditmemo/items.phtml">
+                <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/creditmemo/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/creditmemo/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Creditmemo\Totals" name="creditmemo_totals" template="order/totals.phtml">
+                    <arguments>
+                        <argument name="label_properties" xsi:type="string">colspan="6" class="mark"</argument>
+                        <argument name="value_properties" xsi:type="string">class="amount"</argument>
+                    </arguments>
+                    <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml"/>
+                </block>
+                <block class="Magento\Sales\Block\Order\Comments" name="creditmemo_comments" template="order/comments.phtml"/>
+            </block>
+        </block>
+    </referenceBlock>
+    <update handle="sales_order_info_links"/>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_info_links.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_info_links.xml
new file mode 100644
index 00000000000..20aa47ee1d7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_info_links.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="sales.order.info">
+        <block class="Magento\Page\Block\Links" as="links" name="sales.order.info.links">
+            <arguments>
+                <argument name="css_class" xsi:type="string">items</argument>
+            </arguments>
+            <block class="Magento\Sales\Block\Order\Link" name="sales.order.info.links.billing-agreements">
+                <arguments>
+                    <argument name="path" xsi:type="string">sales/order/view</argument>
+                    <argument name="label" xsi:type="string">Order Information</argument>
+                </arguments>
+            </block>
+            <block class="Magento\Sales\Block\Order\Link" name="sales.order.info.links.invoice">
+                <arguments>
+                    <argument name="key" xsi:type="string">Invoices</argument>
+                    <argument name="path" xsi:type="string">sales/order/invoice</argument>
+                    <argument name="label" xsi:type="string">Invoices</argument>
+                </arguments>
+            </block>
+            <block class="Magento\Sales\Block\Order\Link" name="sales.order.info.links.shipment">
+                <arguments>
+                    <argument name="key" xsi:type="string">Shipments</argument>
+                    <argument name="path" xsi:type="string">sales/order/shipment</argument>
+                    <argument name="label" xsi:type="string">Order Shipments</argument>
+                </arguments>
+            </block>
+            <block class="Magento\Sales\Block\Order\Link" name="sales.order.info.links.creditmemo">
+                <arguments>
+                    <argument name="key" xsi:type="string">Creditmemos</argument>
+                    <argument name="path" xsi:type="string">sales/order/creditmemo</argument>
+                    <argument name="label" xsi:type="string">Refunds</argument>
+                </arguments>
+            </block>
+        </block>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_invoice.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_invoice.xml
new file mode 100644
index 00000000000..f40d14e2ee5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_invoice.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer My Account Order Invoice View" type="page" parent="sales_order_view">
+    <update handle="customer_account"/>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/>
+        </block>
+        <block class="Magento\Sales\Block\Order\Invoice" name="sales.order.invoice" after="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Invoice\Items" name="invoice_items" template="order/invoice/items.phtml">
+                <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/invoice/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/invoice/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Invoice\Totals" name="invoice_totals" template="order/totals.phtml">
+                    <arguments>
+                        <argument name="label_properties" xsi:type="string">colspan="4" class="mark"</argument>
+                        <argument name="value_properties" xsi:type="string">class="amount"</argument>
+                    </arguments>
+                    <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml"/>
+                </block>
+                <block class="Magento\Sales\Block\Order\Comments" name="invoice_comments" template="order/comments.phtml"/>
+            </block>
+        </block>
+    </referenceBlock>
+    <update handle="sales_order_info_links"/>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printorder.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printorder.xml
new file mode 100644
index 00000000000..7f7eff98c8d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printorder.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Sales Order Print View" type="page" parent="print">
+    <referenceContainer name="content">
+        <block class="Magento\Sales\Block\Order\PrintShipment" name="sales.order.print" template="order/print.phtml">
+            <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/items/renderer/default.phtml"/>
+            <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/items/renderer/default.phtml"/>
+            <block class="Magento\Sales\Block\Order\Totals" name="order_totals" template="order/totals.phtml">
+                <arguments>
+                    <argument name="label_properties" xsi:type="string">colspan="4" class="mark"</argument>
+                    <argument name="value_properties" xsi:type="string">class="amount"</argument>
+                </arguments>
+                <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml">
+                    <arguments>
+                        <argument name="is_plane_mode" xsi:type="string">1</argument>
+                    </arguments>
+                </block>
+            </block>
+        </block>
+    </referenceContainer>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printordercreditmemo.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printordercreditmemo.xml
new file mode 100644
index 00000000000..71bc0ee17df
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printordercreditmemo.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Sales Creditmemo Print View" type="page" parent="sales_order_print">
+    <referenceContainer name="content">
+        <block class="Magento\Sales\Block\Order\PrintOrder\Creditmemo" name="sales.order.print.creditmemo" template="order/print/creditmemo.phtml">
+            <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/creditmemo/items/renderer/default.phtml"/>
+            <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/creditmemo/items/renderer/default.phtml"/>
+            <block class="Magento\Sales\Block\Order\Creditmemo\Totals" name="creditmemo_totals" template="order/totals.phtml">
+                <arguments>
+                    <argument name="label_properties" xsi:type="string">colspan="6" class="mark"</argument>
+                    <argument name="value_properties" xsi:type="string">class="amount"</argument>
+                </arguments>
+                <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml"/>
+            </block>
+        </block>
+    </referenceContainer>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printorderinvoice.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printorderinvoice.xml
new file mode 100644
index 00000000000..cca9e34aee1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printorderinvoice.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Sales Invoice Print View" type="page" parent="sales_order_print">
+    <referenceContainer name="content">
+        <block class="Magento\Sales\Block\Order\PrintOrder\Invoice" name="sales.order.print.invoice" template="order/print/invoice.phtml">
+            <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/invoice/items/renderer/default.phtml"/>
+            <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/invoice/items/renderer/default.phtml"/>
+            <block class="Magento\Sales\Block\Order\Invoice\Totals" name="invoice_totals" template="order/totals.phtml">
+                <arguments>
+                    <argument name="label_properties" xsi:type="string">colspan="4" class="mark"</argument>
+                    <argument name="value_properties" xsi:type="string">class="amount"</argument>
+                </arguments>
+                <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml"/>
+            </block>
+        </block>
+    </referenceContainer>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_view.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_view.xml
new file mode 100644
index 00000000000..8ea32e55ea7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_view.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer My Account Order View" type="page" parent="default">
+    <update handle="customer_account"/>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/>
+        </block>
+        <block class="Magento\Sales\Block\Order\View" name="sales.order.view" after="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Items" name="order_items" template="order/items.phtml">
+                <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Totals" name="order_totals" template="order/totals.phtml">
+                    <arguments>
+                        <argument name="label_properties" xsi:type="string">colspan="4" class="mark"</argument>
+                        <argument name="value_properties" xsi:type="string">class="amount"</argument>
+                    </arguments>
+                    <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml"/>
+                </block>
+            </block>
+        </block>
+    </referenceBlock>
+    <update handle="sales_order_info_links"/>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/comments.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/comments.phtml
new file mode 100644
index 00000000000..bd9d1a61b54
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/comments.phtml
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @var $this \Magento\Sales\Block\Order\Comments
+ * @see \Magento\Sales\Block\Order\Comments
+ */
+?>
+<?php if ($this->hasComments()):?>
+    <div class="order additional details comments">
+        <h3 class="subtitle"><?php echo $this->getTitle() ?></h3>
+        <dl class="order comments">
+            <?php foreach ($this->getComments() as $_commentItem): ?>
+                <dt class="comment date"><?php echo $this->formatDate($_commentItem->getCreatedAtStoreDate(), 'medium', true) ?></dt>
+                <dd class="comment text"><?php echo $this->escapeHtml($_commentItem->getComment()) ?></dd>
+            <?php endforeach; ?>
+        </dl>
+    </div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo.phtml
new file mode 100644
index 00000000000..247b9c52366
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo.phtml
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="order details items creditmemo">
+    <?php echo $this->getChildHtml('creditmemo_items') ?>
+    <div class="actions">
+        <div class="secondary">
+            <a href="<?php echo $this->getBackUrl() ?>" class="action back">
+                <span><?php echo $this->getBackTitle() ?></span>
+            </a>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo/items.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo/items.phtml
new file mode 100644
index 00000000000..5c3d8d85590
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo/items.phtml
@@ -0,0 +1,72 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_order = $this->getOrder() ?>
+<div class="order toolbar">
+    <div class="actions">
+        <a href="<?php echo $this->getPrintAllCreditmemosUrl($_order) ?>"
+           onclick="this.target='_blank'"
+           class="action print">
+            <span><?php echo __('Print All Refunds') ?></span>
+        </a>
+    </div>
+</div>
+<?php foreach ($_order->getCreditmemosCollection() as $_creditmemo): ?>
+<div class="order title">
+    <strong><?php echo __('Refund #') ?><?php echo $_creditmemo->getIncrementId(); ?> </strong>
+    <a href="<?php echo $this->getPrintCreditmemoUrl($_creditmemo) ?>"
+       onclick="this.target='_blank'"
+       class="action print">
+        <span><?php echo __('Print Refund') ?></span>
+    </a>
+</div>
+
+<div class="order subtitle caption"><strong><?php echo __('Items Refunded') ?></strong></div>
+<table class="data table order items creditmemo" id="my-refund-table-<?php echo $_creditmemo->getId(); ?>">
+    <thead>
+        <tr>
+            <th class="col name"><?php echo __('Product Name') ?></th>
+            <th class="col sku"><?php echo __('SKU') ?></th>
+            <th class="col price"><?php echo __('Price') ?></th>
+            <th class="col qty"><?php echo __('Qty') ?></th>
+            <th class="col subtotal"><?php echo __('Subtotal') ?></th>
+            <th class="col discount"><?php echo __('Discount Amount') ?></th>
+            <th class="col total"><?php echo __('Row Total') ?></th>
+        </tr>
+    </thead>
+    <tfoot>
+       <?php echo $this->getTotalsHtml($_creditmemo);?>
+    </tfoot>
+    <?php $_items = $_creditmemo->getAllItems(); ?>
+    <?php $_count = count($_items) ?>
+    <?php foreach ($_items as $_item): ?>
+    <?php if ($_item->getOrderItem()->getParentItem()) continue; ?>
+    <tbody>
+        <?php echo $this->getItemHtml($_item) ?>
+    </tbody>
+    <?php endforeach; ?>
+</table>
+<?php echo $this->getCommentsHtml($_creditmemo)?>
+<?php endforeach; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo/items/renderer/default.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo/items/renderer/default.phtml
new file mode 100644
index 00000000000..65f32a6e195
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo/items/renderer/default.phtml
@@ -0,0 +1,315 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<?php $_order = $this->getItem()->getOrderItem()->getOrder() ?>
+<tr class="border" id="order-item-row-<?php echo $_item->getId() ?>">
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+
+        <!-- downloadable -->
+        <?php if ($links = $this->getLinks()): ?>
+            <dl class="item options">
+                <dt><?php echo $this->getLinksTitle() ?></dt>
+                <?php foreach ($links->getPurchasedItems() as $link): ?>
+                    <dd><?php echo $this->escapeHtml($link->getLinkTitle()); ?></dd>
+                <?php endforeach; ?>
+            </dl>
+        <?php endif; ?>
+        <!-- EOF downloadable -->
+
+        <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+        <?php if ($addInfoBlock) :?>
+            <?php echo $addInfoBlock->setItem($_item->getOrderItem())->toHtml(); ?>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $_item->getOrderItem()) && $_item->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $_item->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $_item->getId()?>" data-item-id="<?php echo $_item->getId()?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+    <td  class="col sku"><?php echo $this->escapeHtml($this->helper('Magento\Core\Helper\String')->splitInjection($this->getSku())) ?></td>
+    <td class="col price">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col qty"><?php echo $_item->getQty()*1 ?></td>
+    <td class="col subtotal">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+
+
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col discount"><?php echo $_order->formatPrice(-$_item->getDiscountAmount()) ?></td>
+    <td class="cot total">
+        <?php echo $_order->formatPrice($_item->getRowTotal()-$_item->getDiscountAmount()+$_item->getTaxAmount()+$_item->getWeeeTaxAppliedRowAmount()) ?>
+    </td>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/history.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/history.phtml
new file mode 100644
index 00000000000..e5bc8f2590c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/history.phtml
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_orders = $this->getOrders(); ?>
+<?php echo $this->getChildHtml('info');?>
+<div class="order toolbar"><?php echo $this->getPagerHtml(); ?></div>
+<?php if($_orders->getSize()): ?>
+<table class="data table orders history" id="my-orders-table">
+    <thead>
+        <tr>
+            <th class="col id"><?php echo __('Order #') ?></th>
+            <th class="col date"><?php echo __('Date') ?></th>
+            <th class="col shipping"><?php echo __('Ship To') ?></th>
+            <th class="col total"><?php echo __('Order Total') ?></th>
+            <th class="col status"><?php echo __('Status') ?></th>
+            <th class="col actions">&nbsp;</th>
+        </tr>
+    </thead>
+    <tbody>
+        <?php foreach ($_orders as $_order): ?>
+            <tr>
+                <td class="col id"><?php echo $_order->getRealOrderId() ?></td>
+                <td class="col date"><?php echo $this->formatDate($_order->getCreatedAtStoreDate()) ?></td>
+                <td class="col shipping"><?php echo $_order->getShippingAddress() ? $this->escapeHtml($_order->getShippingAddress()->getName()) : '&nbsp;' ?></td>
+                <td class="col total"><?php echo $_order->formatPrice($_order->getGrandTotal()) ?></td>
+                <td class="col status"><em><?php echo $_order->getStatusLabel() ?></em></td>
+                <td class="col actions">
+                    <a href="<?php echo $this->getViewUrl($_order) ?>" class="action view">
+                        <span><?php echo __('View Order') ?></span>
+                    </a>
+                    <?php if ($this->helper('Magento\Sales\Helper\Reorder')->canReorder($_order)) : ?>
+                        <a href="<?php echo $this->getReorderUrl($_order) ?>" class="action order">
+                            <span><?php echo __('Reorder') ?></span>
+                        </a>
+                    <?php endif ?>
+                </td>
+            </tr>
+        <?php endforeach; ?>
+    </tbody>
+</table>
+<div class="order toolbar bottom"><?php echo $this->getPagerHtml(); ?></div>
+<?php else: ?>
+    <p><?php echo __('You have placed no orders.'); ?></p>
+<?php endif ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/info.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/info.phtml
new file mode 100644
index 00000000000..d5491807095
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/info.phtml
@@ -0,0 +1,77 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Sales\Block\Order\Info */ ?>
+<?php $_order = $this->getOrder() ?>
+<div class="order details view">
+    <strong class="order status"><?php echo $_order->getStatusLabel() ?></strong>
+    <div class="order toolbar">
+        <?php echo $this->getChildHtml('buttons') ?>
+        <?php echo $this->getStatusHistoryRssUrl($_order) ?>
+    </div>
+    <dl class="order info">
+        <dt><?php echo __('About This Order:') ?></dt>
+        <dd>
+            <?php echo $this->getChildHtml('links') ?>
+        </dd>
+    </dl>
+    <p class="order date"><?php echo __('<span class="label">Order Date:</span> %1', '<date>' . $this->formatDate($_order->getCreatedAtStoreDate(), 'long') . '</date>' ) ?></p>
+<?php if (!$_order->getIsVirtual()): ?>
+    <div class="block order shipping address">
+        <div class="title"><strong><?php echo __('Shipping Address') ?></strong></div>
+        <div class="content">
+            <address><?php echo $_order->getShippingAddress()->format('html') ?></address>
+        </div>
+    </div>
+
+    <div class="block order shipping method">
+        <div class="title"><strong><?php echo __('Shipping Method') ?></strong></div>
+        <div class="content">
+        <?php if ($_order->getShippingDescription()): ?>
+            <?php echo $this->escapeHtml($_order->getShippingDescription()) ?>
+        <?php else: ?>
+            <?php echo __('No shipping information available'); ?>
+        <?php endif; ?>
+        </div>
+    </div>
+
+<?php endif; ?>
+    <div class="block order billing address">
+        <div class="title">
+            <strong><?php echo __('Billing Address') ?></strong>
+        </div>
+        <div class="content">
+            <address><?php echo $_order->getBillingAddress()->format('html') ?></address>
+        </div>
+    </div>
+    <div class="block order billing method">
+        <div class="title">
+            <strong><?php echo __('Payment Method') ?></strong>
+        </div>
+        <div class="content">
+            <?php echo $this->getPaymentInfoHtml() ?>
+        </div>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/info/buttons.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/info/buttons.phtml
new file mode 100644
index 00000000000..345c5e73577
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/info/buttons.phtml
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="actions">
+    <?php  $_order = $this->getOrder() ?>
+    <?php if ($this->helper('Magento\Sales\Helper\Reorder')->canReorder($_order)) : ?>
+        <a class="action reorder" href="<?php echo $this->getReorderUrl($_order) ?>">
+            <span><?php echo __('Reorder') ?></span>
+        </a>
+    <?php endif ?>
+    <a class="action print"
+       href="<?php echo $this->getPrintUrl($_order) ?>"
+       onclick="this.target='_blank';">
+        <span><?php echo __('Print Order') ?></span>
+    </a>
+    <?php if($this->helper('Magento\Rss\Helper\Order')->isStatusNotificationAllow()): ?>
+        <a href="<?php echo $this->helper('Magento\Rss\Helper\Order')->getStatusHistoryRssUrl($_order) ?>"
+           class="action rss">
+            <span><?php echo __('Subscribe to Order Status') ?></span>
+        </a>
+    <?php endif; ?>
+    <?php echo $this->getChildHtml(); ?>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/invoice.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/invoice.phtml
new file mode 100644
index 00000000000..fff36854de1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/invoice.phtml
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="order details items invoice">
+    <?php echo $this->getChildHtml('invoice_items') ?>
+    <div class="actions">
+        <div class="secondary">
+            <a href="<?php echo $this->getBackUrl() ?>" class="action back">
+                <span><?php echo $this->getBackTitle() ?></span>
+            </a>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/invoice/items.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/invoice/items.phtml
new file mode 100644
index 00000000000..b9be6d9379d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/invoice/items.phtml
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_order = $this->getOrder() ?>
+<div class="order toolbar">
+    <div class="actions">
+        <a href="<?php echo $this->getPrintAllInvoicesUrl($_order) ?>"
+           target="_blank"
+           class="action print">
+            <span><?php echo __('Print All Invoices') ?></span>
+        </a>
+    </div>
+</div>
+<?php foreach ($_order->getInvoiceCollection() as $_invoice): ?>
+<div class="order title">
+    <strong><?php echo __('Invoice #') ?><?php echo $_invoice->getIncrementId(); ?></strong>
+    <a href="<?php echo $this->getPrintInvoiceUrl($_invoice) ?>"
+       onclick="this.target='_blank'"
+       class="action print">
+        <span><?php echo __('Print Invoice') ?></span>
+    </a>
+</div>
+<div class="order subtitle caption"><strong><?php echo __('Items Invoiced') ?></strong></div>
+<table class="data table order items invoice" id="my-invoice-table-<?php echo $_invoice->getId(); ?>">
+    <thead>
+        <tr>
+            <th class="col name"><?php echo __('Product Name') ?></th>
+            <th class="col sku"><?php echo __('SKU') ?></th>
+            <th class="col price"><?php echo __('Price') ?></th>
+            <th class="col qty"><?php echo __('Qty Invoiced') ?></th>
+            <th class="col subtotal"><?php echo __('Subtotal') ?></th>
+        </tr>
+    </thead>
+    <tfoot>
+        <?php echo $this->getInvoiceTotalsHtml($_invoice)?>
+    </tfoot>
+    <?php $_items = $_invoice->getAllItems(); ?>
+    <?php $_count = count($_items) ?>
+    <?php foreach ($_items as $_item): ?>
+    <?php if ($_item->getOrderItem()->getParentItem()) continue; ?>
+    <tbody>
+        <?php echo $this->getItemHtml($_item) ?>
+    </tbody>
+    <?php endforeach; ?>
+</table>
+<?php echo $this->getInvoiceCommentsHtml($_invoice)?>
+<?php endforeach; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/invoice/items/renderer/default.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/invoice/items/renderer/default.phtml
new file mode 100644
index 00000000000..2cfb7fdce17
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/invoice/items/renderer/default.phtml
@@ -0,0 +1,295 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<?php $_order = $this->getItem()->getOrderItem()->getOrder() ?>
+<tr id="order-item-row-<?php echo $_item->getId() ?>">
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+        <?php if ($addInfoBlock) :?>
+            <?php echo $addInfoBlock->setItem($_item->getOrderItem())->toHtml(); ?>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $_item->getOrderItem()) && $_item->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $_item->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $_item->getId()?>" data-item-id="<?php echo $_item->getId()?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+    <td class="col sku"><?php echo $this->escapeHtml($this->helper('Magento\Core\Helper\String')->splitInjection($this->getSku())) ?></td>
+    <td class="col price">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col qty">
+        <span class="qty summary"><?php echo $_item->getQty()*1 ?></span>
+    </td>
+    <td class="col subtotal">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+            </span>
+        <?php endif; ?>
+    </td>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/items.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/items.phtml
new file mode 100644
index 00000000000..0ab62e2dc07
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/items.phtml
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_order = $this->getOrder() ?>
+<?php $_giftMessage; ?>
+<table class="data table order items" id="my-orders-table" summary="<?php echo __('Items Ordered') ?>">
+    <thead>
+        <tr>
+            <th class="col name"><?php echo __('Product Name') ?></th>
+            <th class="col sku"><?php echo __('SKU') ?></th>
+            <th class="col price"><?php echo __('Price') ?></th>
+            <th class="col qty"><?php echo __('Qty') ?></th>
+            <th class="col subtotal"><?php echo __('Subtotal') ?></th>
+        </tr>
+    </thead>
+    <tfoot>
+        <?php echo $this->getChildHtml('order_totals') ?>
+    </tfoot>
+        <?php $_items = $_order->getItemsCollection(); ?>
+        <?php $_index = 0; ?>
+        <?php $_count = $_items->count(); ?>
+        <?php $_giftMessage = ''?>
+        <?php foreach ($_items as $_item): ?>
+        <?php if ($_item->getParentItem()) continue; ?>
+        <tbody>
+            <?php echo $this->getItemHtml($_item) ?>
+            <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $_item) && $_item->getGiftMessageId()): ?>
+            <tr id="order-item-gift-message-<?php echo $_item->getId() ?>" role="region" aria-expanded="false" tabindex="-1" style="display:none;">
+                <?php $_giftMessage = $this->helper('Magento\GiftMessage\Helper\Message')->getGiftMessageForEntity($_item); ?>
+                <td class="col message" colspan="7">
+                    <div class="gift message details">
+                        <a href="#"
+                           title="<?php echo __('Close') ?>"
+                           aria-controls="order-item-gift-message-<?php echo $_item->getId()?>"
+                           data-item-id="<?php echo $_item->getId()?>"
+                           class="action close">
+                            <?php echo __('Close') ?>
+                        </a>
+                        <dl class="gift message">
+                            <dt class="gift sender"><strong class="label"><?php echo __('From:') ?></strong> <?php echo $this->escapeHtml($_giftMessage->getSender()) ?></dt>
+                            <dt class="gift recipient"><strong class="label"><?php echo __('To:') ?></strong> <?php echo $this->escapeHtml($_giftMessage->getRecipient()) ?></dt>
+                            <dd class="message text"><?php echo $this->helper('Magento\GiftMessage\Helper\Message')->getEscapedGiftMessage($_item) ?></dd>
+                        </dl>
+                    </div>
+                </td>
+            </tr>
+            <?php endif ?>
+        </tbody>
+        <?php endforeach; ?>
+</table>
+<?php if ($_giftMessage): ?>
+    <script type="text/javascript">
+        head.js("<?php echo $this->getViewFileUrl('Magento_Sales::gift-message.js')?>", function() {
+            jQuery('a.action.show').add('a.action.close').giftMessage();
+        });
+    </script>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/items/renderer/default.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/items/renderer/default.phtml
new file mode 100644
index 00000000000..f0c35ef35a6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/items/renderer/default.phtml
@@ -0,0 +1,317 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<tr id="order-item-row-<?php echo $_item->getId() ?>">
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd>
+                    <?php echo nl2br($this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) )) ?>
+                </dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <?php $addtInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+        <?php if ($addtInfoBlock) :?>
+            <?php echo $addtInfoBlock->setItem($_item)->toHtml(); ?>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $_item) && $_item->getGiftMessageId()): ?>
+            <a href="#"
+               id="order-item-gift-message-link-<?php echo $_item->getId() ?>"
+               class="action show"
+               aria-controls="order-item-gift-message-<?php echo $_item->getId()?>"
+               data-item-id="<?php echo $_item->getId()?>">
+                <?php echo __('Gift Message') ?>
+            </a>
+        <?php endif; ?>
+    </td>
+    <td class="col sku"><?php echo $this->escapeHtml($this->helper('Magento\Core\Helper\String')->splitInjection($this->getSku())) ?></td>
+    <td class="col price">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col qty">
+        <span class="qty summary">
+                <?php if ($this->getItem()->getQtyOrdered() > 0): ?>
+            <?php echo __('Ordered'); ?>: <strong><?php echo $this->getItem()->getQtyOrdered()*1 ?></strong><br />
+        <?php endif; ?>
+        <?php if ($this->getItem()->getQtyShipped() > 0): ?>
+            <?php echo __('Shipped'); ?>: <strong><?php echo $this->getItem()->getQtyShipped()*1 ?></strong><br />
+        <?php endif; ?>
+        <?php if ($this->getItem()->getQtyCanceled() > 0): ?>
+            <?php echo __('Canceled'); ?>: <strong><?php echo $this->getItem()->getQtyCanceled()*1 ?></strong><br />
+        <?php endif; ?>
+        <?php if ($this->getItem()->getQtyRefunded() > 0): ?>
+            <?php echo __('Refunded'); ?>: <strong><?php echo $this->getItem()->getQtyRefunded()*1 ?></strong><br />
+        <?php endif; ?>
+        </span>
+    </td>
+    <td class="col subtotal">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+            </span>
+        <?php endif; ?>
+    </td>
+    <!--
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+    <th class="a-right"><?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?></th>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+    <th class="a-right"><?php echo $this->getOrder()->formatPrice($this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem())); ?></th>
+    <?php endif; ?>
+    -->
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/print.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/print.phtml
new file mode 100644
index 00000000000..90b9eaacd63
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/print.phtml
@@ -0,0 +1,98 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_order = $this->getOrder() ?>
+<div class="page title">
+    <h1 class="title"><?php echo __('Order #%1', $_order->getRealOrderId()) ?></h1>
+</div>
+<p class="order-date"><?php echo __('Order Date: %1', $this->formatDate($_order->getCreatedAtStoreDate(), 'long')) ?></p>
+
+<div class="order details view">
+    <div class="block order shipping address">
+        <div class="title">
+            <strong><?php echo __('Shipping Address') ?></strong>
+        </div>
+        <div class="content">
+            <address><?php echo $_order->getShippingAddress()->format('html') ?></address>
+        </div>
+    </div>
+    <div class="block order billing address">
+        <div class="title">
+            <strong><?php echo __('Billing Address') ?></strong>
+        </div>
+        <div class="content">
+            <address><?php echo $_order->getBillingAddress()->format('html') ?></address>
+        </div>
+    </div>
+    <?php if (!$_order->getIsVirtual()): ?>
+    <div class="block order shipping method">
+        <div class="title">
+            <strong><?php echo __('Shipping Method') ?></strong>
+        </div>
+        <?php echo $this->escapeHtml($_order->getShippingDescription()) ?>
+    </div>
+    <?php endif; ?>
+    <div class="block order shipping">
+        <div class="title">
+            <strong><?php echo __('Payment Method') ?></strong>
+        </div>
+        <div class="content">
+            <?php echo $this->getPaymentInfoHtml() ?>
+        </div>
+    </div>
+</div>
+
+<div class="order details items">
+    <div class="order subtitle caption">
+        <strong><?php echo __('Items Ordered') ?></strong>
+    </div>
+    <table class="data table order items" id="my-orders-table">
+        <thead>
+        <tr>
+            <th class="col name"><?php echo __('Product Name') ?></th>
+            <th class="col sku"><?php echo __('SKU') ?></th>
+            <th class="col price"><?php echo __('Price') ?></th>
+            <th class="col qty"><?php echo __('Qty') ?></th>
+            <th class="a-right"><?php echo __('Subtotal') ?></th>
+        </tr>
+        </thead>
+        <tfoot>
+        <?php echo $this->getChildHtml('order_totals') ?>
+        </tfoot>
+        <?php $_items = $_order->getItemsCollection(); ?>
+        <?php $_count = $_items->count(); ?>
+        <?php foreach ($_items as $_item): ?>
+        <?php if ($_item->getParentItem()) continue; ?>
+        <tbody>
+            <?php echo $this->getItemHtml($_item) ?>
+        </tbody>
+        <?php endforeach; ?>
+    </table>
+</div>
+<script type="text/javascript">(function ($) {
+    $('#my-orders-table').decorate('table', {'tbody':['odd', 'even'], 'tbody tr':['first', 'last']})
+})(jQuery)</script>
+<script type="text/javascript">window.print();</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/print/creditmemo.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/print/creditmemo.phtml
new file mode 100644
index 00000000000..4d2a53c668e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/print/creditmemo.phtml
@@ -0,0 +1,117 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_order = $this->getOrder() ?>
+<div class="page title">
+    <h1 class="title"><?php echo __('Order #%1', $_order->getRealOrderId()) ?></h1>
+</div>
+<p class="order-date"><?php echo __('Order Date: %1', $this->formatDate($_order->getCreatedAtStoreDate(), 'long')) ?></p>
+<?php $_creditmemo = $this->getCreditmemo() ?>
+<?php if($_creditmemo): ?>
+    <?php $_creditmemos = array($_creditmemo); ?>
+<?php else: ?>
+    <?php $_creditmemos = $_order->getCreditmemosCollection() ?>
+<?php endif; ?>
+<?php foreach ($_creditmemos as $_creditmemo): ?>
+    <div class="order details view">
+        <div class="title">
+            <strong><?php echo __('Refund #%1', $_creditmemo->getIncrementId()) ?></strong>
+        </div>
+
+        <div class="block order shipping address">
+        <?php if (!$_order->getIsVirtual()): ?>
+            <div class="title">
+                <strong><?php echo __('Shipping Address') ?></strong>
+            </div>
+            <div class="content">
+                <?php $_shipping = $_creditmemo->getShippingAddress() ?>
+                <address><?php echo $_shipping->format('html') ?></address>
+            </div>
+        </div>
+
+        <div class="block order billing address">
+        <?php endif; ?>
+            <div class="title">
+                <strong><?php echo __('Billing Address') ?></strong>
+            </div>
+            <div class="content">
+                <?php $_billing = $_creditmemo->getbillingAddress() ?>
+                <address><?php echo $_order->getBillingAddress()->format('html') ?></address>
+            </div>
+        </div>
+
+        <?php if (!$_order->getIsVirtual()): ?>
+        <div class="block order shipping method">
+            <div class="title">
+                <strong><?php echo __('Shipping Method') ?></strong>
+            </div>
+            <div class="content">
+                <?php echo $this->escapeHtml($_order->getShippingDescription()) ?>
+            </div>
+        </div>
+        <?php endif; ?>
+        <div class="block order payment method">
+            <div class="title">
+                <strong><?php echo __('Payment Method') ?></strong>
+            </div>
+            <div class="content">
+                <?php echo $this->getPaymentInfoHtml() ?>
+            </div>
+        </div>
+
+    </div>
+    <div class="order details items">
+        <div class="order subtitle caption">
+            <strong><?php echo __('Items Refunded') ?></strong>
+        </div>
+        <table class="data table order items" id="my-refund-table-<?php echo $_creditmemo->getId(); ?>">
+            <thead>
+                <tr>
+                    <th class="col name"><?php echo __('Product Name') ?></th>
+                    <th class="col sku"><?php echo __('SKU') ?></th>
+                    <th class="col price"><?php echo __('Price') ?></th>
+                    <th class="col qty"><?php echo __('Qty') ?></th>
+                    <th class="col subtotal"><?php echo __('Subtotal') ?></th>
+                    <th class="col discount"><?php echo __('Discount Amount') ?></th>
+                    <th class="col rowtotal"><?php echo __('Row Total') ?></th>
+                </tr>
+            </thead>
+            <tfoot>
+                <?php echo $this->getTotalsHtml($_creditmemo);?>
+            </tfoot>
+            <?php $_items = $_creditmemo->getAllItems(); ?>
+            <?php $_count = count($_items); ?>
+            <?php foreach ($_items as $_item): ?>
+            <?php if ($_item->getOrderItem()->getParentItem()) continue; ?>
+            <tbody>
+                <?php echo $this->getItemHtml($_item) ?>
+            </tbody>
+            <?php endforeach; ?>
+        </table>
+    </div>
+<script type="text/javascript">(function($) {$('#my-refund-table-<?php echo $_creditmemo->getId(); ?>').decorate('table', {'tbody': ['odd','even'], 'tbody tr': ['first','last']})})(jQuery)</script>
+<?php endforeach; ?>
+<script type="text/javascript">window.print();</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/print/invoice.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/print/invoice.phtml
new file mode 100644
index 00000000000..0c5043a86c6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/print/invoice.phtml
@@ -0,0 +1,115 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_order = $this->getOrder() ?>
+<div class="page title">
+    <h1 class="title"><?php echo __('Order #%1', $_order->getRealOrderId()) ?></h1>
+</div>
+<p class="order date"><?php echo __('Order Date: %1', $this->formatDate($_order->getCreatedAtStoreDate(), 'long')) ?></p>
+<?php $_invoice = $this->getInvoice() ?>
+<?php if ($_invoice): ?>
+<?php $_invoices = array($_invoice); ?>
+<?php else: ?>
+<?php $_invoices = $_order->getInvoiceCollection() ?>
+<?php endif; ?>
+<?php foreach ($_invoices as $_invoice): ?>
+<div class="order details view">
+    <div class="title">
+        <strong><?php echo __('Invoice #%1', $_invoice->getIncrementId()) ?></strong>
+    </div>
+
+    <div class="block order shipping address">
+    <?php if (!$_order->getIsVirtual()): ?>
+        <div class="title">
+            <strong><?php echo __('Shipping Address') ?></strong>
+        </div>
+        <div class="content">
+            <?php $_shipping = $_invoice->getShippingAddress() ?>
+            <address><?php echo $_shipping->format('html') ?></address>
+        </div>
+    </div>
+    <div class="block order billing address">
+        <?php endif; ?>
+        <div class="title">
+            <strong><?php echo __('Billing Address') ?></strong>
+        </div>
+        <div class="content">
+            <?php $_billing = $_invoice->getbillingAddress() ?>
+            <address><?php echo $_order->getBillingAddress()->format('html') ?></address>
+        </div>
+    </div>
+    <?php if (!$_order->getIsVirtual()): ?>
+
+    <div class="block order shipping method">
+        <div class="title">
+            <strong><?php echo __('Shipping Method') ?></strong>
+        </div>
+        <div class="content">
+            <?php echo $this->escapeHtml($_order->getShippingDescription()) ?>
+        </div>
+    </div>
+    <?php endif; ?>
+    <div class="block order payment method">
+        <div class="title">
+            <strong><?php echo __('Payment Method') ?></strong>
+        </div>
+        <div class="content">
+            <?php echo $this->getPaymentInfoHtml() ?>
+        </div>
+    </div>
+</div>
+<div class="order details items">
+    <div class="order subtitle caption">
+        <strong><?php echo __('Items Invoiced') ?></strong>
+    </div>
+    <table class="data table order items" id="my-invoice-table-<?php echo $_invoice->getId(); ?>">
+        <thead>
+        <tr>
+            <th class="col name"><?php echo __('Product Name') ?></th>
+            <th class="col sku"><?php echo __('SKU') ?></th>
+            <th class="col price"><?php echo __('Price') ?></th>
+            <th class="col qty"><span class="nobr"><?php echo __('Qty Invoiced') ?></span></th>
+            <th class="col subtotal"><?php echo __('Subtotal') ?></th>
+        </tr>
+        </thead>
+        <tfoot>
+            <?php echo $this->getInvoiceTotalsHtml($_invoice)?>
+        </tfoot>
+        <?php $_items = $_invoice->getItemsCollection(); ?>
+        <?php $_count = $_items->count(); ?>
+        <?php foreach ($_items as $_item): ?>
+        <?php if ($_item->getOrderItem()->getParentItem()) continue; ?>
+        <tbody>
+            <?php echo $this->getItemHtml($_item) ?>
+        </tbody>
+        <?php endforeach; ?>
+    </table>
+</div>
+<script type="text/javascript">(function ($) {
+    $('#my-invoice-table-<?php echo $_invoice->getId(); ?>').decorate('table', {'tbody':['odd', 'even'], 'tbody tr':['first', 'last']})
+})(jQuery)</script>
+<?php endforeach; ?>
+<script type="text/javascript">window.print();</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/print/shipment.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/print/shipment.phtml
new file mode 100644
index 00000000000..dd0510a86cc
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/print/shipment.phtml
@@ -0,0 +1,123 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /* @var $this \Magento\Sales\Block\Order\PrintOrder\Shipment */ ?>
+<?php $order = $this->getOrder(); ?>
+<div class="page title">
+    <h1 class="title">
+        <?php echo __('Order #%1', $this->getObjectData($order, 'real_order_id')); ?>
+    </h1>
+</div>
+<p class="order-date"><?php echo __('Order Date: %1', $this->formatDate($this->getObjectData($order, 'created_at_store_date'), 'long')) ?></p>
+<?php if (!$this->getObjectData($order, 'is_virtual')): ?>
+<?php foreach ($this->getShipmentsCollection() as $shipment): ?>
+    <div class="order details view">
+        <div class="title">
+            <strong><?php echo __('Shipment #%1', $this->getObjectData($shipment, 'increment_id')); ?></strong>
+        </div>
+
+        <div class="block order shipping address">
+            <div class="title">
+                <strong><?php echo __('Shipping Address') ?></strong>
+            </div>
+            <div class="content">
+                <address><?php echo $this->getShipmentAddressFormattedHtml($shipment); ?></address>
+            </div>
+        </div>
+
+        <div class="block order billing address">
+            <div class="title">
+                <strong><?php echo __('Billing Address') ?></strong>
+            </div>
+            <div class="content">
+                <address><?php echo $this->getBillingAddressFormattedHtml($order); ?></address>
+            </div>
+        </div>
+
+        <div class="block order shipping method">
+            <div class="title">
+                <strong><?php echo __('Shipping Method') ?></strong>
+            </div>
+            <?php echo $this->escapeHtml($this->getObjectData($order, 'shipping_description')); ?>
+            <?php $tracks = $this->getShipmentTracks($shipment);
+            if ($tracks): ?>
+                <table class="data table order tracking" id="my-shipment-tracking">
+                    <thead>
+                    <tr>
+                        <th class="label"><?php echo __('Title')?></th>
+                        <th><?php echo __('Number')?></th>
+                    </tr>
+                    </thead>
+                    <tbody>
+                        <?php foreach ($tracks as $track): ?>
+                    <tr>
+                        <td class="label"><?php echo $this->escapeHtml($this->getObjectData($track, 'title')); ?></td>
+                        <td><?php echo $this->escapeHtml($this->getObjectData($track, 'number')); ?></td>
+                    </tr>
+                        <?php endforeach; ?>
+                    </tbody>
+                </table>
+                <script type="text/javascript">(function ($) {
+                    $('#my-shipment-tracking').decorate('table')
+                })(jQuery)</script>
+            <?php endif; ?>
+        </div>
+
+        <div class="block order payment method">
+            <div class="title">
+                <strong><?php echo __('Payment Method') ?></strong>
+            </div>
+            <div class="content">
+                <?php echo $this->getPaymentInfoHtml() ?>
+            </div>
+        </div>
+
+    </div>
+    <div class="order details items">
+        <div class="order subtitle caption">
+            <strong><?php echo __('Items Shipped') ?></strong>
+        </div>
+        <table class="data table order items" id="my-shipment-table-<?php echo $this->getObjectData($shipment, 'id') ?>">
+            <thead>
+            <tr>
+                <th class="col name"><?php echo __('Product Name') ?></th>
+                <th class="col sku"><?php echo __('SKU') ?></th>
+                <th class="col price"><span class="nobr"><?php echo __('Qty Shipped') ?></span></th>
+            </tr>
+            </thead>
+            <?php foreach ($this->getShipmentItems($shipment) as $item): ?>
+            <tbody>
+                <?php echo $this->getItemHtml($item) ?>
+            </tbody>
+            <?php endforeach; ?>
+        </table>
+    </div>
+    <script type="text/javascript">(function ($) {
+        $('#my-shipment-table-<?php echo $this->getObjectData($shipment, 'id')?>').decorate('table', {'tbody':['odd', 'even'], 'tbody tr':['first', 'last']})
+    })(jQuery)</script>
+    <?php endforeach; ?>
+<?php endif; ?>
+<script type="text/javascript">window.print();</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/recent.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/recent.phtml
new file mode 100644
index 00000000000..35af465a6a1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/recent.phtml
@@ -0,0 +1,76 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block dashboard orders">
+<?php $_orders = $this->getOrders(); ?>
+    <div class="order title">
+        <strong><?php echo __('Recent Orders') ?></strong>
+        <?php if( sizeof($_orders->getItems()) > 0 ): ?>
+            <a class="action view" href="<?php echo $this->getUrl('sales/order/history') ?>">
+                <span><?php echo __('View All') ?></span>
+            </a>
+        <?php endif; ?>
+    </div>
+    <div class="content">
+    <?php echo $this->getChildHtml()?>
+    <?php if( sizeof($_orders->getItems()) > 0 ): ?>
+        <table class="data table orders recent" id="my-orders-table">
+            <thead>
+                <tr>
+                    <th class="col id"><?php echo __('Order #') ?></th>
+                    <th class="col date"><?php echo __('Date') ?></th>
+                    <th class="col shipping"><?php echo __('Ship To') ?></th>
+                    <th class="col total"><?php echo __('Order Total') ?></th>
+                    <th class="col status"><?php echo __('Status') ?></th>
+                    <th class="col actions">&nbsp;</th>
+                </tr>
+            </thead>
+            <tbody>
+                <?php foreach ($_orders as $_order): ?>
+                    <tr>
+                        <td class="col id"><?php echo $_order->getRealOrderId() ?></td>
+                        <td class="col date"><?php echo $this->formatDate($_order->getCreatedAtStoreDate()) ?></td>
+                        <td class="col shipping"><?php echo $_order->getShippingAddress() ? $this->escapeHtml($_order->getShippingAddress()->getName()) : '&nbsp;' ?></td>
+                        <td class="col total"><?php echo $_order->formatPrice($_order->getGrandTotal()) ?></td>
+                        <td class="col status"><em><?php echo $_order->getStatusLabel() ?></em></td>
+                        <td class="col actions">
+                            <a href="<?php echo $this->getViewUrl($_order) ?>" class="action view">
+                                <span><?php echo __('View Order') ?></span>
+                            </a>
+                            <?php if ($this->helper('Magento\Sales\Helper\Reorder')->canReorder($_order)) : ?>
+                                <a href="<?php echo $this->getReorderUrl($_order) ?>" class="action order">
+                                    <span><?php echo __('Reorder') ?></span>
+                                </a>
+                            <?php endif ?>
+                        </td>
+                    </tr>
+                <?php endforeach; ?>
+            </tbody>
+        </table>
+    <?php else: ?>
+        <p class="empty"><?php echo __('You have placed no orders.'); ?></p>
+    <?php endif; ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/shipment.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/shipment.phtml
new file mode 100644
index 00000000000..191012ded18
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/shipment.phtml
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="order items details shipments">
+    <?php echo $this->getChildHtml('shipment_items') ?>
+    <div class="actions">
+        <div class="secondary">
+            <a href="<?php echo $this->getBackUrl() ?>" class="action back">
+                <span><?php echo $this->getBackTitle() ?></span>
+            </a>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/shipment/items.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/shipment/items.phtml
new file mode 100644
index 00000000000..23843a765be
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/shipment/items.phtml
@@ -0,0 +1,105 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php  $_order = $this->getOrder() ?>
+<div class="order toolbar">
+    <div class="actions">
+        <?php  if ($_order->getTracksCollection()->count()) : ?>
+            <a href="#"
+               data-mage-init="{popupWindow: {windowURL:'<?php echo $this->helper('Magento\Shipping\Helper\Data')->getTrackingPopupUrlBySalesModel($_order) ?>',windowName:'trackorder',width:800,height:600,top:0,left:0,resizable:1,scrollbars:1}}" title="<?php echo __('Track all shipment(s)') ?>"
+               class="action track">
+                <span><?php echo __('Track all shipments') ?></span>
+            </a>
+        <?php endif; ?>
+        <a href="<?php echo $this->getPrintAllShipmentsUrl($_order) ?>"
+           onclick="this.target='_blank'"
+           class="action print">
+            <span><?php echo __('Print All Shipments') ?></span>
+        </a>
+    </div>
+</div>
+<?php foreach ($_order->getShipmentsCollection() as $_shipment): ?>
+<div class="order title">
+    <strong><?php echo __('Shipment #') ?><?php echo $_shipment->getIncrementId(); ?></strong>
+    <a href="<?php echo $this->getPrintShipmentUrl($_shipment) ?>"
+       onclick="this.target='_blank'"
+       class="action print">
+        <span><?php echo __('Print Shipment') ?></span
+    </a>
+    <a href="#"
+       data-mage-init="{popupWindow: {windowURL:'<?php echo $this->helper('Magento\Shipping\Helper\Data')->getTrackingPopupUrlBySalesModel($_shipment) ?>',windowName:'trackshipment',width:800,height:600,top:0,left:0,resizable:1,scrollbars:1}}"
+       title="<?php echo __('Track this shipment') ?>"
+       class="action track">
+        <span><?php echo __('Track this shipment') ?></span>
+    </a>
+</div>
+<?php $tracks = $_shipment->getTracksCollection(); ?>
+<?php  if ($tracks->count()): ?>
+    <table class="data table order tracking" id="my-tracking-table-<?php echo $_shipment->getId(); ?>">
+        <tbody>
+            <tr>
+                <th class="label"><?php echo __('Tracking Number(s):') ?></th>
+                <td>
+                <?php
+                $i = 1;
+                $_size = $tracks->count();
+                foreach($tracks as $track): ?>
+                <?php if($track->isCustom()): ?>
+                    <?php echo $this->escapeHtml($track->getNumber()) ?>
+                <?php else: ?>
+                    <a href="#"
+                       data-mage-init="{popupWindow: {windowURL:'<?php echo $this->helper('Magento\Shipping\Helper\Data')->getTrackingPopupUrlBySalesModel($track) ?>',windowName:'trackorder',width:800,height:600,left:0,top:0,resizable:1,scrollbars:1}}"
+                       class="action track">
+                        <span><?php echo $this->escapeHtml($track->getNumber()) ?></span>
+                    </a>
+                <?php endif; ?>
+                <?php if($i!=$_size): ?>, <?php endif; ?>
+                <?php $i++;
+                endforeach; ?>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+<?php  endif; ?>
+<div class="order subtitle caption"><strong><?php echo __('Items Shipped') ?></strong></div>
+<table class="data table order items shipment" id="my-shipment-table-<?php echo $_shipment->getId(); ?>">
+    <thead>
+        <tr>
+            <th class="col name"><?php echo __('Product Name') ?></th>
+            <th class="col sku"><?php echo __('SKU') ?></th>
+            <th class="col qty"><?php echo __('Qty Shipped') ?></th>
+        </tr>
+    </thead>
+    <?php $_items = $_shipment->getAllItems(); ?>
+    <?php $_count = count($_items) ?>
+    <?php foreach ($_items as $_item): ?>
+    <?php if ($_item->getOrderItem()->getParentItem()) continue; ?>
+    <tbody>
+        <?php echo $this->getItemHtml($_item) ?>
+    </tbody>
+    <?php endforeach; ?>
+</table>
+<?php echo $this->getCommentsHtml($_shipment)?>
+<?php endforeach; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/view.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/view.phtml
new file mode 100644
index 00000000000..5c6065afbe0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/view.phtml
@@ -0,0 +1,73 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="order details items">
+    <?php $_order = $this->getOrder() ?>
+
+    <div class="order subtitle caption">
+        <strong><?php echo __('Items Ordered') ?></strong>
+        <?php if ($_order->getTracksCollection()->count()) : ?>
+            <a href="#"
+               data-mage-init="{popupWindow: {windowURL:'<?php echo $this->helper('Magento\Shipping\Helper\Data')->getTrackingPopupUrlBySalesModel($_order) ?>',windowName:'trackorder',top:0,left:0,width:800,height:600,resizable:1,scrollbars:1}}"
+               title="<?php echo __('Track your order') ?>"
+               class="action track">
+                <span><?php echo __('Track your order') ?></span>
+            </a>
+        <?php endif; ?>
+    </div>
+
+    <?php echo $this->getChildHtml('order_items') ?>
+
+    <?php if($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order', $_order) && $_order->getGiftMessageId()): ?>
+    <div class="order additional details gift">
+        <div class="order subtitle caption"><strong><?php echo __('Gift Message for This Order') ?></strong></div>
+        <?php $_giftMessage=$this->helper('Magento\GiftMessage\Helper\Message')->getGiftMessageForEntity($_order); ?>
+        <dl class="gift message">
+            <dt class="gift sender"><strong class="label"><?php echo __('From:') ?></strong> <?php echo $this->escapeHtml($_giftMessage->getSender()) ?></dt>
+            <dt class="gift recipient"><strong class="label"><?php echo __('To:') ?></strong> <?php echo $this->escapeHtml($_giftMessage->getRecipient()) ?></dt>
+            <dd class="message text"><?php echo $this->helper('Magento\GiftMessage\Helper\Message')->getEscapedGiftMessage($_order) ?></dd>
+        </dl>
+    </div>
+    <?php endif; ?>
+    <?php $_history = $this->getOrder()->getVisibleStatusHistory() ?>
+    <?php if (count($_history)): ?>
+    <div class="order additional details comments">
+        <div class="order subtitle caption"><strong><?php echo __('About Your Order') ?></strong></div>
+        <dl class="order comments">
+            <?php foreach ($_history as $_historyItem): ?>
+                <dt class="comment date"><?php echo $this->formatDate($_historyItem->getCreatedAtStoreDate(), 'medium', true) ?></dt>
+                <dd class="comment text"><?php echo $this->escapeHtml($_historyItem->getComment()) ?></dd>
+            <?php endforeach; ?>
+        </dl>
+    </div>
+    <?php endif; ?>
+    <div class="actions">
+        <div class="secondary">
+            <a class="action back" href="<?php echo $this->getBackUrl() ?>">
+                <span><?php echo $this->getBackTitle() ?></span>
+            </a>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/recurring/profiles.phtml b/app/design/frontend/magento_plushe/Magento_Sales/recurring/profiles.phtml
new file mode 100644
index 00000000000..ad0f270ca55
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/recurring/profiles.phtml
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /* @var $this \Magento\Sales\Block\Recurring\Profiles */ ?>
+<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+
+<div class="block recurring profiles">
+    <?php echo $this->getChildHtml('grid')?>
+
+    <div class="actions">
+        <div class="secondary">
+            <a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>" class="action back"><span><?php echo __('Back') ?></span></a>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/reorder/sidebar.phtml b/app/design/frontend/magento_plushe/Magento_Sales/reorder/sidebar.phtml
new file mode 100644
index 00000000000..92f812bc6d2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/reorder/sidebar.phtml
@@ -0,0 +1,85 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Last order sidebar
+ *
+ * @see \Magento\Sale\Block\Reorder\Sidebar
+ */
+?>
+<?php $_items = $this->getItems()?>
+<?php if($_items): ?>
+<div class="block reorder">
+    <div class="title">
+        <strong><?php echo __('My Orders') ?></strong>
+    </div>
+    <div class="content">
+        <form method="post" class="form reorder" action="<?php echo $this->getFormActionUrl() ?>" id="reorder-validate-detail">
+            <strong class="subtitle"><?php echo __('Last Ordered Items') ?></strong>
+            <ol class="items" id="cart-sidebar-reorder">
+            <?php $_showAddButtonFlag = false ?>
+            <?php foreach ($_items as $_item): ?>
+                <li class="item">
+                    <?php if ($this->isItemAvailableForReorder($_item)): ?>
+                        <?php $_showAddButtonFlag = true ?>
+                        <input type="checkbox" name="order_items[]" id="reorder-item-<?php echo $_item->getId() ?>" value="<?php echo $_item->getId() ?>" title="<?php echo __('Add to Cart') ?>"
+                               class="checkbox" data-validate='{"validate-one-checkbox-required-by-name": true}'/>
+                    <?php endif; ?>
+                    <strong class="product name"><a href="<?php echo $_item->getProduct()->getProductUrl() ?>"><?php echo $this->escapeHtml($_item->getName()) ?></a></strong>
+                </li>
+            <?php endforeach; ?>
+            </ol>
+            <div id="cart-sidebar-reorder-advice-container"></div>
+            <div class="actions">
+                <?php if ($_showAddButtonFlag): ?>
+                    <div class="primary">
+                        <button type="submit" title="<?php echo __('Add to Cart') ?>" class="action tocart">
+                            <span><?php echo __('Add to Cart') ?></span>
+                        </button>
+                    </div>
+                <?php endif; ?>
+                <div class="secondary"><a class="action view" href="<?php echo $this->getUrl('customer/account') ?>"><span><?php echo __('View All'); ?></span></a></div>
+            </div>
+        </form>
+    </div>
+    <?php echo $this->getPagerHtml(); ?>
+    <script type="text/javascript">
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+            function() {
+                jQuery('#reorder-validate-detail').validation({
+                    errorPlacement: function(error, element) {
+                        error.appendTo('#cart-sidebar-reorder-advice-container');
+                    }
+                });
+            }
+        );
+    </script>
+</div>
+<?php endif ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/success.phtml b/app/design/frontend/magento_plushe/Magento_Sales/success.phtml
new file mode 100644
index 00000000000..737dfe3fca9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/success.phtml
@@ -0,0 +1,63 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="page-title">
+    <h1><?php echo __('Your order has been received.') ?></h1>
+</div>
+<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+<h2 class="sub-title"><?php echo __('Thank you for your purchase!') ?></h2>
+
+<?php if ($this->getOrderId()):?>
+<?php if ($this->getCanViewOrder()) :?>
+    <p><?php echo __('Your order # is: %1.', sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getViewOrderUrl()), $this->escapeHtml($this->getOrderId()))) ?></p>
+<?php  else :?>
+    <p><?php echo __('Your order # is: %1.', $this->escapeHtml($this->getOrderId())) ?></p>
+<?php endif;?>
+    <p><?php echo __('You will receive an order confirmation email with details of your order and a link to track its progress.') ?></p>
+<?php if ($this->getCanViewOrder() && $this->getCanPrintOrder()) :?>
+    <p>
+        <?php echo __('Click <a href="%1" onclick="this.target=\'_blank\'">here to print</a> a copy of your order confirmation.', $this->getPrintUrl()) ?>
+        <?php echo $this->getChildHtml() ?>
+    </p>
+<?php endif;?>
+<?php endif;?>
+
+<?php if ($this->getAgreementRefId()): ?>
+    <p><?php echo __('Your billing agreement # is: %1.', sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getAgreementUrl()), $this->escapeHtml($this->getAgreementRefId())))?></p>
+<?php endif;?>
+
+<?php if ($profiles = $this->getRecurringProfiles()):?>
+<p><?php echo __('Your recurring payment profiles:'); ?></p>
+<ul class="disc">
+<?php foreach($profiles as $profile):?>
+<?php $profileIdHtml = ($this->getCanViewProfiles() ? sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getProfileUrl($profile)), $this->escapeHtml($this->getObjectData($profile, 'reference_id'))) : $this->escapeHtml($this->getObjectData($profile, 'reference_id')));?>
+    <li><?php echo __('Payment profile # %1: "%2".', $profileIdHtml, $this->escapeHtml($this->getObjectData($profile, 'schedule_description')))?></li>
+<?php endforeach;?>
+</ul>
+<?php endif;?>
+
+<div class="actions">
+    <button type="button" class="a" title="<?php echo __('Continue Shopping') ?>" onclick="window.location='<?php echo $this->getUrl() ?>'"><span><span><?php echo __('Continue Shopping') ?></span></span></button>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sendfriend/layout/override/sendfriend_product_send.xml b/app/design/frontend/magento_plushe/Magento_Sendfriend/layout/override/sendfriend_product_send.xml
new file mode 100644
index 00000000000..9e24f817f9d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sendfriend/layout/override/sendfriend_product_send.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product Email to a Friend" type="page" parent="catalog_product_view">
+    <update handle="page_one_column"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument name="title" translate="true" xsi:type="string">Email to a Friend</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <block class="Magento\Sendfriend\Block\Send" name="sendfriend.send" template="send.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sendfriend/send.phtml b/app/design/frontend/magento_plushe/Magento_Sendfriend/send.phtml
new file mode 100644
index 00000000000..998017fe960
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sendfriend/send.phtml
@@ -0,0 +1,118 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Sendfriend\Block\Send */
+/**
+ * Send to friend form
+ *
+ * @see \Magento\Sendfriend\Block\Send
+ */
+?>
+<script id="add-recipient-tmpl" type="text/x-jQuery-tmpl">
+    <a href="delete_email"  id="btn-remove${_index_}" class="action delete" title="<?php echo $this->jsQuoteEscape(__('Remove Email')) ?>"><span><?php echo $this->jsQuoteEscape(__('Remove Email')) ?></span></a>
+
+    <div class="field name required">
+        <label for="recipients-name${_index_}" class="label"><span><?php echo __('Name:')?></span></label>
+        <div class="control">
+            <input name="recipients[name][${_index_}]" type="text" title="<?php echo __('Name:')?>" class="input-text" id="recipients-name${_index_}" data-validate="{required:true}"/>
+        </div>
+    </div>
+
+    <div class="field email required">
+        <label for="recipients-email${_index_}" class="label"><span><?php echo __('Email Address:') ?></span></label>
+        <div class="control">
+            <input name="recipients[email][${_index_}]" title="<?php echo __('Email Address:') ?>" id="recipients-email${_index_}" type="text" class="input-text" data-validate="{required:true, 'validate-email':true}"/>
+        </div>
+    </div>
+</script>
+
+<form action="<?php echo $this->getSendUrl() ?>" method="post" id="product-sendtofriend-form" class="form send friend" data-hasRequired="<?php echo __('* Required Fields') ?>">
+    <fieldset class="fieldset sender" id="sender_options">
+        <?php echo $this->getBlockHtml('formkey')?>
+        <legend class="legend"><span><?php echo __('Sender:') ?></span></legend>
+        <br>
+        <div class="field sender required">
+            <label for="sender-name" class="label"><span><?php echo __('Name:') ?></span></label>
+            <div class="control">
+                <input name="sender[name]" value="<?php echo $this->escapeHtml($this->getUserName()) ?>" title="<?php echo __('Name') ?>" id="sender-name" type="text" class="input-text" data-validate="{required:true}"/>
+            </div>
+        </div>
+
+        <div class="field email required">
+            <label for="sender-email" class="label"><span><?php echo __('Email:') ?></span></label>
+            <div class="control">
+                <input name="sender[email]" value="<?php echo $this->escapeHtml($this->getEmail()) ?>" title="<?php echo __('Email Address') ?>" id="sender-email" type="text" class="input-text" data-validate="{required:true, 'validate-email':true}"/>
+            </div>
+        </div>
+
+        <div class="field text required">
+            <label for="sender-message" class="label"><span><?php echo __('Message:') ?></span></label>
+            <div class="control">
+                <textarea name="sender[message]" class="input-text" id="sender-message" cols="3" rows="3" data-validate="{required:true}"><?php echo $this->escapeHtml($this->getMessage())?></textarea>
+            </div>
+        </div>
+    </fieldset>
+
+    <fieldset class="fieldset recipients" id="recipients-options">
+        <?php echo $this->getBlockHtml('formkey')?>
+        <legend class="legend"><span><?php echo __('Recipient:') ?></span></legend><br />
+    </fieldset>
+    <div class="actions">
+        <div class="primary">
+            <button type="submit" class="action submit"<?php if (!$this->canSend()):?> disabled="disabled"<?php endif ?>><span><?php echo __('Send Email') ?></span></button>
+            <div id="max-recipient-message" style="display:none;" class="notice-msg limit">
+                <?php if ($this->getMaxRecipients()): ?>
+                <span><?php echo __('Maximum %1 email addresses allowed.', $this->getMaxRecipients()) ?></span>
+                <?php endif; ?>
+            </div>
+            <?php if (1 < $this->getMaxRecipients()): ?>
+                <button type="button" id="add-recipient-button" class="action add"><span><?php echo __('Add Recipient') ?></span></button>
+            <?php endif; ?>
+        </div>
+        <div class="secondary">
+            <a class="action back" href="#" role="back"><span><?php echo __('Back') ?></span></a>
+        </div>
+    </div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('Magento_Page::js/row-builder.js')?>", function() {
+                $('#product-sendtofriend-form').rowBuilder({
+                    rowTemplate: '#add-recipient-tmpl',
+                    rowContainer: '#recipients-options',
+                    rowParentElem: '<div></div>',
+                    btnRemoveSelector: '.action.delete',
+                    maxRows: '<?php echo $this->getMaxRecipients() ?>',
+                    maxRowsMsg: '#max-recipient-message',
+                    addRowBtn: '#add-recipient-button',
+                    additionalRowClass: 'additional'
+                }).validation();
+                $('a[role="back"]').on('click', function() { history.back(); return false; });
+            })
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Shipping/tracking/popup.phtml b/app/design/frontend/magento_plushe/Magento_Shipping/tracking/popup.phtml
new file mode 100644
index 00000000000..c3ca1b35676
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Shipping/tracking/popup.phtml
@@ -0,0 +1,174 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Shipping\Block\Tracking\Popup */ ?>
+<?php $_results = $this->getTrackingInfo(); ?>
+<div class="page tracking">
+    <div class="page title">
+        <h1 class="title">
+            <span class="base"><?php echo __('Tracking Information'); ?></span>
+        </h1>
+    </div>
+    <?php if(sizeof($_results)>0): ?>
+    <?php foreach($_results as $shipid => $_result): ?>
+        <?php if($shipid): ?>
+        <div class="order subtitle caption"><?php echo __('Shipment #').$shipid; ?></div>
+        <?php endif; ?>
+        <?php if(sizeof($_result)>0): ?>
+            <?php $rowCount = sizeof($_result); $counter = 1; ?>
+            <?php $_id = 0; foreach($_result as $track): ?>
+                <table class="data table order tracking" id="tracking-table-popup-<?php echo $_id ?>">
+                    <tbody>
+                    <?php if(is_object($track)): ?>
+                        <tr>
+                            <th class="col label"><?php echo __('Tracking Number:'); ?></th>
+                            <td class="col value"><?php echo $this->escapeHtml($track->getTracking()); ?></td>
+                        </tr>
+                        <?php if ($track->getCarrierTitle()): ?>
+                        <tr>
+                            <th class="col label"><?php echo __('Carrier:'); ?></th>
+                            <td class="col value"><?php echo $this->escapeHtml($track->getCarrierTitle()); ?></td>
+                        </tr>
+                        <?php endif; ?>
+                        <?php if($track->getErrorMessage()): ?>
+                        <tr>
+                            <th class="col label"><?php echo __('Error:'); ?></th>
+                            <td class="col error"><?php echo __('Tracking information is currently not available. Please '); if ($this->getContactUsEnabled()) : ?><a href="<?php echo $this->getContactUs() ?>" title="<?php echo __('contact us') ?>" onclick="this.target='_blank'"><?php echo __('contact us') ?></a><?php echo __(' for more information or '); endif; echo __('email us at '); ?><a href="mailto:<?php echo $this->getStoreSupportEmail() ?>"><?php echo $this->getStoreSupportEmail() ?></a></td>
+                        </tr>
+                        <?php elseif($track->getTrackSummary()): ?>
+                        <tr>
+                            <th class="col label"><?php echo __('Info:'); ?></th>
+                            <td class="col value"><?php echo $track->getTrackSummary(); ?></td>
+                        </tr>
+                        <?php elseif($track->getUrl()): ?>
+                        <tr>
+                            <th class="col label"><?php echo __('Track:'); ?></th>
+                            <td class="col value"><a href="<?php echo $this->escapeHtml($track->getUrl()); ?>" onclick="this.target='_blank'"><?php echo $this->escapeHtml($track->getUrl()); ?></a></td>
+                        </tr>
+                        <?php else: ?>
+                            <?php if ($track->getStatus()): ?>
+                            <tr>
+                                <th class="col label"><?php echo __('Status:'); ?></th>
+                                <td class="col value"><?php echo $track->getStatus(); ?></td>
+                            </tr>
+                            <?php endif; ?>
+
+                            <?php if ($track->getDeliverydate()): ?>
+                            <tr>
+                                <th class="col label"><?php echo __('Delivered on:'); ?></th>
+                                <td class="col value"><?php echo $this->formatDeliveryDateTime($track->getDeliverydate(),$track->getDeliverytime()); ?></td>
+                            </tr>
+                            <?php endif; ?>
+
+                            <?php if ($track->getSignedby()): ?>
+                            <tr>
+                                <th class="col label"><?php echo __('Signed by:'); ?></th>
+                                <td class="col value"><?php echo $track->getSignedby(); ?></td>
+                            </tr>
+                            <?php endif; ?>
+
+                            <?php if ($track->getDeliveryLocation()): ?>
+                            <tr>
+                                <th class="col label"><?php echo __('Delivered to:'); ?></th>
+                                <td class="col value"><?php echo $track->getDeliveryLocation(); ?></td>
+                            </tr>
+                            <?php endif; ?>
+
+                            <?php if ($track->getShippedDate()): ?>
+                            <tr>
+                                <th class="col label"><?php echo __('Shipped or billed on:'); ?></th>
+                                <td class="col value"><?php echo $track->getShippedDate(); ?></td>
+                            </tr>
+                            <?php endif; ?>
+
+                            <?php if ($track->getService()): ?>
+                            <tr>
+                                <th class="col label"><?php echo __('Service Type:'); ?></th>
+                                <td class="col value"><?php echo $track->getService(); ?></td>
+                            </tr>
+                            <?php endif; ?>
+
+                            <?php if ($track->getWeight()): ?>
+                            <tr>
+                                <th class="col label"><?php echo __('Weight:'); ?></th>
+                                <td class="col value"><?php echo $track->getWeight(); ?></td>
+                            </tr>
+                            <?php endif; ?>
+                        <?php endif; ?>
+                    <?php elseif(isset($track['title']) && isset($track['number']) && $track['number']): ?>
+                        <!--if the tracking is custom value-->
+                        <tr>
+                            <th class="col label"><?php echo ($track['title'] ? $this->escapeHtml($track['title']) : __('N/A')); ?>:</th>
+                            <td class="col value"><?php echo (isset($track['number']) ? $this->escapeHtml($track['number']) : ''); ?></td>
+                        </tr>
+                    <?php endif; ?>
+                    </tbody>
+                </table>
+                <?php if (is_object($track) && sizeof($track->getProgressdetail())>0): ?>
+                    <table class="data table order tracking" id="track-history-table-<?php echo $track->getTracking(); ?>">
+                        <thead>
+                            <tr>
+                                <th class="col location"><?php echo __('Location') ?></th>
+                                <th class="col date"><?php echo __('Date') ?></th>
+                                <th class="col time"><?php echo __('Local Time') ?></th>
+                                <th class="col description"><?php echo __('Description') ?></th>
+                            </tr>
+                       </thead>
+                       <tbody>
+                       <?php foreach($track->getProgressdetail() as $_detail): ?>
+                        <?php $_detailDate = (isset($_detail['deliverydate']) ? $this->formatDeliveryDate($_detail['deliverydate']) : '') ?>
+                        <?php $_detailTime = (isset($_detail['deliverytime']) ? $this->formatDeliveryTime($_detail['deliverytime'], $_detail['deliverydate']) : '') ?>
+                            <tr>
+                                <td class="col location"><?php echo (isset($_detail['deliverylocation']) ? $_detail['deliverylocation'] : ''); ?></td>
+                                <td class="col date"><?php echo $_detailDate ?></td>
+                                <td class="col time"><?php echo $_detailTime ?></td>
+                                <td class="col description"><?php echo (isset($_detail['activity']) ? $_detail['activity'] : '') ?></td>
+                            </tr>
+                       <?php endforeach; ?>
+                       </tbody>
+                    </table>
+                <?php endif; ?>
+                <?php if($counter!=$rowCount): ?>
+                <?php endif; ?>
+                <?php $counter++; ?>
+            <!--end for each tracking information-->
+            <?php endforeach; ?>
+        <?php else: ?>
+            <p class="empty"><?php echo __('There is no tracking available for this shipment.'); ?></p>
+        <?php endif; ?>
+
+    <?php endforeach; ?>
+    <?php else: ?>
+        <p class="empty"><?php echo __('There is no tracking available.'); ?></p>
+    <?php endif; ?>
+    <div class="actions">
+        <button type="button"
+                title="<?php echo __('Close Window') ?>"
+                class="action close"
+                onclick="window.close(); window.opener.focus();">
+            <span><?php echo __('Close Window') ?></span>
+        </button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Tax/checkout/grandtotal.phtml b/app/design/frontend/magento_plushe/Magento_Tax/checkout/grandtotal.phtml
new file mode 100644
index 00000000000..b522d286f76
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Tax/checkout/grandtotal.phtml
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/**
+ * @var $this \Magento\Tax\Block\Checkout\Grandtotal
+ * @see \Magento\Tax\Block\Checkout\Grandtotal
+ */
+?>
+<?php if ($this->includeTax() && $this->getTotalExclTax()>=0):?>
+<tr class="grand total excl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <strong><?php echo __('Grand Total Excl. Tax')?></strong>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <strong><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotalExclTax()) ?></strong>
+    </td>
+</tr>
+<?php echo $this->renderTotals('taxes', $this->getColspan()); ?>
+<tr class="grand total incl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <strong><?php echo __('Grand Total Incl. Tax')?></strong>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <strong><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?></strong>
+    </td>
+</tr>
+<?php else:?>
+<tr class="grand total">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <strong><?php echo $this->getTotal()->getTitle() ?></strong>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <strong><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?></strong>
+    </td>
+</tr>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Tax/checkout/shipping.phtml b/app/design/frontend/magento_plushe/Magento_Tax/checkout/shipping.phtml
new file mode 100644
index 00000000000..29a032f765e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Tax/checkout/shipping.phtml
@@ -0,0 +1,65 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/**
+ * @var $this \Magento\Tax\Block\Checkout\Shipping
+ * @see \Magento\Tax\Block\Checkout\Shipping
+ */
+?>
+<?php if ($this->displayBoth()):?>
+<tr class="total shipping excl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php echo $this->getExcludeTaxLabel() ?>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getShippingExcludeTax()) ?>
+    </td>
+</tr>
+<tr class="total shipping incl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php echo $this->getIncludeTaxLabel() ?>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getShippingIncludeTax()) ?>
+    </td>
+</tr>
+<?php elseif($this->displayIncludeTax()) : ?>
+<tr class="total shipping incl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php echo $this->getTotal()->getTitle() ?>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getShippingIncludeTax()) ?>
+    </td>
+</tr>
+<?php else:?>
+<tr class="total shipping excl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php echo $this->escapeHtml($this->getTotal()->getTitle()) ?>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getShippingExcludeTax()) ?>
+    </td>
+</tr>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Tax/checkout/subtotal.phtml b/app/design/frontend/magento_plushe/Magento_Tax/checkout/subtotal.phtml
new file mode 100644
index 00000000000..7eecfc2657a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Tax/checkout/subtotal.phtml
@@ -0,0 +1,56 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/**
+ * @var $this \Magento\Tax\Block\Checkout\Subtotal
+ * @see \Magento\Tax\Block\Checkout\Subtotal
+ */
+?>
+<?php if ($this->displayBoth()):?>
+<tr class="sub total excl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php echo __('Subtotal (Excl. Tax)') ?>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValueExclTax()) ?>
+    </td>
+</tr>
+<tr class="sub total incl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php echo __('Subtotal (Incl. Tax)') ?>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValueInclTax()) ?>
+    </td>
+</tr>
+<?php else : ?>
+<tr class="sub total">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php echo $this->getTotal()->getTitle() ?>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?>
+    </td>
+</tr>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Tax/checkout/tax.phtml b/app/design/frontend/magento_plushe/Magento_Tax/checkout/tax.phtml
new file mode 100644
index 00000000000..7fe118b5710
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Tax/checkout/tax.phtml
@@ -0,0 +1,80 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/**
+ * @var $this \Magento\Tax\Block\Checkout\Tax
+ * @see \Magento\Tax\Block\Checkout\Tax
+ */
+?>
+<?php
+    $_value = $this->getTotal()->getValue();
+    $_style = $this->getTotal()->getStyle();
+?>
+<?php global $taxIter; $taxIter++; ?>
+<?php if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary() && $_value!=0): ?>
+<?php $isTop = 1; ?>
+    <?php foreach ($this->getTotal()->getFullInfo() as $info): ?>
+        <?php if (isset($info['hidden']) && $info['hidden']) continue; ?>
+        <?php $percent = $info['percent']; ?>
+        <?php $amount = $info['amount']; ?>
+        <?php $rates = $info['rates']; ?>
+        <?php $isFirst = 1; ?>
+
+        <?php foreach ($rates as $rate): ?>
+        <tr class="summary-details-<?php echo $taxIter; ?> summary-details<?php if ($isTop): echo ' summary-details-first'; endif; ?>" style="display:none;">
+            <td class="a-right" style="<?php echo $_style ?>" colspan="<?php echo $this->getColspan(); ?>">
+                <?php echo $this->escapeHtml($rate['title']); ?>
+                <?php if (!is_null($rate['percent'])): ?>
+                    (<?php echo (float)$rate['percent']; ?>%)
+                <?php endif; ?>
+                <br />
+            </td>
+            <?php if ($isFirst): ?>
+                <td style="<?php echo $_style ?>" class="a-right" rowspan="<?php echo count($rates); ?>">
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($amount); ?>
+                </td>
+            <?php endif; ?>
+        </tr>
+        <?php $isFirst = 0; ?>
+        <?php $isTop = 0; ?>
+        <?php endforeach; ?>
+    <?php endforeach; ?>
+<?php endif;?>
+<?php
+    $attributes = 'class="tax total"';
+    if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary() && $_value!=0) {
+        $attributes = 'class="summary-total tax total" onclick="expandDetails(this, \'.summary-details-' . $taxIter . '\')"';
+    }
+?>
+
+<tr <?php echo $attributes; ?>>
+    <td style="<?php echo $_style ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary()): ?>
+            <div class="summary-collapse"><?php echo $this->getTotal()->getTitle() ?></div>
+        <?php else: ?>
+            <?php echo $this->getTotal()->getTitle() ?>
+        <?php endif;?>
+    </td>
+    <td style="<?php echo $_style ?>" class="amount"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_value) ?></td>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Widget/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Widget/layout/override/default.xml
new file mode 100644
index 00000000000..6c60196129d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Widget/layout/override/default.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Widget/layout/override/print.xml b/app/design/frontend/magento_plushe/Magento_Widget/layout/override/print.xml
new file mode 100644
index 00000000000..6c60196129d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Widget/layout/override/print.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/button/share.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/button/share.phtml
new file mode 100644
index 00000000000..0b79afbd5de
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/button/share.phtml
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if($this->getWishlist()->getItemsCount() && $this->getWishlist()->getShared() < $this->getConfig()->getSharingEmailLimit()): ?>
+    <button type="submit" name="save_and_share" title="<?php echo __('Share Wish List') ?>" class="action share"><span><span><?php echo __('Share Wish List') ?></span></span></button>
+<?php endif;?>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/button/tocart.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/button/tocart.phtml
new file mode 100644
index 00000000000..e242ea90216
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/button/tocart.phtml
@@ -0,0 +1,29 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php if($this->getWishlist()->getItemsCount() && $this->getWishlist()->isSalable()): ?>
+    <button type="button" title="<?php echo __('Add All to Cart') ?>" class="action tocart"><span><?php echo __('Add All to Cart') ?></span></button>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/button/update.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/button/update.phtml
new file mode 100644
index 00000000000..1a5b92add28
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/button/update.phtml
@@ -0,0 +1,29 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php if($this->getWishlist()->getItemsCount()): ?>
+    <button type="submit" name="do" title="<?php echo __('Update Wishlist') ?>" class="action update"><span><?php echo __('Update Wish List') ?></span></button>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/cart.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/cart.phtml
new file mode 100644
index 00000000000..a5681f4bdf3
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/cart.phtml
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/* @var $this \Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Cart */
+/* @var \Magento\Wishlist\Model\Item $item */
+$item = $this->getItem();
+$product = $item->getProduct();
+$options = $this->getChildBlock('customer.wishlist.item.options')
+    ->setItem($item)
+    ->getConfiguredOptions();
+?>
+    <?php echo $this->getPriceHtml($product, empty($options));?>
+    <div class="box tocart">
+        <?php if ($item->canHaveQty() && $item->getProduct()->isVisibleInSiteVisibility()): ?>
+            <input type="text" class="input-text qty" data-validate="{required:true,'validate-greater-than-zero':true}" name="qty[<?php echo $item->getId() ?>]"
+                   value="<?php echo $this->getAddToCartQty($item) * 1 ?>"/>
+        <?php endif; ?>
+        <?php if ($product->isSaleable()): ?>
+            <button type="button" title="<?php echo __('Add to Cart') ?>" data-item-id="<?php echo $item->getId()?>" class="action tocart"><span><span><?php echo __('Add to Cart') ?></span></span></button>
+        <?php else: ?>
+            <?php if ($product->getIsSalable()): ?>
+                <p class="available stock" title="<?php echo __('Availability') ?>"><span><?php echo __('In stock') ?></span></p>
+            <?php else: ?>
+                <p class="unavailable stock" title="<?php echo __('Availability') ?>"><span><?php echo __('Out of stock') ?></span></p>
+            <?php endif; ?>
+        <?php endif; ?>
+    </div>
+    <?php foreach ($this->getChildNames() as $childName): ?>
+        <?php echo $this->getLayout()->renderElement($childName, false); ?>
+    <?php endforeach;?>
+    <?php if ($product->isVisibleInSiteVisibility()): ?>
+        <p><a class="action edit" href="<?php echo $this->getItemConfigureUrl($item) ?>"><span><?php echo __('Edit') ?></span></a>
+    </p>
+    <?php endif ?>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/image.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/image.phtml
new file mode 100644
index 00000000000..5d5bd9f71e7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/image.phtml
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/* @var \Magento\Wishlist\Model\Item $item */
+$item = $this->getItem();
+$product = $item->getProduct();
+$imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+?>
+<a class="product photo" href="<?php echo $this->getProductUrl($item) ?>" title="<?php echo $this->escapeHtml($product->getName()) ?>">
+    <?php echo $imageBlock->init($product, 'wishlist_thumbnail')->toHtml() ?>
+</a>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/info.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/info.phtml
new file mode 100644
index 00000000000..275b996e650
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/info.phtml
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/* @var \Magento\Wishlist\Model\Item $item */
+$item = $this->getItem();
+$product = $item->getProduct();
+?>
+<strong class="product name"><a href="<?php echo $this->getProductUrl($item) ?>" title="<?php echo $this->escapeHtml($product->getName()) ?>"><?php echo $this->escapeHtml($product->getName()) ?></a></strong>
+<div class="product description"><?php echo $this->escapeHtml($this->stripTags($product->getShortDescription()));?></div>
+<textarea placeholder="<?php echo $this->helper('Magento\Wishlist\Helper\Data')->defaultCommentString()?>" name="description[<?php echo $item->getWishlistItemId() ?>]" rows="3" cols="5" title="<?php echo __('Comment') ?>"><?php echo ($this->escapeHtml($item->getDescription())) ?></textarea>
+<?php $children = $this->getChildNames(); ?>
+<?php if ($children): ?>
+    <div class="product manage">
+    <?php foreach($children as $childName):?>
+        <?php echo $this->getLayout()->renderElement($childName, false);?>
+    <?php endforeach;?>
+    </div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/remove.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/remove.phtml
new file mode 100644
index 00000000000..91dcd50b456
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/remove.phtml
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+?>
+<a href="<?php echo $this->getItemRemoveUrl($this->getItem()); ?>" title="<?php echo __('Remove Item') ?>"
+    class="action delete"><span><?php echo __('Remove item');?></span></a>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/item/configure/addto.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/item/configure/addto.phtml
new file mode 100644
index 00000000000..0b0f085bbc7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/item/configure/addto.phtml
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_wishlistItem = $this->getWishlistItem(); ?>
+<?php $_wishlistSubmitUrl = $this->helper('Magento\Wishlist\Helper\Data')->getUpdateUrl($_wishlistItem); ?>
+<div class="product addto links" data-role="add-to-links">
+<?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow()) : ?>
+    <a href="<?php echo $_wishlistSubmitUrl ?>" class="action towishlist updated"><span><?php echo __('Update Wish List') ?></span></a>
+<?php endif; ?>
+<?php $_product = $this->getProduct(); ?>
+<?php $_compareUrl = $this->helper('Magento\Catalog\Helper\Product\Compare')->getAddUrl($_product); ?>
+<?php if ($_compareUrl) : ?>
+    <a href="<?php echo $_compareUrl ?>" class="action tocompare"><span><?php echo __('Add to Compare') ?></span></a>
+<?php endif; ?>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/item/list.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/item/list.phtml
new file mode 100644
index 00000000000..96d64947ea1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/item/list.phtml
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+    $columns = $this->getColumns();
+?>
+<table class="table data wishlist" id="wishlist-table">
+    <thead>
+        <tr>
+            <?php foreach ($columns as $column): ?>
+                <th class="col <?php echo $column->getColClass(); ?>"><?php echo $column->getTitle();?></th>
+            <?php endforeach; ?>
+        </tr>
+    </thead>
+    <tbody>
+        <?php if (count($this->getItems())): ?>
+            <?php foreach ($this->getItems() as $item): ?>
+                <tr id="item_<?php echo $item->getId();?>">
+                    <?php foreach ($columns as $column): ?>
+                        <td class="col <?php echo $column->getColClass(); ?>"><?php $column->setItem($item); echo $column->toHtml($item);?></td>
+                    <?php endforeach; ?>
+                </tr>
+            <?php endforeach ?>
+        <?php else: ?>
+            <td colspan="<?php echo count($columns);?>" class="empty"><?php echo __('This Wish List has no Items');?></td>
+        <?php endif; ?>
+    </tbody>
+</table>
+<?php foreach ($columns as $column): ?>
+    <?php echo $column->getAdditionalHtml();?>
+<?php endforeach; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure.xml b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure.xml
new file mode 100644
index 00000000000..8321608c8c1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Configure Wishlist Item" type="page" parent="catalog_product_view">
+    <update handle="catalog_product_view"/>
+    <referenceContainer name="product.info.main">
+        <block class="Magento\Wishlist\Block\Item\Configure" name="product.info.addto" as="addto" template="Magento_Wishlist::item/configure/addto.phtml"/>
+    </referenceContainer>
+    <referenceBlock name="product.info.options.wrapper.bottom">
+        <action method="unsetChild">
+            <argument name="name" xsi:type="string">product.info.addtocart.additional</argument>
+        </action>
+        <action method="append">
+            <argument name="element" xsi:type="string">product.info.addtocart.additional</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_bundle.xml b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_bundle.xml
new file mode 100644
index 00000000000..33c45528fb4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_bundle.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Configure Wishlist Item (Bundle)" type="page" parent="catalog_product_view">
+    <referenceBlock name="head">
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-bundle-bundle-js">
+            <arguments>
+                <argument name="file" xsi:type="string">Magento_Bundle::bundle.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-bundle-js-product-summary-js">
+            <arguments>
+                <argument name="file" xsi:type="string">Magento_Bundle::js/product-summary.js</argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+    <referenceBlock name="root">
+        <action method="addBodyClass">
+            <argument name="value" xsi:type="string">type-bundle</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="product.info">
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="bundle.summary" as="form_top" template="catalog/product/view/summary.phtml">
+            <block class="Magento\Bundle\Block\Catalog\Product\Price" name="bundle.prices" as="bundle_prices" template="catalog/product/view/price.phtml">
+                <action method="setMAPTemplate">
+                    <argument name="tmpl" xsi:type="string">catalog/product/price_msrp_item.phtml</argument>
+                </action>
+            </block>
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.addtocart.bundle" as="addtocart" template="product/view/addtocart.phtml"/>
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.addto.bundle" as="addto" template="product/view/addto.phtml"/>
+        </block>
+    </referenceBlock>
+    <referenceBlock name="product.info.options.wrapper">
+        <block class="Magento\Catalog\Block\Product\View" name="bundle.product.view.options.notice" template="Magento_Bundle::catalog/product/view/options/notice.phtml"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View\Type\Bundle" name="product.info.bundle.options" as="type_bundle_options" template="catalog/product/view/type/bundle/options.phtml" before="-">
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">select</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Select</argument>
+            </action>
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">multi</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Multi</argument>
+            </action>
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">radio</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Radio</argument>
+            </action>
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">checkbox</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Checkbox</argument>
+            </action>
+        </block>
+    </referenceBlock>
+    <referenceBlock name="product.info.options.wrapper.bottom">
+        <remove name="product.tierprices"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="bundle.tierprices" as="tierprices" before="-" template="Magento_Bundle::catalog/product/view/tierprices.phtml"/>
+        <block class="Magento\CatalogInventory\Block\Qtyincrements" name="product.info.qtyincrements" before="-" template="qtyincrements.phtml"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="bundle.back.button" as="backButton" after="-" template="catalog/product/view/backbutton.phtml"/>
+        <action method="unsetChild">
+            <argument name="block" xsi:type="string">product.info.addtocart</argument>
+        </action>
+        <action method="setHideRequiredNotice">
+            <argument name="flag" xsi:type="string">1</argument>
+        </action>
+        <action method="unsetChild">
+            <argument name="block" xsi:type="string">product.info.addto</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <container name="bundle.options.container" label="invisible" htmlTag="div" htmlClass="bundle options container" after="product.info.media"/>
+        <move element="product.info" destination="bundle.options.container" before="-"/>
+    </referenceContainer>
+    <referenceContainer name="product.info.type">
+        <block class="Magento\Bundle\Block\Catalog\Product\View\Type\Bundle" name="product.info.bundle" as="product_type_data" template="catalog/product/view/type/bundle.phtml">
+            <action method="addPriceBlockType">
+                <argument name="type" xsi:type="string">bundle</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\Price</argument>
+                <argument name="template" xsi:type="string">catalog/product/price.phtml</argument>
+            </action>
+        </block>
+        <container name="product.info.bundle.extra" after="product.info.bundle" as="product_type_data_extra" label="Product Extra Info"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="customize.button" as="customize_button" template="catalog/product/view/customize.phtml"/>
+    </referenceContainer>
+    <referenceBlock name="product.clone_prices">
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">bundle</argument>
+            <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\Price</argument>
+            <argument name="template" xsi:type="string">catalog/product/view/price.phtml</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_configurable.xml b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_configurable.xml
new file mode 100644
index 00000000000..9ed018ba6bc
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_configurable.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Configure Wishlist Item (Configurable)" type="page" parent="catalog_product_view">
+    <referenceBlock name="root">
+        <action method="addBodyClass">
+            <argument name="value" xsi:type="string">type-configurable</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="product.info.type">
+        <block class="Magento\Catalog\Block\Product\View\Type\Configurable" name="product.info.configurable" as="product_type_data" template="product/view/type/default.phtml"/>
+        <container name="product.info.configurable.extra" after="product.info.configurable" as="product_type_data_extra" label="Product Extra Info"/>
+    </referenceContainer>
+    <referenceBlock name="product.info.options.wrapper">
+        <block class="Magento\Catalog\Block\Product\View\Type\Configurable" name="product.info.options.configurable" as="options_configurable" before="-" template="product/view/type/options/configurable.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_grouped.xml b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_grouped.xml
new file mode 100644
index 00000000000..6bceb727e4c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_grouped.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Configure Wishlist Item (Grouped)" type="page" parent="catalog_product_view">
+    <referenceContainer name="product.info.form.content">
+        <block class="Magento\Catalog\Block\Product\View\Type\Grouped" name="product.info.grouped" before="product.info.addtocart" template="product/view/type/grouped.phtml"/>
+        <container name="product.info.grouped.extra" after="product.info.grouped" before="product.info.grouped" as="product_type_data_extra" label="Product Extra Info"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_simple.xml b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_simple.xml
new file mode 100644
index 00000000000..6c60196129d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_simple.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_index.xml b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_index.xml
new file mode 100644
index 00000000000..26a3cfbd6a2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_index.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer My Account My Wish List" type="page" parent="customer_account_index">
+    <update handle="customer_account"/>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Wishlist\Block\Customer\Wishlist" name="customer.wishlist" template="view.phtml">
+            <action method="setTitle">
+                <argument name="title" translate="true" xsi:type="string">My Wish List</argument>
+            </action>
+            <block class="Magento\Wishlist\Block\Customer\Wishlist\Items" name="customer.wishlist.items" as="items" template="item/list.phtml">
+                <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Image" name="customer.wishlist.item.image" before="-" template="item/column/image.phtml">
+                    <arguments>
+                        <argument name="col_class" xsi:type="string">photo</argument>
+                    </arguments>
+                </block>
+                <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Comment" name="customer.wishlist.item.info" template="item/column/info.phtml">
+                    <arguments>
+                        <argument name="col_class" xsi:type="string">item</argument>
+                        <argument name="title" translate="true" xsi:type="string">Product Details and Comment</argument>
+                    </arguments>
+                </block>
+                <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Cart" name="customer.wishlist.item.cart" template="item/column/cart.phtml">
+                    <arguments>
+                        <argument name="col_class" xsi:type="string">actions</argument>
+                        <argument name="title" translate="true" xsi:type="string">Add to Cart</argument>
+                    </arguments>
+                    <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Options" name="customer.wishlist.item.options"/>
+                </block>
+                <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Remove" name="customer.wishlist.item.remove" template="item/column/remove.phtml">
+                    <arguments>
+                        <argument name="col_class" xsi:type="string">remove</argument>
+                    </arguments>
+                </block>
+            </block>
+            <container name="customer.wishlist.buttons" as="control_buttons" label="Wishlist Control Buttons">
+                <block class="Magento\Wishlist\Block\Customer\Wishlist\Button" name="customer.wishlist.button.share" template="button/share.phtml"/>
+                <block class="Magento\Wishlist\Block\Customer\Wishlist\Button" name="customer.wishlist.button.toCart" template="button/tocart.phtml"/>
+                <block class="Magento\Wishlist\Block\Customer\Wishlist\Button" name="customer.wishlist.button.update" template="button/update.phtml"/>
+            </container>
+        </block>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_shared_index.xml b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_shared_index.xml
new file mode 100644
index 00000000000..1e6bd663cc6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_shared_index.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer Shared Wishlist View" type="page" parent="wishlist_index_share">
+    <referenceContainer name="content">
+        <block class="Magento\Wishlist\Block\Share\Wishlist" name="customer.wishlist" template="shared.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/shared.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/shared.phtml
new file mode 100644
index 00000000000..bb5f0b8f425
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/shared.phtml
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Wishlist\Block\Share\Wishlist */
+?>
+
+<?php if ($this->hasWishlistItems()): ?>
+<form class="form shared wishlist" action="<?php echo $this->getUrl('*/*/update') ?>" method="post">
+    <table class="table data wishlist" id="wishlist-table">
+        <thead>
+            <tr>
+                <th class="col product"><?php echo __('Product') ?></th>
+                <th class="col comment"><?php echo __('Comment') ?></th>
+                <th class="col actions"><?php echo __('Add to Cart') ?></th>
+            </tr>
+        </thead>
+        <tbody>
+        <?php foreach($this->getWishlistItems() as $item): ?>
+            <?php
+                $product = $item->getProduct();
+                $isVisibleProduct = $product->isVisibleInSiteVisibility();
+            ?>
+            <tr>
+                <td class="col product">
+                    <a class="product photo" href="<?php echo $this->getProductUrl($item) ?>" title="<?php echo $this->escapeHtml($product->getName()) ?>">
+                        <span class="img photo container"><img src="<?php echo $this->getImageUrl($product); ?>" alt="<?php echo $this->escapeHtml($item->getName()) ?>"></span>
+                    </a>
+                    <strong class="product name"><a href="<?php echo $this->getProductUrl($item) ?>"><?php echo $this->escapeHtml($product->getName()) ?></a></strong>
+                    <?php echo $this->getPriceHtml($product) ?>
+                    <?php echo $this->getDetailsHtml($item) ?>
+                </td>
+                <td class="col comment"><?php echo $this->getEscapedDescription($item) ?></td>
+                <td class="col actions">
+                <?php if ($product->isSaleable()): ?>
+                    <?php if ($isVisibleProduct): ?>
+                        <button type="button" title="<?php echo __('Add to Cart') ?>" onclick="setLocation('<?php echo $this->getSharedItemAddToCartUrl($item) ?>')" class="action tocart"><span><?php echo __('Add to Cart') ?></span></button>
+                    <?php endif ?>
+                <?php endif; ?>
+                    <a href="<?php echo $this->getAddToWishlistUrl($item) ?>" onclick="setLocation(this.href); return false;" class="action towishlist" data-action="add-to-wishlist"><span><?php echo __('Add to Wishlist') ?></span></a>
+                </td>
+            </tr>
+        <?php endforeach ?>
+        </tbody>
+    </table>
+    <div class="actions">
+        <?php if($this->isSaleable()):?>
+            <div class="primary">
+                <button type="button" title="<?php echo __('Add All to Cart') ?>" onclick="setLocation('<?php echo $this->getUrl('*/*/allcart', array('_current'=>true)) ?>')" class="action tocart"><span><?php echo __('Add All to Cart') ?></span></button>
+            </div>
+        <?php endif;?>
+        <div class="secondary">
+            <a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>" class="action back"><span><?php echo __('Back') ?></span></a>
+        </div>
+    </div>
+</form>
+<?php else: ?>
+    <p><?php echo __('Wish List is empty now.') ?></p>
+<?php endif ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/sharing.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/sharing.phtml
new file mode 100644
index 00000000000..70da9af4b1c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/sharing.phtml
@@ -0,0 +1,67 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form wishlist share" action="<?php echo $this->getSendUrl() ?>" id="form-validate" method="post" data-hasrequired="<?php echo __('* Required Fields') ?>">
+    <fieldset class="fieldset">
+        <?php echo $this->getBlockHtml('formkey')?>
+        <legend class="legend"><span><?php echo __('Sharing Information') ?></span></legend><br />
+        <div class="field emails required">
+            <label class="label" for="email_address"><span><?php echo __('Email addresses, separated by commas') ?></span></label>
+            <div class="control">
+                <textarea name="emails" cols="60" rows="5" id="email_address" data-validate="{required:true,'validate-emails':true}"><?php echo $this->getEnteredData('emails') ?></textarea>
+            </div>
+        </div>
+        <div class="field text">
+            <label class="label" for="message"><span><?php echo __('Message') ?></span></label>
+            <div class="control">
+                <textarea id="message" name="message" cols="60" rows="5"><?php echo $this->getEnteredData('message') ?></textarea>
+            </div>
+        </div>
+        <?php if($this->helper('Magento\Wishlist\Helper\Data')->isRssAllow()): ?>
+        <div class="field choice rss">
+            <input type="checkbox" name="rss_url" id="rss_url" value="1" title="<?php echo __('Check this checkbox if you want to add a link to an rss feed to your wishlist.') ?>" class="checkbox" />
+            <label class="label" for="rss_url"><span><?php echo __('Check this checkbox if you want to add a link to an rss feed to your wishlist.') ?></span></label>
+        </div>
+        <?php endif; ?>
+    </fieldset>
+    <div class="actions">
+        <div class="primary">
+            <button type="submit" title="<?php echo __('Share Wishlist') ?>" class="action submit"><span><?php echo __('Share Wishlist') ?></span></button>
+        </div>
+        <div class="secondary">
+            <a class="action back" href="<?php echo $this->getBackUrl(); ?>"><span><?php echo __('Back')?></span></a></p>
+        </div>
+    </div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>", function() {
+                $('#form-validate').validation();
+            })
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/sidebar.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/sidebar.phtml
new file mode 100644
index 00000000000..0925ab152d4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/sidebar.phtml
@@ -0,0 +1,71 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Wishlist\Block\Customer\Sidebar */
+?>
+<?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow()) : ?>
+<?php $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');?>
+<div class="block wishlist">
+    <div class="title">
+        <strong><?php echo $this->getTitle(); ?></strong>
+    </div>
+    <div class="content">
+    <strong class="subtitle"><?php echo __('Last Added Items') ?></strong>
+    <?php if ($this->hasWishlistItems()): ?>
+    <ol class="items minilist products" id="wishlist-sidebar">
+    <?php $iterator = 1; ?>
+    <?php foreach ($this->getWishlistItems() as $_item): ?>
+        <?php $product = $_item->getProduct(); ?>
+        <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+            <div class="product">
+                <a class="product photo" href="<?php echo $this->getProductUrl($_item) ?>" title="<?php echo $this->escapeHtml($product->getName()) ?>">
+                    <?php echo $imageBlock->init($product, 'wishlist_sidebar_block')->toHtml() ?>
+                </a>
+                <div class="product details">
+                    <strong class="product name"><a href="<?php echo $this->getProductUrl($_item) ?>"><?php echo $this->escapeHtml($product->getName()) ?></a></strong>
+                    <?php echo $this->getPriceHtml($product, false, '-wishlist') ?>
+                    <div class="product actions">
+                        <?php if ($product->isSaleable() && $product->isVisibleInSiteVisibility()): ?>
+                            <div class="primary"><a href="<?php echo $this->getItemAddToCartUrl($_item) ?>" class="action tocart"><span><?php echo __('Add to Cart') ?></span></a></div>
+                        <?php endif; ?>
+                        <div class="secondary">
+                            <a href="<?php echo $this->getItemRemoveUrl($_item) ?>" title="<?php echo __('Remove This Item') ?>" onclick="return confirm('<?php echo __('Are you sure you would like to remove this item from the wishlist?') ?>');" class="action delete">
+                                <span><?php echo __('Remove This Item') ?></span>
+                            </a>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        <?php echo ($iterator==count($this->getWishlistItems())+1) ? '</li>' : '' ?>
+    <?php endforeach; ?>
+    </ol>
+    <div class="actions">
+        <a class="action details" href="<?php echo $this->helper('Magento\Wishlist\Helper\Data')->getListUrl() ?>"><span><?php echo __('Go to Wish List') ?></span></a>
+    </div>
+    <?php else: ?>
+        <p class="empty"><?php echo __('You have no items in your wish list.') ?></p>
+    <?php endif ?>
+    </div>
+</div>
+<?php endif ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/view.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/view.phtml
new file mode 100644
index 00000000000..dc803e1dc10
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/view.phtml
@@ -0,0 +1,81 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Wishlist\Block\Customer\Wishlist */
+?>
+<?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow()) : ?>
+    <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isRssAllow() && $this->hasWishlistItems()): ?>
+        <a href="<?php echo $this->helper('Magento\Wishlist\Helper\Data')->getRssUrl($this->getWishlistInstance()->getId()); ?>" class="action rss wishlist"><span><?php echo __('RSS Feed') ?></span></a>
+    <?php endif; ?>
+    <form class="form wishlist items" id="wishlist-view-form" action="<?php echo $this->getUrl('*/*/update', array('wishlist_id' => $this->getWishlistInstance()->getId())) ?>" method="post">
+        <?php echo $this->getChildHtml('top'); ?>
+        <?php if ($this->hasWishlistItems()): ?>
+                <?php echo $this->getBlockHtml('formkey');?>
+                <?php $this->getChildBlock('items')->setItems($this->getWishlistItems()); ?>
+                <?php echo $this->getChildHtml('items');?>
+        <?php else: ?>
+            <p class="empty"><?php echo __('You have no items in your wish list.') ?></p>
+        <?php endif ?>
+        <?php echo $this->getChildHtml('bottom'); ?>
+        <div class="actions">
+            <div class="primary"><?php echo $this->getChildHtml('control_buttons');?></div>
+            <div class="secondary"><a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>" class="action back"><span><?php echo __('Back') ?></span></a></div>
+        </div>
+    </form>
+    <script id="form-tmpl" type="text/x-jQuery-tmpl">
+        <form id="wishlist-hidden-form" method="post" action="${url}" class="no-display">
+            {{if itemId}}<input name="item_id" value="${itemId}"/>{{/if}}
+            {{if wishlistId}}<input name="wishlist_id" value="${wishlistId}"/>{{/if}}
+            {{if qty}}<input name="qty" value="${qty}"/>{{/if}}
+            {{if item}}<input name="item" value="${item}"/>{{/if}}
+            {{if entity}}<input name="entity" value="${entity}"/>{{/if}}
+        </form>
+    </script>
+    <script>
+        (function($) {
+            head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('Magento_Persistent::splitbutton.js') ?>",
+                "<?php echo $this->getViewFileUrl('Magento_Wishlist::wishlist.js')?>", function() {
+                    $('#wishlist-view-form').wishlist({
+                        dataAttribute: 'item-id',
+                        nameFormat: 'qty[{0}]',
+                        btnRemoveSelector: '.action.delete',
+                        qtySelector: '.qty',
+                        addToCartSelector: '.action.tocart',
+                        addAllToCartSelector: '.primary > .action.tocart',
+                        commentInputType: 'textarea',
+                        infoList: false,
+                        addToCartUrl: '<?php echo $this->getItemAddToCartUrl('%item%');?>' ,
+                        confirmRemoveMessage: '<?php echo __('Are you sure you want to remove this product from your wishlist?') ?>',
+                        addAllToCartUrl : '<?php echo $this->getUrl('*/*/allcart', array('wishlist_id' => $this->getWishlistInstance()->getId())) ?>',
+                        commentString : ''
+                    });
+                    $('body').splitButton();
+                });
+        })(jQuery);
+    </script>
+<?php endif ?>
diff --git a/app/design/frontend/magento_plushe/css/print.css b/app/design/frontend/magento_plushe/css/print.css
new file mode 100644
index 00000000000..c522d1b9e47
--- /dev/null
+++ b/app/design/frontend/magento_plushe/css/print.css
@@ -0,0 +1,158 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+*     { background:none !important; text-align:left !important; }
+body  { background:#fff !important; font-size:9pt !important; margin:15px !important; }
+
+.header-container,
+.footer-before-container,
+.footer-container,
+.widget,
+.pager,
+.toolbar,
+.actions,
+.buttons-set { display:none !important; }
+
+.page-print .data-table .cart-tax-total { background-position:100% -54px; }
+.page-print .data-table .cart-tax-info { display:block !important; }
+
+
+
+
+/*
+ *    My Account -> My Orders
+ *
+----------------------------------------------------------------------------- */
+.order-date {
+    margin-bottom: 15px;
+}
+
+.order.details .title,
+.order.details .caption {
+    clear: both;
+    margin-bottom: 15px;
+}
+
+.order.details .title strong,
+.order.details .caption strong {
+    line-height: 1.2;
+    font-weight: 200;
+    font-size: 20px;
+}
+
+/* blocks */
+.order.details .block.order {
+    float: left;
+    width: 48%;
+    margin-bottom: 30px;
+    padding-right: 2%;
+}
+.order.details .block.order .title {
+    margin-bottom: 15px;
+}
+.order.details .block.order .title strong {
+    line-height: 1.2;
+    font-weight: 200;
+    font-size: 20px;
+}
+.order.details .block.order .content address {
+    font-style: normal;
+}
+.data.table.order.tracking {
+    margin: 10px 0;
+}
+
+/* tables */
+.data.table.order {
+    margin-bottom: 45px;
+    width: 100%;
+}
+.data.table.order thead th {
+    padding: 0 10px;
+}
+.data.table.order thead tr:last-child th {
+    padding-bottom: 10px;
+    border-bottom: 3px solid #e5e5e5;
+}
+.data.table.order td.col.qty {
+    width: 90px;
+    text-align: left;
+}
+.data.table.order td.col.price,
+.data.table.order td.col.subtotal {
+    text-align: left;
+}
+.data.table.order td {
+    padding: 16px 10px 10px;
+    vertical-align: top;
+}
+.data.table.order th {
+    text-align: left;
+    font-weight: 400;
+    font-size: 14px;
+    vertical-align: top;
+}
+.data.table.order tr:first-child th {
+    font-weight: 400;
+    font-size: 16px;
+}
+
+/* h4 */
+.data.table.order td h4 {
+    margin: 0;
+}
+
+/* .item.options */
+.data.table.order .item.options,
+.data.table.order .item-options {
+    margin: 5px 0;
+}
+.data.table.order .item.options dt,
+.data.table.order .item-options dt {
+    font-weight: 400;
+    display: inline;
+    margin-right: 10px;
+    float: left;
+    clear: left;
+}
+.data.table.order .item.options dt:after,
+.data.table.order .item-options dt:after {
+    content: ': ';
+}
+.data.table.order .item.options dd,
+.data.table.order .item-options dd {
+    font-weight: 200;
+    margin: 0 0 10px 10px;
+    padding: 0;
+}
+
+/* tfoot */
+.data.table.order tfoot tr:first-child td {
+    border-top: 3px solid #e5e5e5;
+    padding-top: 15px;
+}
+.data.table.order.tracking th,
+.data.table.order.tracking td {
+    padding: 0;
+}
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/css/styles.css b/app/design/frontend/magento_plushe/css/styles.css
new file mode 100644
index 00000000000..85ba910cf2f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/css/styles.css
@@ -0,0 +1,10859 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* normalize.css 2012-03-11T12:53 UTC - http://github.com/necolas/normalize.css */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+nav,
+section,
+summary {
+  display: block;
+}
+audio,
+canvas,
+video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+[hidden] {
+  display: none;
+}
+html {
+  font-size: 100%;
+  -webkit-text-size-adjust: 100%;
+  -ms-text-size-adjust: 100%;
+}
+html,
+button,
+input,
+select,
+textarea {
+  font-family: sans-serif;
+}
+body {
+  margin: 0;
+}
+a:focus {
+  outline: thin dotted;
+}
+a:hover,
+a:active {
+  outline: 0;
+}
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+h2 {
+  font-size: 1.5em;
+  margin: 0.83em 0;
+}
+h3 {
+  font-size: 1.17em;
+  margin: 1em 0;
+}
+h4 {
+  font-size: 1em;
+  margin: 1.33em 0;
+}
+h5 {
+  font-size: 0.83em;
+  margin: 1.67em 0;
+}
+h6 {
+  font-size: 0.75em;
+  margin: 2.33em 0;
+}
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+b,
+strong {
+  font-weight: bold;
+}
+blockquote {
+  margin: 1em 40px;
+}
+dfn {
+  font-style: italic;
+}
+mark {
+  background: #ff0;
+  color: #000;
+}
+p,
+pre {
+  margin: 1em 0;
+}
+pre,
+code,
+kbd,
+samp {
+  font-family: monospace, serif;
+  _font-family: 'courier new', monospace;
+  font-size: 1em;
+}
+pre {
+  white-space: pre;
+  white-space: pre-wrap;
+  word-wrap: break-word;
+}
+q {
+  quotes: none;
+}
+q:before,
+q:after {
+  content: '';
+  content: none;
+}
+small {
+  font-size: 75%;
+}
+sub,
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+sup {
+  top: -0.5em;
+}
+sub {
+  bottom: -0.25em;
+}
+dl,
+menu,
+ol,
+ul {
+  margin: 1em 0;
+}
+dd {
+  margin: 0 0 0 40px;
+}
+menu,
+ol,
+ul {
+  padding: 0 0 0 40px;
+}
+nav ul,
+nav ol {
+  list-style: none;
+  list-style-image: none;
+}
+img {
+  border: 0;
+  -ms-interpolation-mode: bicubic;
+}
+svg:not(:root) {
+  overflow: hidden;
+}
+figure {
+  margin: 0;
+}
+form {
+  margin: 0;
+}
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+legend {
+  border: 0;
+  padding: 0;
+  white-space: normal;
+  *margin-left: -7px;
+}
+button,
+input,
+select,
+textarea {
+  font-size: 100%;
+  margin: 0;
+  vertical-align: baseline;
+  *vertical-align: middle;
+}
+button,
+input {
+  line-height: normal;
+}
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+  cursor: pointer;
+  -webkit-appearance: button;
+  *overflow: visible;
+}
+button[disabled],
+input[disabled] {
+  cursor: default;
+}
+input[type="checkbox"],
+input[type="radio"] {
+  box-sizing: border-box;
+  padding: 0;
+  *height: 13px;
+  *width: 13px;
+}
+input[type="search"] {
+  -webkit-appearance: textfield;
+  -moz-box-sizing: content-box;
+  -webkit-box-sizing: content-box;
+  box-sizing: content-box;
+}
+input[type="search"]::-webkit-search-decoration,
+input[type="search"]::-webkit-search-cancel-button {
+  -webkit-appearance: none;
+}
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+textarea {
+  overflow: auto;
+  vertical-align: top;
+}
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+@font-face {
+  font-family: "sourcesanspro";
+  src: url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.eot');
+  src: url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.woff') format('woff'), url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.ttf') format('truetype'), url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.svg#sourcesanspro') format('svg');
+  font-weight: 200;
+  font-style: normal;
+}
+@font-face {
+  font-family: "sourcesanspro";
+  src: url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.eot');
+  src: url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.woff') format('woff'), url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.ttf') format('truetype'), url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.svg#sourcesanspro') format('svg');
+  font-weight: 200;
+  font-style: normal;
+}
+@font-face {
+  font-family: "sourcesanspro";
+  src: url('../fonts/sourcesanspro/sourcesanspro-400-normal-webfont.eot');
+  src: url('../fonts/sourcesanspro/sourcesanspro-400-normal-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/sourcesanspro/sourcesanspro-400-normal-webfont.woff') format('woff'), url('../fonts/sourcesanspro/sourcesanspro-400-normal-webfont.ttf') format('truetype'), url('../fonts/sourcesanspro/sourcesanspro-400-normal-webfont.svg#sourcesanspro') format('svg');
+  font-weight: 400;
+  font-style: normal;
+}
+@font-face {
+  font-family: "sourcesanspro";
+  src: url('../fonts/sourcesanspro/sourcesanspro-600-normal-webfont.eot');
+  src: url('../fonts/sourcesanspro/sourcesanspro-600-normal-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/sourcesanspro/sourcesanspro-600-normal-webfont.woff') format('woff'), url('../fonts/sourcesanspro/sourcesanspro-600-normal-webfont.ttf') format('truetype'), url('../fonts/sourcesanspro/sourcesanspro-600-normal-webfont.svg#sourcesanspro') format('svg');
+  font-weight: 600;
+  font-style: normal;
+}
+@font-face {
+  font-family: "sourcesanspro";
+  src: url('../fonts/sourcesanspro/sourcesanspro-700-normal-webfont.eot');
+  src: url('../fonts/sourcesanspro/sourcesanspro-700-normal-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/sourcesanspro/sourcesanspro-700-normal-webfont.woff') format('woff'), url('../fonts/sourcesanspro/sourcesanspro-700-normal-webfont.ttf') format('truetype'), url('../fonts/sourcesanspro/sourcesanspro-700-normal-webfont.svg#sourcesanspro') format('svg');
+  font-weight: 700;
+  font-style: normal;
+}
+@font-face {
+  font-family: "marvel";
+  src: url('../fonts/marvel/marvel-400-normal-webfont.eot');
+  src: url('../fonts/marvel/marvel-400-normal-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/marvel/marvel-400-normal-webfont.woff') format('woff'), url('../fonts/marvel/marvel-400-normal-webfont.ttf') format('truetype'), url('../fonts/marvel/marvel-400-normal-webfont.svg#marvel') format('svg');
+  font-weight: 400;
+  font-style: normal;
+}
+@font-face {
+  font-family: "icons";
+  src: url('../fonts/icons/icons.eot');
+  src: url('../fonts/icons/icons.eot?#iefix') format('embedded-opentype'), url('../fonts/icons/icons.woff') format('woff'), url('../fonts/icons/icons.ttf') format('truetype'), url('../fonts/icons/icons.svg#icons') format('svg');
+  font-weight: 400;
+  font-style: normal;
+}
+html,
+body,
+button,
+input,
+select,
+textarea {
+  font: 400 14px/1.33 "sourcesanspro";
+  color: #675f55;
+}
+nav ul,
+nav ol {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+h1 {
+  color: #675f55;
+  font: 200 30px/1.2 "sourcesanspro";
+}
+h2 {
+  color: #675f55;
+  font: 400 20px/1.2 "sourcesanspro";
+}
+h3 {
+  color: #675f55;
+  font: 600 18px/1.2 "sourcesanspro";
+}
+h4 {
+  color: #675f55;
+  font: 600 16px/1.2 "sourcesanspro";
+}
+h5 {
+  color: #675f55;
+  font: 600 14px/1.2 "sourcesanspro";
+}
+h6 {
+  color: #675f55;
+  font: 600 12px/1.2 "sourcesanspro";
+}
+a {
+  color: #332e29;
+  text-decoration: none;
+}
+a:visited {
+  color: #332e29;
+}
+a:hover,
+a:active {
+  color: #da370a;
+}
+q:before {
+  content: "\201c";
+}
+q:after {
+  content: "\201d";
+}
+q q:before {
+  content: "\2018";
+}
+q q:after {
+  content: "\2019";
+}
+table th {
+  border-right: 1px solid #e5e5e5;
+  font-size: 16px;
+  padding: 7px 10px;
+}
+table th:last-child {
+  border-right: 0;
+}
+table td {
+  border-right: 1px solid #e5e5e5;
+  padding: 7px 10px;
+  vertical-align: top;
+}
+table td:last-child {
+  border-right: 0;
+}
+table tbody tr:nth-child(odd) td {
+  background: #f8f8f8;
+}
+blockquote {
+  margin: 10px 20px 10px 40px;
+}
+blockquote:before {
+  color: #999999;
+  content: "\201C";
+  display: block;
+  font-family: Georgia, serif;
+  font-size: 60px;
+  font-style: italic;
+  position: absolute;
+  left: 15px;
+  top: 10px;
+}
+blockquote cite {
+  color: #999999;
+  font-style: italic;
+  font-size: 12px;
+  margin: 1em 0;
+}
+hr {
+  background: #c2c2c2;
+  border: 0;
+  color: #c2c2c2;
+  height: 1px;
+  margin: 1em 0;
+}
+.profileBlockWithBg,
+.multicheckout > .block.shipping .box,
+.multicheckout > .block.billing .box,
+.multicheckout .block.other .content {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #f8f8f8;
+  padding: 30px;
+}
+.primary.action,
+.action.myPrimary,
+input[type="submit"],
+input[type="button"],
+.form.settings .action.submit,
+.fieldset.login .actions .action.login,
+.opc .actions .primary .action,
+.cart.summary .fieldset .action:not(.check),
+.popup .actions .action.submit,
+.page.title .action,
+.block.add.review .action.submit,
+.opc.wrapper .form:not(.login) .actions button.action,
+.step.login.wrapper button.action:not(.reload),
+.multicheckout .action.continue,
+.multicheckout .action.submit,
+.multicheckout .action.add,
+.cart.summary .block .action,
+.action.checkout,
+.form.newsletter.manage .action.save,
+.action.tocart,
+.action.primary.customize,
+.action.primary.tocart,
+.login.container .action.login,
+.login.container .action.create,
+.form.send.friend .action.save,
+.form.address.edit .action.save,
+.form.edit.account .action.save,
+.form.search.advanced .action.save,
+.form.orders.search .action.save,
+.form.contact .action.save,
+.form.password.forget .action.save,
+.form.create.account .action.save,
+.form.wishlist.share .action.save,
+.form.password.reset .action.save,
+.form.paypal.review .action.save,
+.form.send.friend .action.submit,
+.form.address.edit .action.submit,
+.form.edit.account .action.submit,
+.form.search.advanced .action.submit,
+.form.orders.search .action.submit,
+.form.contact .action.submit,
+.form.password.forget .action.submit,
+.form.create.account .action.submit,
+.form.wishlist.share .action.submit,
+.form.password.reset .action.submit,
+.form.paypal.review .action.submit,
+.form.send.friend .action.add,
+.form.address.edit .action.add,
+.form.edit.account .action.add,
+.form.search.advanced .action.add,
+.form.orders.search .action.add,
+.form.contact .action.add,
+.form.password.forget .action.add,
+.form.create.account .action.add,
+.form.wishlist.share .action.add,
+.form.password.reset .action.add,
+.form.paypal.review .action.add,
+.form.search.advanced .action,
+.form.orders.search .action,
+.form.contact .action,
+.data.table.wishlist + .actions .primary .action.share,
+.data.table.wishlist + .actions .primary .action.update,
+.action.myPrimary,
+input[type="submit"],
+input[type="button"],
+.form.settings .action.submit,
+.fieldset.login .actions .action.login,
+.opc .actions .primary .action,
+.cart.summary .fieldset .action:not(.check),
+.popup .actions .action.submit,
+.page.title .action,
+.block.add.review .action.submit,
+.opc.wrapper .form:not(.login) .actions button.action,
+.step.login.wrapper button.action:not(.reload),
+.multicheckout .action.continue,
+.multicheckout .action.submit,
+.multicheckout .action.add,
+.cart.summary .block .action,
+.action.checkout,
+.form.newsletter.manage .action.save,
+.action.tocart,
+.action.primary.customize,
+.action.primary.tocart,
+.login.container .action.login,
+.login.container .action.create,
+.form.send.friend .action.save,
+.form.address.edit .action.save,
+.form.edit.account .action.save,
+.form.search.advanced .action.save,
+.form.orders.search .action.save,
+.form.contact .action.save,
+.form.password.forget .action.save,
+.form.create.account .action.save,
+.form.wishlist.share .action.save,
+.form.password.reset .action.save,
+.form.paypal.review .action.save,
+.form.send.friend .action.submit,
+.form.address.edit .action.submit,
+.form.edit.account .action.submit,
+.form.search.advanced .action.submit,
+.form.orders.search .action.submit,
+.form.contact .action.submit,
+.form.password.forget .action.submit,
+.form.create.account .action.submit,
+.form.wishlist.share .action.submit,
+.form.password.reset .action.submit,
+.form.paypal.review .action.submit,
+.form.send.friend .action.add,
+.form.address.edit .action.add,
+.form.edit.account .action.add,
+.form.search.advanced .action.add,
+.form.orders.search .action.add,
+.form.contact .action.add,
+.form.password.forget .action.add,
+.form.create.account .action.add,
+.form.wishlist.share .action.add,
+.form.password.reset .action.add,
+.form.paypal.review .action.add,
+.form.search.advanced .action,
+.form.orders.search .action,
+.form.contact .action,
+.data.table.wishlist + .actions .primary .action.share,
+.data.table.wishlist + .actions .primary .action.update {
+  background-color: #da370a;
+  color: #ffffff;
+}
+.primary.action:focus,
+.primary.action:active,
+.primary.action:hover,
+.action.myPrimary:focus,
+.action.myPrimary:active,
+.action.myPrimary:hover,
+input[type="submit"]:focus,
+input[type="submit"]:active,
+input[type="submit"]:hover,
+input[type="button"]:focus,
+input[type="button"]:active,
+input[type="button"]:hover,
+.form.settings .action.submit:focus,
+.form.settings .action.submit:active,
+.form.settings .action.submit:hover,
+.fieldset.login .actions .action.login:focus,
+.fieldset.login .actions .action.login:active,
+.fieldset.login .actions .action.login:hover,
+.opc .actions .primary .action:focus,
+.opc .actions .primary .action:active,
+.opc .actions .primary .action:hover,
+.cart.summary .fieldset .action:not(.check):focus,
+.cart.summary .fieldset .action:not(.check):active,
+.cart.summary .fieldset .action:not(.check):hover,
+.popup .actions .action.submit:focus,
+.popup .actions .action.submit:active,
+.popup .actions .action.submit:hover,
+.page.title .action:focus,
+.page.title .action:active,
+.page.title .action:hover,
+.block.add.review .action.submit:focus,
+.block.add.review .action.submit:active,
+.block.add.review .action.submit:hover,
+.opc.wrapper .form:not(.login) .actions button.action:focus,
+.opc.wrapper .form:not(.login) .actions button.action:active,
+.opc.wrapper .form:not(.login) .actions button.action:hover,
+.step.login.wrapper button.action:not(.reload):focus,
+.step.login.wrapper button.action:not(.reload):active,
+.step.login.wrapper button.action:not(.reload):hover,
+.multicheckout .action.continue:focus,
+.multicheckout .action.continue:active,
+.multicheckout .action.continue:hover,
+.multicheckout .action.submit:focus,
+.multicheckout .action.submit:active,
+.multicheckout .action.submit:hover,
+.multicheckout .action.add:focus,
+.multicheckout .action.add:active,
+.multicheckout .action.add:hover,
+.cart.summary .block .action:focus,
+.cart.summary .block .action:active,
+.cart.summary .block .action:hover,
+.action.checkout:focus,
+.action.checkout:active,
+.action.checkout:hover,
+.form.newsletter.manage .action.save:focus,
+.form.newsletter.manage .action.save:active,
+.form.newsletter.manage .action.save:hover,
+.action.tocart:focus,
+.action.tocart:active,
+.action.tocart:hover,
+.action.primary.customize:focus,
+.action.primary.customize:active,
+.action.primary.customize:hover,
+.action.primary.tocart:focus,
+.action.primary.tocart:active,
+.action.primary.tocart:hover,
+.login.container .action.login:focus,
+.login.container .action.login:active,
+.login.container .action.login:hover,
+.login.container .action.create:focus,
+.login.container .action.create:active,
+.login.container .action.create:hover,
+.form.send.friend .action.save:focus,
+.form.send.friend .action.save:active,
+.form.send.friend .action.save:hover,
+.form.address.edit .action.save:focus,
+.form.address.edit .action.save:active,
+.form.address.edit .action.save:hover,
+.form.edit.account .action.save:focus,
+.form.edit.account .action.save:active,
+.form.edit.account .action.save:hover,
+.form.search.advanced .action.save:focus,
+.form.search.advanced .action.save:active,
+.form.search.advanced .action.save:hover,
+.form.orders.search .action.save:focus,
+.form.orders.search .action.save:active,
+.form.orders.search .action.save:hover,
+.form.contact .action.save:focus,
+.form.contact .action.save:active,
+.form.contact .action.save:hover,
+.form.password.forget .action.save:focus,
+.form.password.forget .action.save:active,
+.form.password.forget .action.save:hover,
+.form.create.account .action.save:focus,
+.form.create.account .action.save:active,
+.form.create.account .action.save:hover,
+.form.wishlist.share .action.save:focus,
+.form.wishlist.share .action.save:active,
+.form.wishlist.share .action.save:hover,
+.form.password.reset .action.save:focus,
+.form.password.reset .action.save:active,
+.form.password.reset .action.save:hover,
+.form.paypal.review .action.save:focus,
+.form.paypal.review .action.save:active,
+.form.paypal.review .action.save:hover,
+.form.send.friend .action.submit:focus,
+.form.send.friend .action.submit:active,
+.form.send.friend .action.submit:hover,
+.form.address.edit .action.submit:focus,
+.form.address.edit .action.submit:active,
+.form.address.edit .action.submit:hover,
+.form.edit.account .action.submit:focus,
+.form.edit.account .action.submit:active,
+.form.edit.account .action.submit:hover,
+.form.search.advanced .action.submit:focus,
+.form.search.advanced .action.submit:active,
+.form.search.advanced .action.submit:hover,
+.form.orders.search .action.submit:focus,
+.form.orders.search .action.submit:active,
+.form.orders.search .action.submit:hover,
+.form.contact .action.submit:focus,
+.form.contact .action.submit:active,
+.form.contact .action.submit:hover,
+.form.password.forget .action.submit:focus,
+.form.password.forget .action.submit:active,
+.form.password.forget .action.submit:hover,
+.form.create.account .action.submit:focus,
+.form.create.account .action.submit:active,
+.form.create.account .action.submit:hover,
+.form.wishlist.share .action.submit:focus,
+.form.wishlist.share .action.submit:active,
+.form.wishlist.share .action.submit:hover,
+.form.password.reset .action.submit:focus,
+.form.password.reset .action.submit:active,
+.form.password.reset .action.submit:hover,
+.form.paypal.review .action.submit:focus,
+.form.paypal.review .action.submit:active,
+.form.paypal.review .action.submit:hover,
+.form.send.friend .action.add:focus,
+.form.send.friend .action.add:active,
+.form.send.friend .action.add:hover,
+.form.address.edit .action.add:focus,
+.form.address.edit .action.add:active,
+.form.address.edit .action.add:hover,
+.form.edit.account .action.add:focus,
+.form.edit.account .action.add:active,
+.form.edit.account .action.add:hover,
+.form.search.advanced .action.add:focus,
+.form.search.advanced .action.add:active,
+.form.search.advanced .action.add:hover,
+.form.orders.search .action.add:focus,
+.form.orders.search .action.add:active,
+.form.orders.search .action.add:hover,
+.form.contact .action.add:focus,
+.form.contact .action.add:active,
+.form.contact .action.add:hover,
+.form.password.forget .action.add:focus,
+.form.password.forget .action.add:active,
+.form.password.forget .action.add:hover,
+.form.create.account .action.add:focus,
+.form.create.account .action.add:active,
+.form.create.account .action.add:hover,
+.form.wishlist.share .action.add:focus,
+.form.wishlist.share .action.add:active,
+.form.wishlist.share .action.add:hover,
+.form.password.reset .action.add:focus,
+.form.password.reset .action.add:active,
+.form.password.reset .action.add:hover,
+.form.paypal.review .action.add:focus,
+.form.paypal.review .action.add:active,
+.form.paypal.review .action.add:hover,
+.form.search.advanced .action:focus,
+.form.search.advanced .action:active,
+.form.search.advanced .action:hover,
+.form.orders.search .action:focus,
+.form.orders.search .action:active,
+.form.orders.search .action:hover,
+.form.contact .action:focus,
+.form.contact .action:active,
+.form.contact .action:hover,
+.data.table.wishlist + .actions .primary .action.share:focus,
+.data.table.wishlist + .actions .primary .action.share:active,
+.data.table.wishlist + .actions .primary .action.share:hover,
+.data.table.wishlist + .actions .primary .action.update:focus,
+.data.table.wishlist + .actions .primary .action.update:active,
+.data.table.wishlist + .actions .primary .action.update:hover {
+  background-color: #a92b08;
+}
+.secondary.action,
+.action.mySecondary,
+input[type="reset"],
+.action.mySecondaryButton,
+.popup .actions .action.cancel,
+.multicheckout .action.update,
+.cart.main.actions .action.update,
+.cart.main.actions .action.clear,
+.block.compare .action.compare,
+.data.comparison .cell.remove .action.delete,
+.form.send.friend .actions > .primary .action.add,
+.paypal.review.view .actions .action.update,
+.shipping-tracking-popup .action.close,
+.action.mySecondary,
+input[type="reset"],
+.action.mySecondaryButton,
+.popup .actions .action.cancel,
+.multicheckout .action.update,
+.cart.main.actions .action.update,
+.cart.main.actions .action.clear,
+.block.compare .action.compare,
+.data.comparison .cell.remove .action.delete,
+.form.send.friend .actions > .primary .action.add,
+.paypal.review.view .actions .action.update,
+.shipping-tracking-popup .action.close {
+  background-color: #c2c2c2;
+  color: #ffffff;
+}
+.secondary.action:focus,
+.secondary.action:active,
+.secondary.action:hover,
+.action.mySecondary:focus,
+.action.mySecondary:active,
+.action.mySecondary:hover,
+input[type="reset"]:focus,
+input[type="reset"]:active,
+input[type="reset"]:hover,
+.action.mySecondaryButton:focus,
+.action.mySecondaryButton:active,
+.action.mySecondaryButton:hover,
+.popup .actions .action.cancel:focus,
+.popup .actions .action.cancel:active,
+.popup .actions .action.cancel:hover,
+.multicheckout .action.update:focus,
+.multicheckout .action.update:active,
+.multicheckout .action.update:hover,
+.cart.main.actions .action.update:focus,
+.cart.main.actions .action.update:active,
+.cart.main.actions .action.update:hover,
+.cart.main.actions .action.clear:focus,
+.cart.main.actions .action.clear:active,
+.cart.main.actions .action.clear:hover,
+.block.compare .action.compare:focus,
+.block.compare .action.compare:active,
+.block.compare .action.compare:hover,
+.data.comparison .cell.remove .action.delete:focus,
+.data.comparison .cell.remove .action.delete:active,
+.data.comparison .cell.remove .action.delete:hover,
+.form.send.friend .actions > .primary .action.add:focus,
+.form.send.friend .actions > .primary .action.add:active,
+.form.send.friend .actions > .primary .action.add:hover,
+.paypal.review.view .actions .action.update:focus,
+.paypal.review.view .actions .action.update:active,
+.paypal.review.view .actions .action.update:hover,
+.shipping-tracking-popup .action.close:focus,
+.shipping-tracking-popup .action.close:active,
+.shipping-tracking-popup .action.close:hover {
+  background-color: #a9a9a9;
+}
+.button.link,
+.action.myLink,
+.fieldset .fields.dates .field .ui-datepicker-trigger,
+.multicheckout.success .action.continue {
+  background: none;
+  border: 0;
+  display: inline;
+  color: #332e29;
+  margin: 0;
+  padding: 0;
+  text-decoration: underline;
+}
+.button.link:focus,
+.button.link:active,
+.button.link:hover,
+.action.myLink:focus,
+.action.myLink:active,
+.action.myLink:hover,
+.fieldset .fields.dates .field .ui-datepicker-trigger:focus,
+.fieldset .fields.dates .field .ui-datepicker-trigger:active,
+.fieldset .fields.dates .field .ui-datepicker-trigger:hover,
+.multicheckout.success .action.continue:focus,
+.multicheckout.success .action.continue:active,
+.multicheckout.success .action.continue:hover {
+  color: #da370a;
+  text-decoration: none;
+}
+.button.action,
+.primary.action,
+.secondary.action,
+.action.myPrimary,
+.action.mySecondary,
+input[type="submit"],
+input[type="button"],
+input[type="reset"],
+.form.settings .action.submit,
+.fieldset.login .actions .action.login,
+.action.mySecondaryButton,
+.opc .actions .primary .action,
+.cart.summary .fieldset .action:not(.check),
+.popup .actions .action.submit,
+.popup .actions .action.cancel,
+.page.title .action,
+.block.add.review .action.submit,
+.opc.wrapper .form:not(.login) .actions button.action,
+.step.login.wrapper button.action:not(.reload),
+.multicheckout .action.update,
+.multicheckout .action.continue,
+.multicheckout .action.submit,
+.multicheckout .action.add,
+.cart.main.actions .action.update,
+.cart.main.actions .action.clear,
+.cart.summary .block .action,
+.action.checkout,
+.form.newsletter.manage .action.save,
+.block.compare .action.compare,
+.data.comparison .cell.remove .action.delete,
+.action.tocart,
+.action.primary.customize,
+.action.primary.tocart,
+.login.container .action.login,
+.login.container .action.create,
+.form.send.friend .action.save,
+.form.address.edit .action.save,
+.form.edit.account .action.save,
+.form.search.advanced .action.save,
+.form.orders.search .action.save,
+.form.contact .action.save,
+.form.password.forget .action.save,
+.form.create.account .action.save,
+.form.wishlist.share .action.save,
+.form.password.reset .action.save,
+.form.paypal.review .action.save,
+.form.send.friend .action.submit,
+.form.address.edit .action.submit,
+.form.edit.account .action.submit,
+.form.search.advanced .action.submit,
+.form.orders.search .action.submit,
+.form.contact .action.submit,
+.form.password.forget .action.submit,
+.form.create.account .action.submit,
+.form.wishlist.share .action.submit,
+.form.password.reset .action.submit,
+.form.paypal.review .action.submit,
+.form.send.friend .action.add,
+.form.address.edit .action.add,
+.form.edit.account .action.add,
+.form.search.advanced .action.add,
+.form.orders.search .action.add,
+.form.contact .action.add,
+.form.password.forget .action.add,
+.form.create.account .action.add,
+.form.wishlist.share .action.add,
+.form.password.reset .action.add,
+.form.paypal.review .action.add,
+.form.send.friend .actions > .primary .action.add,
+.form.search.advanced .action,
+.form.orders.search .action,
+.form.contact .action,
+.paypal.review.view .actions .action.update,
+.data.table.wishlist + .actions .primary .action.share,
+.data.table.wishlist + .actions .primary .action.update,
+.shipping-tracking-popup .action.close {
+  border: none;
+  border-radius: 0;
+  font: 600 14px/16px;
+  text-transform: uppercase;
+  margin: 0;
+  padding: 9px 11px 9px;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  text-decoration: none;
+}
+.action + .action {
+  margin-left: 5px;
+}
+.hasRequired:after,
+.form.validation:after,
+.opc .form:after {
+  content: attr(data-hasrequired);
+  display: block;
+  font-size: 14px;
+  margin: 10px 0 0;
+  color: #da370a;
+  letter-spacing: normal;
+  word-spacing: normal;
+}
+.load.indicator {
+  display: inline-block;
+  margin: 20px auto;
+  padding: 8px;
+  vertical-align: middle;
+}
+.load.indicator span {
+  display: block;
+  line-height: 16px;
+}
+.load.indicator span:before {
+  content: '';
+  margin-right: 5px;
+  display: inline-block;
+  width: 16px;
+  height: 16px;
+  background: url("../images/loader.gif") no-repeat 0 0;
+  background-color: #da370a;
+  vertical-align: top;
+}
+.form .actions {
+  margin-right: 10px;
+  text-align: right;
+}
+.fieldset {
+  border: 0;
+  margin: 30px 10px 30px 30px;
+  padding: 0;
+  letter-spacing: -0.31em;
+  word-spacing: -0.43em;
+}
+.fieldset > * {
+  letter-spacing: normal;
+  word-spacing: normal;
+}
+.fieldset > .legend {
+  float: left;
+  font: 400 20px/1.2 "sourcesanspro";
+  margin: -30px 30px 50px -30px;
+  width: 100%;
+}
+.fieldset > .legend + br {
+  display: block;
+  *zoom: 1;
+}
+.fieldset > .legend + br:before,
+.fieldset > .legend + br:after {
+  content: "";
+  display: table;
+}
+.fieldset > .legend + br:after {
+  clear: both;
+}
+.fieldset > .field {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  margin: 0 0 20px;
+}
+.fieldset > .field > .label {
+  display: block;
+  padding-bottom: 5px;
+}
+.fieldset > .field .nested .field {
+  margin: 5px 0;
+}
+.fieldset > .field.choice > .control {
+  width: auto;
+}
+.fieldset > .field.choice > .label {
+  display: inline;
+}
+.fieldset > .field.choice > input {
+  vertical-align: top;
+  margin-top: 2px;
+  margin-right: 5px;
+}
+.fieldset > .field.required > .label > span:first-child:after {
+  content: '*';
+  color: #da370a;
+}
+.fieldset > .field .addon {
+  display: table;
+  padding: 0;
+  width: 100%;
+}
+.fieldset > .field .addon textarea,
+.fieldset > .field .addon select,
+.fieldset > .field .addon input {
+  box-shadow: none;
+  display: table-cell;
+  margin: 0;
+  width: 100%;
+}
+.fieldset > .field .addon .addbefore,
+.fieldset > .field .addon .addafter {
+  height: 0;
+  white-space: nowrap;
+  display: inline-block;
+  display: table-cell;
+  vertical-align: middle;
+  width: 1px;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  height: 32px;
+  line-height: 1;
+  padding: 0 10px;
+}
+.fieldset > .field .addon .addbefore:focus,
+.fieldset > .field .addon .addafter:focus {
+  border-color: #999999;
+}
+.control .fieldset > .field .addon .addbefore,
+.control .fieldset > .field .addon .addafter {
+  width: 100%;
+}
+.fieldset > .field .addon .addbefore:disabled,
+.fieldset > .field .addon .addafter:disabled {
+  opacity: 0.5;
+}
+.fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.fieldset > .field .addon .addafter::-webkit-input-placeholder {
+  line-height: 1.333;
+}
+.fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.fieldset > .field .addon .addafter:-ms-input-placeholder {
+  line-height: 1.333;
+}
+.eq-ie8 .fieldset > .field .addon .addbefore,
+.eq-ie8 .fieldset > .field .addon .addafter {
+  padding-top: 8px;
+}
+.fieldset > .field .note {
+  font-size: 12px;
+  margin-top: 3px;
+  padding-left: 15px;
+}
+.fieldset > .field .note:before {
+  border-bottom: 5px solid #675f55;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  content: '';
+  display: inline-block;
+  font-size: 0;
+  line-height: 0;
+  margin: 4px 0 0 -14px;
+  position: absolute;
+  vertical-align: top;
+  width: 0;
+}
+.fieldset .fields.range .field {
+  display: inline-block;
+  letter-spacing: normal;
+  margin: 0;
+  vertical-align: top;
+  word-spacing: normal;
+}
+.fieldset .fields.range .field:first-child .control {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  padding-right: 30px;
+}
+.fieldset .fields.range .field:first-child .control:after {
+  content: '\2014';
+  display: inline-block;
+  margin-right: -30px;
+  text-align: center;
+  width: 29px;
+}
+.fieldset .fields.range .field:first-child input {
+  width: 98%;
+}
+.fieldset .fields.dates .field {
+  display: inline-block;
+  letter-spacing: normal;
+  margin: 0 25px 0 0;
+  padding: 0 34px 0 0;
+  position: relative;
+  vertical-align: top;
+}
+.fieldset .fields.dates .field:first-child {
+  margin: 0 30px 0 0;
+}
+.fieldset .fields.dates .field:first-child .control {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+}
+.fieldset .fields.dates .field:first-child .control:after {
+  content: '\2014';
+  display: inline-block;
+  position: absolute;
+  right: -39px;
+  top: 7px;
+  width: 29px;
+}
+.fieldset .fields.dates .field .ui-datepicker-trigger {
+  text-decoration: none;
+  position: absolute;
+  right: 0;
+  top: 9px;
+}
+input[type="text"],
+input[type="search"],
+input[type="tel"],
+input[type="url"],
+input[type="email"],
+input[type="datetime"],
+input[type="password"] {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  height: 32px;
+  line-height: 1;
+  padding: 0 10px;
+}
+input[type="text"]:focus,
+input[type="search"]:focus,
+input[type="tel"]:focus,
+input[type="url"]:focus,
+input[type="email"]:focus,
+input[type="datetime"]:focus,
+input[type="password"]:focus {
+  border-color: #999999;
+}
+.control input[type="text"],
+.control input[type="search"],
+.control input[type="tel"],
+.control input[type="url"],
+.control input[type="email"],
+.control input[type="datetime"],
+.control input[type="password"] {
+  width: 100%;
+}
+input[type="text"]:disabled,
+input[type="search"]:disabled,
+input[type="tel"]:disabled,
+input[type="url"]:disabled,
+input[type="email"]:disabled,
+input[type="datetime"]:disabled,
+input[type="password"]:disabled {
+  opacity: 0.5;
+}
+input[type="text"]::-webkit-input-placeholder,
+input[type="search"]::-webkit-input-placeholder,
+input[type="tel"]::-webkit-input-placeholder,
+input[type="url"]::-webkit-input-placeholder,
+input[type="email"]::-webkit-input-placeholder,
+input[type="datetime"]::-webkit-input-placeholder,
+input[type="password"]::-webkit-input-placeholder {
+  line-height: 1.333;
+}
+input[type="text"]:-ms-input-placeholder,
+input[type="search"]:-ms-input-placeholder,
+input[type="tel"]:-ms-input-placeholder,
+input[type="url"]:-ms-input-placeholder,
+input[type="email"]:-ms-input-placeholder,
+input[type="datetime"]:-ms-input-placeholder,
+input[type="password"]:-ms-input-placeholder {
+  line-height: 1.333;
+}
+.eq-ie8 input[type="text"],
+.eq-ie8 input[type="search"],
+.eq-ie8 input[type="tel"],
+.eq-ie8 input[type="url"],
+.eq-ie8 input[type="email"],
+.eq-ie8 input[type="datetime"],
+.eq-ie8 input[type="password"] {
+  padding-top: 8px;
+}
+select {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  padding: 5px 10px 4px;
+}
+select:focus {
+  border-color: #999999;
+}
+.control select {
+  width: 100%;
+}
+select:disabled {
+  opacity: 0.5;
+}
+select.multiselect {
+  height: auto;
+}
+textarea {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  height: auto;
+  line-height: 1.2;
+  min-height: 4.8em;
+  padding: 10px;
+  resize: vertical;
+}
+textarea:focus {
+  border-color: #999999;
+}
+.control textarea {
+  width: 100%;
+}
+textarea:disabled {
+  opacity: 0.5;
+}
+.fieldset textarea.valid,
+.fieldset select.valid,
+.fieldset input[type="text"].valid,
+.fieldset input[type="search"].valid,
+.fieldset input[type="tel"].valid,
+.fieldset input[type="url"].valid,
+.fieldset input[type="email"].valid,
+.fieldset input[type="datetime"].valid,
+.fieldset input[type="password"].valid {
+  border-color: #42b649 !important;
+}
+.fieldset textarea.mage-error,
+.fieldset select.mage-error,
+.fieldset input[type="text"].mage-error,
+.fieldset input[type="search"].mage-error,
+.fieldset input[type="tel"].mage-error,
+.fieldset input[type="url"].mage-error,
+.fieldset input[type="email"].mage-error,
+.fieldset input[type="datetime"].mage-error,
+.fieldset input[type="password"].mage-error {
+  border-color: #da370a !important;
+}
+.fieldset div.mage-error[generated] {
+  color: #da370a !important;
+  font-size: 12px;
+  padding-top: 4px;
+}
+.form.validation .fieldset {
+  margin: 20px 0;
+}
+.form.settings .field {
+  display: inline-block;
+  padding-right: 20px;
+  vertical-align: top;
+  width: 50%;
+}
+.form.settings .nested .field {
+  width: 100%;
+}
+.form.settings .actions {
+  margin-right: 30px;
+}
+.ui-datepicker {
+  background: #efefef;
+  border: 4px solid #ffffff;
+  box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.35);
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  display: none;
+  padding: 15px;
+  width: auto;
+  z-index: 999999 !important;
+}
+.ui-datepicker .ui-datepicker-header {
+  position: relative;
+  padding: .2em 0;
+}
+.ui-datepicker .ui-datepicker-prev,
+.ui-datepicker .ui-datepicker-next {
+  position: absolute;
+  top: 2px;
+  width: 1.8em;
+  height: 1.8em;
+  cursor: pointer;
+}
+.ui-datepicker .ui-datepicker-prev span,
+.ui-datepicker .ui-datepicker-next span {
+  border: solid;
+  display: block;
+  font-size: 0;
+  margin-top: -5px;
+  position: absolute;
+  left: 50%;
+  top: 50%;
+  width: 0;
+  height: 0;
+}
+.ui-datepicker .ui-datepicker-prev {
+  left: 2px;
+}
+.ui-datepicker .ui-datepicker-prev span {
+  margin-left: -8px;
+  border-width: 5px 8px 5px 0;
+  border-color: transparent #da370a transparent transparent;
+}
+.ui-datepicker .ui-datepicker-prev.ui-datepicker-prev-hover span {
+  border-color: transparent #a92b08 transparent transparent;
+}
+.ui-datepicker .ui-datepicker-next {
+  right: 2px;
+}
+.ui-datepicker .ui-datepicker-next span {
+  margin-left: 0;
+  border-width: 5px 0 5px 8px;
+  border-color: transparent transparent transparent #da370a;
+}
+.ui-datepicker .ui-datepicker-next.ui-datepicker-next-hover span {
+  border-color: transparent transparent transparent #a92b08;
+}
+.ui-datepicker .ui-datepicker-title {
+  margin: 0 2.3em;
+  line-height: 1.8em;
+  text-align: center;
+}
+.ui-datepicker .ui-datepicker-title select {
+  margin: 1px 0;
+  padding: 0;
+}
+.ui-datepicker .ui-datepicker-title .ui-datepicker-month,
+.ui-datepicker .ui-datepicker-title .ui-datepicker-year {
+  width: 47%;
+}
+.ui-datepicker .ui-datepicker-title .ui-datepicker-month {
+  margin-right: 6%;
+}
+.ui-datepicker .ui-datepicker-title .ui-datepicker-month-year {
+  width: 100%;
+}
+.ui-datepicker table {
+  width: 100%;
+  font-size: 12px;
+}
+.ui-datepicker th {
+  font-size: 12px;
+}
+.ui-datepicker td {
+  padding: 0;
+}
+.ui-datepicker td span,
+.ui-datepicker td a {
+  color: #000000;
+  display: block;
+  line-height: 14px;
+  padding: 4px;
+  text-align: right;
+  text-decoration: none;
+}
+.ui-datepicker .ui-datepicker-buttonpane {
+  overflow: hidden;
+  padding-top: 10px;
+}
+.ui-datepicker .ui-datepicker-buttonpane button {
+  float: right;
+}
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
+  float: left;
+}
+.ui-datepicker .ui-datepicker-calendar {
+  background: #ffffff;
+  border: 1px solid #cfcfcf;
+}
+.ui-datepicker .ui-datepicker-calendar th {
+  background: #efefef;
+  border: 1px solid #cfcfcf;
+  padding: 4px;
+  text-transform: uppercase;
+}
+.ui-datepicker .ui-datepicker-calendar td {
+  border: 1px solid #cfcfcf;
+}
+.ui-datepicker .ui-datepicker-calendar td a {
+  padding: 4px;
+  display: block;
+}
+.ui-datepicker .ui-datepicker-calendar td .ui-state-hover:hover {
+  background: #f9eae7;
+}
+.ui-datepicker .ui-datepicker-calendar .ui-datepicker-week-col {
+  text-align: center;
+  border: 1px solid #cfcfcf;
+}
+.ui-datepicker .ui-datepicker-calendar .ui-datepicker-today {
+  background: #f3d7d2;
+}
+.ui-datepicker .ui-datepicker-calendar .ui-state-active {
+  background: #f77653;
+}
+.ui-datepicker .ui-datepicker-calendar .ui-state-disabled {
+  background: #f9f9f9;
+}
+.ui-datepicker .ui-datepicker-calendar .ui-state-disabled span {
+  color: #959595;
+}
+.ui-datepicker-rtl {
+  direction: rtl;
+}
+.ui-datepicker-rtl .ui-datepicker-prev {
+  right: 2px;
+  left: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-prev:hover {
+  right: 1px;
+  left: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-next {
+  left: 2px;
+  right: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-next:hover {
+  left: 1px;
+  right: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane {
+  clear: right;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane button {
+  float: left;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current {
+  float: right;
+}
+.ui-datepicker-rtl .ui-datepicker-group {
+  float: right;
+}
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header {
+  border-right-width: 0;
+  border-left-width: 1px;
+}
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
+  border-right-width: 0;
+  border-left-width: 1px;
+}
+.ui-timepicker-div {
+  padding: 10px 0 5px 0;
+}
+.ui-timepicker-div .ui-widget-header {
+  margin-bottom: 8px;
+}
+.ui-timepicker-div dl {
+  text-align: left;
+}
+.ui-timepicker-div dl dt {
+  height: 25px;
+  margin-bottom: -22px;
+}
+.ui-timepicker-div dl dd {
+  margin: 0 10px 10px 65px;
+}
+.ui-timepicker-div dl .ui_tpicker_time_label {
+  margin-bottom: -25px;
+}
+.ui-timepicker-div td {
+  font-size: 90%;
+}
+.ui-tpicker-grid-label {
+  background: none;
+  border: none;
+  margin: 0;
+  padding: 0;
+}
+.ui-slider {
+  position: relative;
+  text-align: left;
+}
+.ui-slider .ui-slider-handle {
+  position: absolute;
+  z-index: 2;
+  cursor: default;
+}
+.ui-slider-horizontal {
+  border-radius: 10px;
+  border: none;
+  background: #efefef;
+  height: 10px;
+}
+.ui-slider-horizontal .ui-slider-handle {
+  margin-left: -5px;
+  height: 10px;
+  width: 10px;
+  border-radius: 10px;
+  background: #da370a;
+  display: block;
+  position: absolute;
+}
+.clearlessgrid1 {
+  width: 100%;
+}
+.clearlessgrid1 > .grid-1 {
+  float: left;
+  margin-right: 0%;
+  width: 100%;
+  margin-right: 0;
+  float: right;
+}
+.clearlessgrid2 {
+  width: 100%;
+}
+.clearlessgrid2 .main {
+  float: left;
+  margin-right: 0%;
+  width: 75%;
+}
+.clearlessgrid2 .sidebar {
+  float: left;
+  margin-right: 0%;
+  width: 25%;
+  margin-right: 0;
+  float: right;
+}
+.clearlessgrid3 {
+  width: 100%;
+}
+.clearlessgrid3 .main {
+  float: left;
+  margin-right: 0%;
+  width: 75%;
+  margin-right: 0;
+  float: right;
+}
+.clearlessgrid3 .sidebar {
+  float: left;
+  margin-right: 0%;
+  width: 25%;
+}
+.clearlessgrid4 {
+  width: 100%;
+}
+.clearlessgrid4 .main {
+  float: left;
+  margin-right: 0%;
+  width: 50%;
+}
+.clearlessgrid4 .sidebar1,
+.clearlessgrid4 .sidebar2 {
+  float: left;
+  margin-right: 0%;
+  width: 25%;
+}
+.clearlessgrid4 .sidebar2 {
+  margin-right: 0;
+  float: right;
+}
+.clearlessgrid5 {
+  width: 100%;
+}
+.clearlessgrid5 > .grid-1 {
+  float: left;
+  margin-right: 0%;
+  width: 25%;
+}
+.clearlessgrid5 > .grid-1:last-child {
+  margin-right: 0;
+  float: right;
+}
+.clearlessgrid6 {
+  width: 100%;
+}
+.clearlessgrid6 > .grid-1 {
+  float: left;
+  margin-right: 0%;
+  width: 16.666666666666664%;
+}
+.clearlessgrid6 > .grid-1:last-child {
+  margin-right: 0;
+  float: right;
+}
+.clearlessgrid12 {
+  width: 100%;
+}
+.clearlessgrid12 > .grid-1 {
+  float: left;
+  margin-right: 0%;
+  width: 8.333333333333332%;
+}
+.clearlessgrid12 > .grid-1:last-child {
+  margin-right: 0;
+  float: right;
+}
+.inlinegrid1 {
+  letter-spacing: -0.31em;
+  *letter-spacing: normal;
+  word-spacing: -0.43em;
+}
+.inlinegrid1 > .grid-1 {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 100%;
+  margin-right: 0;
+}
+.inlinegrid2 {
+  letter-spacing: -0.31em;
+  *letter-spacing: normal;
+  word-spacing: -0.43em;
+}
+.inlinegrid2 .main {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 75%;
+}
+.inlinegrid2 .sidebar {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 25%;
+  margin-right: 0;
+}
+.inlinegrid3 {
+  letter-spacing: -0.31em;
+  *letter-spacing: normal;
+  word-spacing: -0.43em;
+}
+.inlinegrid3 .main {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 75%;
+  margin-right: 0;
+}
+.inlinegrid3 .sidebar {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 25%;
+}
+.inlinegrid4 {
+  letter-spacing: -0.31em;
+  *letter-spacing: normal;
+  word-spacing: -0.43em;
+}
+.inlinegrid4 .main {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 50%;
+}
+.inlinegrid4 .sidebar1,
+.inlinegrid4 .sidebar2 {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 25%;
+}
+.inlinegrid4 .sidebar2 {
+  margin-right: 0;
+}
+.inlinegrid5 {
+  letter-spacing: -0.31em;
+  *letter-spacing: normal;
+  word-spacing: -0.43em;
+}
+.inlinegrid5 > .grid-1 {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 25%;
+}
+.inlinegrid5 > .grid-1:last-child {
+  margin-right: 0;
+}
+.inlinegrid6 {
+  letter-spacing: -0.31em;
+  *letter-spacing: normal;
+  word-spacing: -0.43em;
+}
+.inlinegrid6 > .grid-1 {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 16.666666666666664%;
+}
+.inlinegrid6 > .grid-1:last-child {
+  margin-right: 0;
+}
+.inlinegrid12 {
+  letter-spacing: -0.31em;
+  *letter-spacing: normal;
+  word-spacing: -0.43em;
+}
+.inlinegrid12 > .grid-1 {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 8.333333333333332%;
+}
+.inlinegrid12 > .grid-1:last-child {
+  margin-right: 0;
+}
+.gridwrapper > div,
+.inlinegridwrapper > div {
+  background: #e5e5e5;
+  border: 1px solid #999;
+  padding: 5px 0;
+  text-align: center;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+}
+.example.icon {
+  display: inline-block;
+  margin: 0 0 16px;
+  width: 20%;
+  text-align: center;
+}
+.example.icon:before {
+  font-family: "icons";
+  font-size: 32px;
+  line-height: 32px;
+  height: 32px;
+  margin: 0 0 10px 0;
+  overflow: hidden;
+  content: "";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.example.icon:before {
+  content: attr(data-icon);
+  display: block;
+}
+.example.icon:hover {
+  color: #55c2e6;
+}
+.action.showcart1:before {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0 5px 0 0;
+  overflow: hidden;
+  content: "\e014";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.showcart2:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0 0 0 10px;
+  overflow: hidden;
+  content: "\e014";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.showcart3 {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.action.showcart3:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 10px;
+  overflow: hidden;
+  content: "\e014";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.showcart3:active {
+  outline: 0;
+}
+.action.showcart3:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+ul.messages {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.message.base,
+.message.error,
+.message.success,
+.message.notice,
+.message.info,
+.error-msg,
+.success-msg,
+.notice-msg,
+.note-msg {
+  display: block;
+  *zoom: 1;
+  padding: 13px 60px 12px 20px;
+  margin: 3px 0 3px;
+  border-radius: 3px;
+  position: relative;
+  line-height: 16px;
+  z-index: 1;
+}
+.message.base:before,
+.message.base:after,
+.message.error:before,
+.message.error:after,
+.message.success:before,
+.message.success:after,
+.message.notice:before,
+.message.notice:after,
+.message.info:before,
+.message.info:after,
+.error-msg:before,
+.error-msg:after,
+.success-msg:before,
+.success-msg:after,
+.notice-msg:before,
+.notice-msg:after,
+.note-msg:before,
+.note-msg:after {
+  content: "";
+  display: table;
+}
+.message.base:after,
+.message.error:after,
+.message.success:after,
+.message.notice:after,
+.message.info:after,
+.error-msg:after,
+.success-msg:after,
+.notice-msg:after,
+.note-msg:after {
+  clear: both;
+}
+.message.base:before,
+.message.error:before,
+.message.success:before,
+.message.notice:before,
+.message.info:before,
+.error-msg:before,
+.success-msg:before,
+.notice-msg:before,
+.note-msg:before {
+  content: '';
+  position: absolute;
+  width: 31px;
+  text-align: center;
+  right: 0;
+  top: 0;
+  height: 100%;
+  display: block;
+  padding: 0;
+  border-radius: 3px;
+  z-index: 1;
+}
+.message.base > *:first-child:before,
+.message.error > *:first-child:before,
+.message.success > *:first-child:before,
+.message.notice > *:first-child:before,
+.message.info > *:first-child:before,
+.error-msg > *:first-child:before,
+.success-msg > *:first-child:before,
+.notice-msg > *:first-child:before,
+.note-msg > *:first-child:before {
+  content: '';
+  width: 0;
+  height: 0;
+  border: 5px solid transparent;
+  border-right-color: #ffc000;
+  position: absolute;
+  overflow: hidden;
+  top: 50%;
+  margin-top: -3px;
+  right: 31px;
+  z-index: 2;
+}
+.message.base > *:first-child:after,
+.message.error > *:first-child:after,
+.message.success > *:first-child:after,
+.message.notice > *:first-child:after,
+.message.info > *:first-child:after,
+.error-msg > *:first-child:after,
+.success-msg > *:first-child:after,
+.notice-msg > *:first-child:after,
+.note-msg > *:first-child:after {
+  font-family: "icons";
+  color: #ffffff;
+  font-size: 20px;
+  line-height: 20px;
+  position: absolute;
+  top: 50%;
+  right: 0;
+  margin-top: -10px;
+  width: 31px;
+  text-align: center;
+  display: block;
+  z-index: 3;
+}
+.message.base ul,
+.message.error ul,
+.message.success ul,
+.message.notice ul,
+.message.info ul,
+.error-msg ul,
+.success-msg ul,
+.notice-msg ul,
+.note-msg ul {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.message.base li,
+.message.error li,
+.message.success li,
+.message.notice li,
+.message.info li,
+.error-msg li,
+.success-msg li,
+.notice-msg li,
+.note-msg li {
+  margin-top: 5px;
+}
+.message.base li:first-child,
+.message.error li:first-child,
+.message.success li:first-child,
+.message.notice li:first-child,
+.message.info li:first-child,
+.error-msg li:first-child,
+.success-msg li:first-child,
+.notice-msg li:first-child,
+.note-msg li:first-child {
+  margin-top: 0;
+}
+.message.error,
+.error-msg,
+.error-msg {
+  background: #ffd9d0;
+  color: #911c00;
+}
+.message.error:before,
+.error-msg:before {
+  background: #ff3200;
+}
+.message.error > *:first-child:before,
+.error-msg > *:first-child:before {
+  border-right-color: #ff3200;
+}
+.message.error > *:first-child:after,
+.error-msg > *:first-child:after {
+  content: "\e00e";
+}
+.message.success,
+.success-msg,
+.success-msg {
+  background: #d3edd5;
+  color: #1b6720;
+}
+.message.success:before,
+.success-msg:before {
+  background: #42b649;
+}
+.message.success > *:first-child:before,
+.success-msg > *:first-child:before {
+  border-right-color: #42b649;
+}
+.message.success > *:first-child:after,
+.success-msg > *:first-child:after {
+  content: "\e013";
+}
+.message.notice,
+.notice-msg,
+.note-msg,
+.notice-msg,
+.note-msg {
+  background: #ffedb8;
+  color: #926e00;
+}
+.message.notice:before,
+.notice-msg:before,
+.note-msg:before {
+  background: #ffc000;
+}
+.message.notice > *:first-child:before,
+.notice-msg > *:first-child:before,
+.note-msg > *:first-child:before {
+  border-right-color: #ffc000;
+}
+.message.notice > *:first-child:after,
+.notice-msg > *:first-child:after,
+.note-msg > *:first-child:after {
+  content: "\e00a";
+}
+.message.info {
+  background: #ffedb8;
+  color: #926e00;
+  border: 1px solid #ffe085;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+}
+.message.info:before {
+  background: #ffc000;
+  top: -2px;
+  height: auto;
+  bottom: -2px;
+}
+.message.info > *:first-child:before {
+  border-right-color: #ffc000;
+}
+.message.info > *:first-child:after {
+  content: "\e00a";
+}
+.navigation {
+  background-color: #d6d7d2;
+  background-image: url("../images/header-bg.jpg");
+  background-repeat: repeat;
+  background-position: 0 0;
+  border-top: 1px solid;
+  border-color: #f6f6f5;
+  position: relative;
+  z-index: 2;
+  *zoom: 1;
+}
+.navigation:before,
+.navigation:after {
+  content: "";
+  display: table;
+}
+.navigation:after {
+  clear: both;
+}
+.navigation > ul > .level-top {
+  display: inline-block;
+  line-height: 1.2;
+  vertical-align: top;
+  padding-right: 40px;
+}
+.navigation > ul > .level-top:last-child {
+  padding-right: 0;
+}
+.navigation > ul > .level-top.active > a:after {
+  opacity: 1;
+  border-bottom-color: #ffffff;
+}
+.navigation > ul > .level-top.hover > a:after {
+  border-bottom-color: #f8f8f8;
+}
+.navigation > ul > .level-top.hover > .submenu {
+  border-bottom: 1px solid #c2c2c2;
+}
+.navigation > ul > .level-top.hover > .submenu,
+.navigation > ul > .level-top:hover > .submenu {
+  z-index: 2;
+}
+.navigation > ul > .level-top.hover:hover > a span,
+.navigation > ul > .level-top:hover:hover > a span,
+.navigation > ul > .level-top.hover.parent.hover > a span,
+.navigation > ul > .level-top:hover.parent.hover > a span,
+.navigation > ul > .level-top.hover.parent > a span,
+.navigation > ul > .level-top:hover.parent > a span {
+  color: #675f55;
+}
+.navigation > ul > .level-top.hover:hover > a:after,
+.navigation > ul > .level-top:hover:hover > a:after,
+.navigation > ul > .level-top.hover.hover > a:after,
+.navigation > ul > .level-top:hover.hover > a:after,
+.navigation > ul > .level-top.hover.parent > a:after,
+.navigation > ul > .level-top:hover.parent > a:after {
+  opacity: 1;
+}
+.navigation > ul > .level-top.more:after {
+  cursor: pointer;
+  content: "\e010";
+  font-family: "icons";
+  font-size: 16px;
+  display: inline-block;
+  padding: .6em .7em 1em;
+  margin-top: 0.4em;
+  border-radius: 4px 4px 0 0;
+  position: relative;
+  z-index: 1;
+}
+.navigation > ul > .level-top.more.hover:after {
+  background: #f8f8f8;
+}
+.navigation > ul > .level-top.more li.level-top {
+  width: 200px;
+  margin: 0 0 0 -10px !important;
+  padding: 7px 10px 7px 30px;
+}
+.navigation > ul > .level-top.more li.level-top > a {
+  font-size: 16px;
+}
+.navigation > ul > .level-top.more li.level-top.hover,
+.navigation > ul > .level-top.more li.level-top:hover {
+  background: #f8f8f8;
+}
+.navigation > ul > .level-top.more li.level-top.hover > a span,
+.navigation > ul > .level-top.more li.level-top:hover > a span {
+  color: #675f55;
+}
+.navigation > ul > .level-top.more li.level-top.hover.parent:before,
+.navigation > ul > .level-top.more li.level-top:hover.parent:before {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0 8px 0 0;
+  overflow: hidden;
+  content: "\e01a";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.navigation > ul > .level-top.more li.level-top.hover.parent:before,
+.navigation > ul > .level-top.more li.level-top:hover.parent:before {
+  float: right;
+  color: #da370a;
+}
+.navigation > ul > .level-top.more li.level-top.hover .submenu,
+.navigation > ul > .level-top.more li.level-top:hover .submenu {
+  display: block !important;
+}
+.navigation > ul > .level-top.more li.level-top > a span {
+  color: #837d75;
+}
+.navigation > ul > .level-top.more li.level-top .submenu {
+  display: none;
+}
+.navigation > ul > .level-top.more li.level-top > .submenu {
+  position: absolute;
+  right: 0;
+  padding: 0;
+  left: 0;
+  top: 0;
+  margin-left: 230px;
+  min-height: 100%;
+  background: #f8f8f8;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  -webkit-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.3);
+  -moz-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.3);
+  box-shadow: 0 10px 8px rgba(0, 0, 0, 0.3);
+}
+.no-boxshadow .navigation > ul > .level-top.more li.level-top > .submenu {
+  border: 2px solid #c2c2c2;
+  border-width: 0 2px 2px;
+}
+.navigation > ul > .level-top.more li.level-top > .submenu > ul {
+  background: #f8f8f8;
+  position: relative;
+  z-index: 1;
+  padding: 10px;
+}
+.navigation > ul > .level-top.more > .submenu {
+  background: none;
+  border-width: 0;
+}
+.navigation > ul > .level-top.more > .submenu > ul {
+  position: relative;
+}
+.navigation > ul > .level-top > a {
+  position: relative;
+  display: inline-block;
+  vertical-align: top;
+  padding: 1em 0;
+  font-size: 16px;
+  text-align: center;
+  color: #837d75;
+}
+.navigation > ul > .level-top > a:after {
+  opacity: 0;
+  content: '';
+  overflow: hidden;
+  display: block;
+  position: absolute;
+  bottom: 0;
+  left: 50%;
+  zoom: 1;
+  z-index: 2;
+  color: #675f55;
+  width: 0;
+  height: 0;
+  border: 10px solid transparent;
+}
+.navigation > ul > .level-top > a > span {
+  color: #837d75;
+}
+.navigation > ul > .level-top > a:active span,
+.navigation > ul > .level-top > a:focus span {
+  color: #675f55;
+}
+.navigation > ul > .level-top > a:active:after,
+.navigation > ul > .level-top > a:focus:after {
+  opacity: 1;
+}
+.navigation > ul > .level-top > .submenu {
+  display: none;
+  position: absolute;
+  left: 0;
+  top: 100%;
+  background: #f8f8f8;
+  width: 100%;
+  z-index: 1;
+}
+.navigation > ul > .level-top > .submenu > ul {
+  height: auto;
+  padding-top: 45px;
+  padding-bottom: 45px;
+}
+.navigation > ul > .level-top > .submenu > ul li.column {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  width: 25%;
+  display: inline-block;
+  padding-right: 30px;
+  vertical-align: top;
+}
+.navigation > ul > .level-top > .submenu > ul .level1 > a {
+  text-transform: uppercase;
+}
+.navigation > ul > .level-top > .submenu > ul .parent ul {
+  padding-left: 10px;
+}
+.navigation > ul > .level-top > .submenu > ul li {
+  margin: 8px 0;
+}
+.navigation > ul > .level-top > .submenu > ul li:fist-child {
+  margin-top: 0;
+}
+@media only screen and (max-width: 640px) {
+  html {
+    height: 100%;
+    min-width: 0;
+    overflow: hidden;
+  }
+  body {
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+    position: relative;
+    height: 100%;
+    width: 100%;
+    overflow: hidden;
+  }
+  body.opened .navigation {
+    left: 0;
+  }
+  body.opened .page.wrapper {
+    margin-right: -86%;
+    cursor: pointer;
+  }
+  .page.wrapper {
+    position: relative;
+    width: 100%;
+    float: right;
+    margin: 0;
+    -webkit-transition: margin 0.3s ease-out 0;
+    -moz-transition: margin 0.3s ease-out 0;
+    transition: margin 0.3s ease-out 0;
+  }
+  .navigation {
+    display: block;
+    position: absolute;
+    width: 86%;
+    left: -86%;
+    height: 100%;
+    background: #ffffff;
+    overflow-x: hidden;
+    border-right: #b6b8af 1px solid;
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+    -webkit-transition: left 0.3s ease-out 0;
+    -moz-transition: left 0.3s ease-out 0;
+    transition: left 0.3s ease-out 0;
+  }
+  .navigation ul {
+    margin: 0;
+    padding: 0;
+  }
+  .navigation ul li.hidden {
+    display: none;
+  }
+  .navigation > ul {
+    -webkit-transition: left 0.3s linear 0;
+    -moz-transition: left 0.3s linear 0;
+    transition: left 0.3s linear 0;
+    position: relative;
+    overflow: hidden;
+  }
+  .navigation > ul > .level-top {
+    display: block;
+    padding: 0;
+    background: #ffffff;
+  }
+  .navigation > ul > .level-top > a {
+    display: block;
+    padding: 10px 20px;
+    text-transform: none;
+    font-size: 20px;
+    font-weight: 600;
+    border-bottom: 1px solid #e5e5e5;
+    color: #675f55;
+    text-align: left;
+  }
+  .navigation > ul > .level-top > a:hover,
+  .navigation > ul > .level-top > a:visited {
+    color: #675f55;
+  }
+  .navigation > ul > .level-top > a:active {
+    background: #dbdcd7;
+  }
+  .navigation > ul > .level-top > a:after {
+    border: 0;
+  }
+  .navigation > ul > .level-top.parent:after {
+    display: none;
+  }
+  .navigation > ul > .level-top.parent > a {
+    position: relative;
+    text-transform: none !important;
+  }
+  .navigation > ul > .level-top.parent > a:after {
+    font-family: "icons";
+    font-size: 18px;
+    line-height: 18px;
+    height: 18px;
+    margin: 0;
+    overflow: hidden;
+    content: "\e01a";
+    font-style: normal;
+    speak: none;
+    font-weight: normal;
+    -webkit-font-smoothing: antialiased;
+    display: inline-block;
+    vertical-align: middle;
+    text-align: center;
+  }
+  .navigation > ul > .level-top.parent > a:after {
+    position: absolute;
+    width: 18px;
+    top: 12px;
+    right: 17px;
+    left: auto;
+    opacity: 1;
+    z-index: auto;
+  }
+  .navigation > ul > .level-top.parent > .submenu {
+    position: absolute;
+    display: block;
+    left: 100%;
+    top: 0;
+    width: 100%;
+    overflow-x: hidden;
+    background: #ffffff;
+    -webkit-transition: left 0.3s ease-out 0;
+    -moz-transition: left 0.3s ease-out 0;
+    transition: left 0.3s ease-out 0;
+  }
+  .navigation > ul > .level-top.parent > .submenu.opened {
+    left: 0;
+    z-index: 3;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul {
+    padding-top: 0;
+    padding-bottom: 0;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul li {
+    margin: 0;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul li > a {
+    display: block;
+    padding: 10px 20px;
+    text-transform: none;
+    font-size: 20px;
+    font-weight: 600;
+    border-bottom: 1px solid #e5e5e5;
+    color: #675f55;
+    text-align: left;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul li > a:hover,
+  .navigation > ul > .level-top.parent > .submenu > ul li > a:visited {
+    color: #675f55;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul li > a:active {
+    background: #dbdcd7;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul li > a:after {
+    border: 0;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul li.column {
+    width: 100%;
+    display: block;
+    padding-right: 0;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul .parent ul {
+    padding-left: 0;
+  }
+  .navigation .action.back a {
+    background: #675f55;
+    position: relative;
+    color: #ffffff !important;
+    border-bottom-color: transparent;
+    cursor: pointer;
+  }
+  .navigation .action.back a:before {
+    font-family: "icons";
+    font-size: 18px;
+    line-height: 18px;
+    height: 18px;
+    margin: 0;
+    overflow: hidden;
+    content: "\e01b";
+    font-style: normal;
+    speak: none;
+    font-weight: normal;
+    -webkit-font-smoothing: antialiased;
+    display: inline-block;
+    vertical-align: middle;
+    text-align: center;
+  }
+  .navigation .action.back a:hover,
+  .navigation .action.back a:active,
+  .navigation .action.back a:visited {
+    color: #ffffff !important;
+    background: #675f55 !important;
+  }
+  .navigation .action.back a:before {
+    position: absolute;
+    top: 12px;
+    left: 3px;
+  }
+  .navigation .action.back a span:before {
+    content: "";
+  }
+  .navigation .parent:after {
+    display: none;
+  }
+  .navigation .parent > a {
+    position: relative;
+  }
+  .navigation .parent > a:after {
+    font-family: "icons";
+    font-size: 18px;
+    line-height: 18px;
+    height: 18px;
+    margin: 0;
+    overflow: hidden;
+    content: "\e01a";
+    font-style: normal;
+    speak: none;
+    font-weight: normal;
+    -webkit-font-smoothing: antialiased;
+    display: inline-block;
+    vertical-align: middle;
+    text-align: center;
+  }
+  .navigation .parent > a:after {
+    position: absolute;
+    width: 18px;
+    top: 16px;
+    right: 17px;
+    left: auto;
+    opacity: 1;
+    z-index: auto;
+  }
+  .navigation .parent .submenu {
+    position: absolute;
+    display: block;
+    left: 100%;
+    top: 0;
+    width: 100%;
+    overflow-x: hidden;
+    background: #ffffff;
+    -webkit-transition: left 0.3s ease-out 0;
+    -moz-transition: left 0.3s ease-out 0;
+    transition: left 0.3s ease-out 0;
+  }
+  .navigation .parent .submenu.opened {
+    left: 0;
+    z-index: 3;
+  }
+  .navigation .parent .submenu > ul {
+    padding-top: 0;
+    padding-bottom: 0;
+  }
+  .navigation .parent .submenu > ul li {
+    margin: 0;
+  }
+  .navigation .parent .submenu > ul li > a {
+    display: block;
+    padding: 10px 20px;
+    text-transform: none;
+    font-size: 20px;
+    font-weight: 600;
+    border-bottom: 1px solid #e5e5e5;
+    color: #675f55;
+    text-align: left;
+  }
+  .navigation .parent .submenu > ul li > a:hover,
+  .navigation .parent .submenu > ul li > a:visited {
+    color: #675f55;
+  }
+  .navigation .parent .submenu > ul li > a:active {
+    background: #dbdcd7;
+  }
+  .navigation .parent .submenu > ul li > a:after {
+    border: 0;
+  }
+  .navigation .parent .submenu > ul li.column {
+    width: 100%;
+    display: block;
+    padding-right: 0;
+  }
+  .navigation .parent .submenu > ul .parent ul {
+    padding-left: 0;
+  }
+  .action.toggle.nav {
+    margin-top: 19px;
+    position: absolute;
+    top: 0;
+    left: 20px;
+    font-size: 0;
+    width: 32px;
+    display: block;
+    line-height: 0;
+    white-space: nowrap;
+    vertical-align: middle;
+    text-align: center;
+    text-indent: -999em;
+    cursor: pointer;
+  }
+  .action.toggle.nav:after {
+    font-family: "icons";
+    font-size: 32px;
+    line-height: 32px;
+    height: 32px;
+    margin: 0;
+    overflow: hidden;
+    content: "\e007";
+    font-style: normal;
+    speak: none;
+    font-weight: normal;
+    -webkit-font-smoothing: antialiased;
+    display: inline-block;
+    vertical-align: middle;
+    text-align: center;
+  }
+  .action.toggle.nav:active {
+    outline: 0;
+  }
+  .action.toggle.nav:after {
+    text-indent: 0;
+    display: block;
+    margin: 0;
+  }
+  .action.toggle.nav:before {
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    left: -100%;
+    top: -20px;
+    padding: 20px 0;
+    content: "";
+  }
+  .active-nav .action.toggle.nav:before {
+    position: fixed;
+    padding: 0;
+    left: 86%;
+    right: 0;
+    top: 0;
+    bottom: 0;
+  }
+  .header {
+    padding: 0;
+    position: relative;
+    margin-bottom: 35px;
+  }
+}
+@media only screen and (max-width: 99999px) {
+  .product.data {
+    *zoom: 1;
+    position: relative;
+    z-index: 1;
+  }
+  .product.data:before,
+  .product.data:after {
+    content: "";
+    display: table;
+  }
+  .product.data:after {
+    clear: both;
+  }
+  .product.data > .item.title {
+    float: left;
+  }
+  .product.data > .item.title > .switch {
+    display: block;
+    position: relative;
+    top: 1px;
+    z-index: 2;
+  }
+  .product.data > .item.content {
+    width: 100%;
+    float: right;
+    margin-left: -100%;
+    display: none;
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+  }
+  .product.data > .item.content.active {
+    display: block;
+  }
+  .product.data .tabs > .term-content.active {
+    border: 1px solid #BFBFBF;
+    color: #808080;
+    display: block;
+  }
+  .product.data > .item.title {
+    margin-right: 1px;
+    min-height: 35px;
+  }
+  .product.data > .item.title > .switch {
+    font-size: 14px;
+    line-height: 1;
+    font-weight: 600;
+    text-decoration: none;
+    padding: 11px 11px 8px;
+    border: 2px solid #e5e5e5;
+    background: rgba(0, 0, 0, 0.03);
+    border-bottom: none;
+    text-transform: uppercase;
+    border-radius: 4px 4px 0 0;
+  }
+  .product.data > .item.title:not(.disabled) > .switch:active,
+  .product.data > .item.title:not(.disabled) > .switch:focus,
+  .product.data > .item.title:not(.disabled) > .switch:hover,
+  .product.data > .item.title.active > .switch {
+    background: #fff;
+    border-width: 3px;
+    padding: 10px 10px 8px;
+    outline: none;
+  }
+  .product.data > .item.title.active > .switch {
+    padding: 10px 20px 11px !important;
+  }
+  .product.data > .item.content {
+    *zoom: 1;
+    margin-top: 36px;
+    padding: 20px;
+  }
+  .product.data > .item.content:before,
+  .product.data > .item.content:after {
+    content: "";
+    display: table;
+  }
+  .product.data > .item.content:after {
+    clear: both;
+  }
+  .product.data > .item.content:before {
+    content: '';
+    border-top: 3px solid #e5e5e5;
+    width: 100%;
+    display: block;
+    position: absolute;
+    left: 0;
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+    margin: -20px 0 20px;
+  }
+}
+@media only screen and (max-width: 768px) {
+  .product.data {
+    margin: 0;
+    padding: 0;
+  }
+  .product.data > .item.title {
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+    width: 100%;
+  }
+  .product.data > .item.title > .item.switch {
+    display: block;
+  }
+  .product.data > .item.content {
+    *zoom: 1;
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+    display: none;
+  }
+  .product.data > .item.content:before,
+  .product.data > .item.content:after {
+    content: "";
+    display: table;
+  }
+  .product.data > .item.content:after {
+    clear: both;
+  }
+  .product.data > .item.content.active {
+    display: block;
+  }
+  .product.data > .item.title {
+    margin: 3px 0 0;
+  }
+  .product.data > .item.title > .switch {
+    display: block;
+    font-size: 14px;
+    line-height: 1;
+    font-weight: 600;
+    text-decoration: none;
+    padding: 11px;
+    border: 2px solid #e5e5e5;
+    background: #f8f8f8;
+    text-transform: uppercase;
+    border-radius: 4px;
+  }
+  .product.data > .item.title:not(.disabled) > .switch:active,
+  .product.data > .item.title:not(.disabled) > .switch:focus,
+  .product.data > .item.title:not(.disabled) > .switch:hover,
+  .product.data > .item.title.active > .switch {
+    background: #fff;
+    border-width: 3px;
+    padding: 10px;
+    outline: none;
+  }
+  .product.data > .item.title.active > .switch {
+    border-radius: 4px 4px 0 0;
+  }
+  .product.data > .item.content {
+    margin: 0;
+    padding: 20px;
+    background: #fff;
+  }
+}
+.block.search input {
+  border-radius: 3px 0 0 3px;
+  border-right: 0;
+  float: left;
+  width: 100%;
+}
+.block.search input:focus {
+  border-color: #c2c2c2;
+}
+.block.search .field .control {
+  width: 260px;
+}
+.block.search .label,
+.block.search > .title,
+.block.search .action.advanced {
+  display: none;
+}
+.block.search .action.search {
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 0 3px 3px 0;
+  color: #c2c2c2;
+  float: left;
+  padding: 7px;
+}
+.block.search .action.search:hover {
+  color: #675f55;
+}
+.block.search .action.search span {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.block.search .action.search span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e005";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.block.search .action.search span:active {
+  outline: 0;
+}
+.block.search .action.search span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.block.search .action.search .search.autocomplete {
+  display: none !important;
+}
+.block.search ::-webkit-input-placeholder {
+  color: #999999;
+}
+.block.search :-moz-placeholder {
+  color: #999999;
+}
+.block.search ::-moz-placeholder {
+  color: #999999;
+}
+.block.search :-ms-input-placeholder {
+  color: #999999;
+}
+.block.newsletter > .title {
+  display: none;
+}
+.block.newsletter .label {
+  display: block;
+  font-size: 16px;
+  line-height: 1.2;
+  margin-bottom: 10px;
+}
+.block.newsletter .control {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+  padding-right: 45px;
+  width: 100%;
+}
+.block.newsletter input[type="text"] {
+  width: 100%;
+}
+.block.newsletter .actions {
+  float: right;
+  margin-left: -45px;
+  padding-left: 10px;
+}
+.block.newsletter .action.subscribe {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #da370a;
+  border-radius: 3px;
+  border: 1px solid #da370a;
+  padding: 7px;
+  vertical-align: top;
+}
+.block.newsletter .action.subscribe:hover {
+  background: #a92b08;
+}
+.block.newsletter .action.subscribe span {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  color: #ffffff;
+}
+.block.newsletter .action.subscribe span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e001";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.block.newsletter .action.subscribe span:active {
+  outline: 0;
+}
+.block.newsletter .action.subscribe span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.breadcrumbs {
+  font-size: 12px;
+}
+.breadcrumbs .items {
+  margin: 0;
+  padding: 0;
+}
+.breadcrumbs .item {
+  display: inline;
+  font-weight: 200;
+}
+.breadcrumbs .item:before {
+  content: " / ";
+}
+.breadcrumbs .item:first-child:before {
+  content: "";
+}
+.breadcrumbs strong {
+  font-weight: 400;
+}
+.pages ol {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.pages .item {
+  display: inline-block;
+}
+.pages a {
+  padding: 0 3px;
+}
+.pages strong {
+  color: #da370a;
+  font-weight: normal;
+  padding: 0 3px;
+}
+.pages > .label {
+  display: none;
+}
+.pages .action {
+  color: #c2c2c2;
+}
+.pages .action.previous {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  display: inline-block;
+}
+.pages .action.previous:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e01b";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.pages .action.previous:active {
+  outline: 0;
+}
+.pages .action.previous:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.pages .action.next {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  display: inline-block;
+}
+.pages .action.next:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e01a";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.pages .action.next:active {
+  outline: 0;
+}
+.pages .action.next:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.pages .action:hover {
+  color: #8f8f8f;
+}
+.modes .label {
+  display: none;
+}
+.modes .mode {
+  border: 1px solid #c2c2c2;
+  color: #c2c2c2;
+  display: inline-block;
+  margin: 0 3px;
+  overflow: hidden;
+  padding: 4px;
+}
+.modes .mode.active {
+  background: #c2c2c2;
+  border-color: #c2c2c2;
+  cursor: default;
+  color: #ffffff;
+}
+.modes .mode.active span {
+  color: #ffffff;
+}
+.modes .mode.active:hover {
+  background: #c2c2c2;
+  border-color: #c2c2c2;
+  color: #ffffff;
+}
+.modes .mode.active:hover span {
+  color: #ffffff;
+}
+.modes .mode:hover {
+  background: #999999;
+  border-color: #999999;
+  color: #ffffff;
+}
+.modes .mode:hover span {
+  color: #ffffff;
+}
+.modes .mode.grid {
+  width: 13px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  display: inline-block;
+}
+.modes .mode.grid:after {
+  font-family: "icons";
+  font-size: 13px;
+  line-height: 13px;
+  height: 13px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e003";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.modes .mode.grid:active {
+  outline: 0;
+}
+.modes .mode.grid:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.modes .mode.list {
+  width: 13px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  display: inline-block;
+}
+.modes .mode.list:after {
+  font-family: "icons";
+  font-size: 13px;
+  line-height: 13px;
+  height: 13px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e002";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.modes .mode.list:active {
+  outline: 0;
+}
+.modes .mode.list:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.sorter .label {
+  font-weight: 400;
+  line-height: 25px;
+  margin-right: 5px;
+}
+.sorter select {
+  padding: 0;
+}
+.sorter .action.sort.desc {
+  width: 13px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  display: inline-block;
+}
+.sorter .action.sort.desc:after {
+  font-family: "icons";
+  font-size: 13px;
+  line-height: 13px;
+  height: 13px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e01c";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.sorter .action.sort.desc:active {
+  outline: 0;
+}
+.sorter .action.sort.desc:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.sorter .action.sort.asc {
+  width: 13px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  display: inline-block;
+}
+.sorter .action.sort.asc:after {
+  font-family: "icons";
+  font-size: 13px;
+  line-height: 13px;
+  height: 13px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e019";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.sorter .action.sort.asc:active {
+  outline: 0;
+}
+.sorter .action.sort.asc:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.limiter .label {
+  font-weight: 400;
+  line-height: 25px;
+  margin-right: 5px;
+}
+.limiter select {
+  padding: 0;
+}
+.limiter .text {
+  display: none;
+}
+.tags.items.cloud {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  margin: 0 0 20px;
+}
+.tags.items.cloud .item {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  display: inline-block;
+  margin: 0 0 5px 5px;
+}
+.tags.items.cloud .item:first-child {
+  margin-left: 0;
+}
+.tags.items.cloud .amount {
+  margin-left: 3px;
+}
+.tags.items.cloud .amount:before {
+  content: '(';
+}
+.tags.items.cloud .amount:after {
+  content: ')';
+}
+.field.ratings {
+  border-bottom: 1px solid;
+  border-color: #d7d7d7;
+  padding-bottom: 15px;
+  margin-bottom: 30px;
+  overflow: hidden;
+  position: relative;
+  z-index: 1;
+}
+.field.ratings .nested {
+  display: table;
+}
+.field.ratings .field.rating {
+  display: table-row;
+}
+.field.ratings .field.rating > .label {
+  display: table-cell;
+  vertical-align: top;
+  padding: 6px 0;
+}
+.field.ratings .field.rating .control {
+  padding: 5px 10px;
+  display: table-cell;
+  z-index: 1;
+}
+.field.ratings .field.rating .control:before {
+  letter-spacing: 0.2em;
+  position: absolute;
+  z-index: 1;
+  display: block;
+  float: left;
+  font-family: "icons";
+  content: "\e009\e009\e009\e009\e009";
+  font-style: normal;
+  font-size: 16px;
+  color: rgba(218, 55, 10, 0.3);
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+}
+.field.ratings .field.rating .control input:focus + label:before,
+.field.ratings .field.rating .control input:checked + label:before {
+  color: #da370a;
+  opacity: 1;
+}
+.field.ratings .field.rating .control input[type="radio"] {
+  position: absolute;
+  margin-left: -999em;
+}
+.field.ratings .field.rating .control label {
+  position: absolute;
+  display: block;
+  cursor: pointer;
+}
+.field.ratings .field.rating .control label span {
+  display: none;
+}
+.field.ratings .field.rating .control label:before {
+  letter-spacing: 0.2em;
+  font-family: "icons";
+  font-style: normal;
+  font-size: 16px;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  opacity: 0;
+}
+.field.ratings .field.rating .control label:hover:before {
+  color: #da370a;
+  opacity: 1;
+}
+.field.ratings .field.rating .control label:hover ~ label:before {
+  opacity: 0 !important;
+}
+.field.ratings .field.rating .control .rating-1 {
+  z-index: 6;
+}
+.field.ratings .field.rating .control .rating-1:before {
+  content: "\e009";
+}
+.field.ratings .field.rating .control .rating-2 {
+  z-index: 5;
+}
+.field.ratings .field.rating .control .rating-2:before {
+  content: "\e009\e009";
+}
+.field.ratings .field.rating .control .rating-3 {
+  z-index: 4;
+}
+.field.ratings .field.rating .control .rating-3:before {
+  content: "\e009\e009\e009";
+}
+.field.ratings .field.rating .control .rating-4 {
+  z-index: 3;
+}
+.field.ratings .field.rating .control .rating-4:before {
+  content: "\e009\e009\e009\e009";
+}
+.field.ratings .field.rating .control .rating-5 {
+  z-index: 2;
+}
+.field.ratings .field.rating .control .rating-5:before {
+  content: "\e009\e009\e009\e009\e009";
+}
+.fieldset.login {
+  margin: 0;
+  padding: 0;
+}
+.fieldset.login > .field {
+  *zoom: 1;
+}
+.fieldset.login > .field:before,
+.fieldset.login > .field:after {
+  content: "";
+  display: table;
+}
+.fieldset.login > .field:after {
+  clear: both;
+}
+.fieldset.login > .field > .label {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+  margin: 0;
+  padding-right: 10px;
+  padding-top: 7px;
+  text-align: right;
+  width: 40%;
+}
+.fieldset.login > .field > .control {
+  float: left;
+  margin: 0;
+  width: 60%;
+}
+.fieldset.login .actions {
+  text-align: right;
+}
+.fieldset.login .actions .secondary {
+  margin-top: 0.8em;
+}
+.loader {
+  background: url("../images/loader.gif") no-repeat 50% 50%;
+  width: 20px;
+  height: 20px;
+}
+.action.mySecondaryButton.loading {
+  padding-right: 30px;
+  position: relative;
+}
+.action.mySecondaryButton.loading:after {
+  background: url("../images/loader.gif") no-repeat 50% 50%;
+  width: 16px;
+  height: 16px;
+  content: "";
+  margin: -8px 0 0;
+  position: absolute;
+  right: 7px;
+  top: 50%;
+}
+.textUnderLoader {
+  background: #f8f8f8;
+  border: 1px solid #c2c2c2;
+  padding: 10px 20px;
+}
+.textUnderLoader.loading {
+  position: relative;
+}
+.textUnderLoader.loading:before {
+  background: #ffffff;
+  opacity: 0.7;
+  content: "";
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+.textUnderLoader.loading:after {
+  background: url("../images/loader.gif") no-repeat 50% 50%;
+  width: 16px;
+  height: 16px;
+  content: "";
+  margin: -8px 0 0 -8px;
+  position: absolute;
+  left: 50%;
+  top: 50%;
+}
+.opc .fieldset {
+  margin: 20px 0;
+}
+.opc .fieldset .field {
+  display: inline-block;
+  padding-right: 20px;
+  vertical-align: top;
+  width: 50%;
+}
+.opc .fieldset .nested .field {
+  width: 100%;
+}
+.opc .fieldset .actions {
+  margin-right: 30px;
+}
+.opc .field {
+  margin-bottom: 10px;
+}
+.opc .field.fullname + .field.company,
+.opc .field.name-lastname + .field.company,
+.opc .field.country,
+.opc .field.taxvat {
+  margin: 0 40% 30px 0;
+}
+.form-list {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.form-list .required em {
+  display: none;
+}
+.form-list .required:first-child:after {
+  color: #da370a;
+  content: '*';
+}
+.form-list > li {
+  *zoom: 1;
+  margin: 0 0 10px;
+}
+.form-list > li:before,
+.form-list > li:after {
+  content: "";
+  display: table;
+}
+.form-list > li:after {
+  clear: both;
+}
+.form-list > li .field {
+  *zoom: 1;
+  margin: 10px 0 0;
+}
+.form-list > li .field:before,
+.form-list > li .field:after {
+  content: "";
+  display: table;
+}
+.form-list > li .field:after {
+  clear: both;
+}
+.form-list > li .field:first-child {
+  margin: 0;
+}
+.form-list > li > label,
+.form-list > li .field > label {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  clear: left;
+  float: left;
+  padding: 7px 10px 0 0;
+  text-align: right;
+  width: 30%;
+}
+.form-list > li .input-box {
+  float: left;
+  width: 70%;
+}
+.form-list > li .input-box > input,
+.form-list > li .input-box > select,
+.form-list > li .input-box > textarea {
+  width: 100%;
+}
+.form-list > li .input-box > .v-fix {
+  float: left;
+  margin: 0 10px 0 0;
+}
+.cart.summary .fieldset {
+  border: 0;
+  font-size: 12px;
+  padding: 0;
+  margin: 0;
+}
+.cart.summary .fieldset .field {
+  margin: 0 0 10px;
+}
+.cart.summary .fieldset .field:not(.choice) .label {
+  padding: 0 0 5px;
+  display: block;
+}
+.cart.summary .fieldset .action:not(.check) {
+  padding: 6px 11px 5px;
+}
+.cart.summary .fieldset .action:not(.check) span {
+  font-size: 12px;
+  line-height: 12px;
+}
+.cart.summary .fieldset.coupon .actions,
+.cart.summary .fieldset.estimate .actions {
+  display: table-cell;
+  width: 1%;
+  white-space: nowrap;
+  vertical-align: bottom;
+}
+.cart.summary .fieldset.coupon .field,
+.cart.summary .fieldset .field.postcode {
+  display: table-cell;
+  padding-right: 10px;
+  vertical-align: bottom;
+  width: 99%;
+}
+.cart.summary .fieldset.coupon .field div.mage-error,
+.cart.summary .fieldset .field.postcode div.mage-error {
+  position: absolute;
+}
+.cart.summary .fieldset.rates {
+  padding-top: 25px;
+}
+.cart.summary .fieldset.rates .actions {
+  text-align: right;
+}
+.cart.summary .title {
+  cursor: pointer;
+  line-height: 16px;
+  margin: 0;
+  padding: 10px 5px;
+}
+.cart.summary .content {
+  padding: 15px 15px 20px;
+}
+.cart.summary input[type="text"] {
+  padding: 0 5px;
+  font-size: 12px;
+  height: 30px;
+}
+.cart.summary select {
+  padding: 5px 5px 4px;
+  font-size: 12px;
+}
+.cart.summary .items.methods dt {
+  font-weight: 700;
+}
+.cart.summary .items.methods dd {
+  margin: 10px 10px 25px;
+}
+.popup {
+  background: #e5e5e5;
+  border: 1px solid #c2c2c2;
+  display: inline-block;
+  padding: 20px;
+  position: relative;
+}
+.popup .close {
+  color: #999999;
+  cursor: pointer;
+  position: absolute;
+  right: 5px;
+  top: 3px;
+}
+.popup .close:before {
+  font-family: "icons";
+  font-size: 12px;
+  line-height: 12px;
+  height: 12px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e012";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.popup .close:hover {
+  color: #675f55;
+}
+.fade .popup {
+  background: #ffffff;
+  box-shadow: 0 0 10px 0 #999999;
+}
+.popup > .header,
+.popup > .content {
+  margin: 0 0 5px;
+}
+.popup > .header {
+  font-size: 16px;
+  font-weight: 700;
+}
+.popup .actions {
+  margin: 15px 0 0;
+}
+.popup .actions .action.submit {
+  margin-right: 10px;
+}
+.popup.system {
+  background: #ffffff;
+  padding: 0;
+}
+.popup.system > .header {
+  background: #e5e5e5;
+  border-bottom: 1px solid #c2c2c2;
+  border-radius: 5px 5px 0 0;
+  cursor: move;
+  padding: 10px 20px;
+}
+.popup.system > .content {
+  padding: 20px;
+}
+.popup.system > .footer {
+  border-top: 1px solid #c2c2c2;
+  padding: 10px 20px;
+}
+.popup.system .actions {
+  margin: 0;
+}
+.popup.system .close {
+  right: 8px;
+  top: 8px;
+}
+.fade {
+  background-color: rgba(0, 0, 0, 0.5);
+  position: relative;
+  left: 0;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  padding: 10%;
+}
+.tooltip {
+  display: inline-block;
+  vertical-align: middle;
+  line-height: 1.1;
+  cursor: help;
+}
+.tooltip .tooltip-content {
+  display: none;
+  position: absolute;
+  max-width: 500px;
+  margin: 10px 0 0;
+  padding: 8px;
+  background: rgba(0, 0, 0, 0.5);
+  color: #ffffff;
+  border-radius: 3px;
+  z-index: 20;
+}
+.tooltip .tooltip-content:before {
+  content: '';
+  position: absolute;
+  width: 0;
+  height: 0;
+  top: -5px;
+  left: 20px;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-bottom: 5px solid rgba(0, 0, 0, 0.5);
+}
+.tooltip:hover > .tooltip-content {
+  display: block;
+}
+.tipsy {
+  position: absolute;
+  left: 0;
+  top: 0;
+  display: none;
+  padding: 5px;
+  font-size: 16px;
+  z-index: 9999;
+}
+.tipsy .tipsy-inner {
+  padding: 5px 8px 4px;
+  background-color: rgba(0, 0, 0, 0.9);
+  color: #ffffff;
+  max-width: 200px;
+  border-radius: 3px;
+}
+.tipsy .tipsy-arrow {
+  position: absolute;
+  width: 0;
+  height: 0;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-bottom: 5px solid rgba(0, 0, 0, 0.9);
+}
+.tipsy.tipsy-s .tipsy-arrow {
+  top: 0;
+  left: 50%;
+  margin-left: -4px;
+}
+.tipsy.tipsy-se .tipsy-arrow {
+  top: 0;
+  left: 10px;
+}
+.tipsy.tipsy-sw .tipsy-arrow {
+  top: 0;
+  right: 10px;
+}
+.tipsy.tipsy-n .tipsy-arrow,
+.tipsy.tipsy-ne .tipsy-arrow,
+.tipsy.tipsy-nw .tipsy-arrow {
+  bottom: 0;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-top: 5px solid rgba(0, 0, 0, 0.9);
+  border-bottom: none;
+}
+.tipsy.tipsy-n .tipsy-arrow {
+  left: 50%;
+  margin-left: -4px;
+}
+.tipsy.tipsy-ne .tipsy-arrow {
+  left: 10px;
+}
+.tipsy.tipsy-nw .tipsy-arrow {
+  right: 10px;
+}
+.tipsy.tipsy-w .tipsy-arrow,
+.tipsy.tipsy-e .tipsy-arrow {
+  top: 50%;
+  margin-top: -4px;
+  border-top: 5px solid transparent;
+  border-bottom: 5px solid transparent;
+}
+.tipsy.tipsy-w .tipsy-arrow {
+  right: 0;
+  border-right: none;
+  border-left: 5px solid rgba(0, 0, 0, 0.9);
+}
+.tipsy.tipsy-e .tipsy-arrow {
+  left: 0;
+  border-right: 5px solid rgba(0, 0, 0, 0.9);
+  border-left: none;
+}
+.example-tooltips {
+  /*presentation styles*/
+
+  padding: 70px;
+  text-align: center;
+}
+.example-tooltips button {
+  /*presentation styles*/
+
+  width: 70px;
+  height: 70px;
+  font-size: 18px;
+  margin: 10px 5px;
+}
+strong {
+  font-weight: 700;
+}
+.items {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+/*
+    Forms
+-------------------------------------- */
+.field.required > .label > span:first-child:after {
+  content: ' *';
+  color: #da370a;
+}
+/*
+    Magento_Page
+-------------------------------------- */
+html,
+body,
+button,
+input,
+select,
+textarea {
+  color: #675f55;
+  font: 400 14px/1.33 "sourcesanspro";
+}
+html {
+  background: #ffffff;
+}
+body {
+  position: relative;
+}
+.page.wrapper {
+  background: #ffffff;
+}
+/*
+    Page Layout
+-------------------------------------- */
+.columns {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+}
+.page.main {
+  *zoom: 1;
+  clear: both;
+  padding: 30px 0;
+}
+.page.main:before,
+.page.main:after {
+  content: "";
+  display: table;
+}
+.page.main:after {
+  clear: both;
+}
+.page.title {
+  *zoom: 1;
+  margin-bottom: 30px;
+}
+.page.title:before,
+.page.title:after {
+  content: "";
+  display: table;
+}
+.page.title:after {
+  clear: both;
+}
+.page.title .title {
+  display: inline;
+  margin: 0;
+  line-height: 1.2;
+  font-weight: 200;
+  font-size: 30px;
+  color: #837d75;
+}
+.page.title .action {
+  float: right;
+}
+.page.main > .page.title {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  margin-bottom: 30px;
+}
+.column.main {
+  min-height: 500px;
+}
+.column.left,
+.column.right {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  min-height: 1px;
+}
+.col1-layout .column.main {
+  float: left;
+  width: 100%;
+  margin-right: 0%;
+}
+.col2-left-layout .column.main {
+  float: right !important;
+  float: left;
+  width: 83.33333333333334%;
+  margin-right: 0%;
+}
+.col2-left-layout .column.left {
+  float: left;
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  padding-right: 12px;
+}
+.col2-right-layout .column.main {
+  float: left;
+  width: 83.33333333333334%;
+  margin-right: 0%;
+}
+.col2-right-layout .column.right {
+  float: left;
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  padding-left: 12px;
+}
+.col3-layout .column.main {
+  *zoom: 1;
+  float: left;
+  width: 66.66666666666666%;
+  margin-right: 0%;
+  float: none !important;
+  display: inline-block !important;
+  vertical-align: top;
+}
+.col3-layout .column.main:before,
+.col3-layout .column.main:after {
+  content: "";
+  display: table;
+}
+.col3-layout .column.main:after {
+  clear: both;
+}
+.col3-layout .column.left {
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  float: left;
+  padding-right: 12px;
+}
+.col3-layout .column.right {
+  float: left;
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  float: none !important;
+  display: inline-block !important;
+  padding-left: 12px;
+}
+/*
+    Header
+-------------------------------------- */
+.header {
+  background-color: #d6d7d2;
+  background-image: url("../images/header-bg.jpg");
+  background-repeat: repeat;
+  background-position: 0;
+  border-bottom: 1px solid;
+  border-color: #b6b8af;
+  padding: 15px 0;
+}
+.header > .content {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  *zoom: 1;
+  text-align: right;
+}
+.header > .content:before,
+.header > .content:after {
+  content: "";
+  display: table;
+}
+.header > .content:after {
+  clear: both;
+}
+.header > .content .links {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  margin-bottom: 5px;
+}
+.header > .content .links li {
+  margin-left: 20px;
+  display: inline;
+  text-transform: capitalize;
+}
+.header > .content .links a {
+  color: #837d75;
+}
+.header > .content .links a > span {
+  color: #837d75;
+}
+.header > .content .links a:hover,
+.header > .content .links a:hover > span {
+  color: #da370a;
+}
+.header .panel {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  *zoom: 1;
+  margin-bottom: 15px;
+  text-align: right;
+}
+.header .panel:before,
+.header .panel:after {
+  content: "";
+  display: table;
+}
+.header .panel:after {
+  clear: both;
+}
+.logo {
+  font-family: "marvel";
+  font-style: normal;
+  font-weight: 400;
+  font-size: 55px;
+  display: block;
+  float: left;
+  line-height: 1;
+  text-align: center;
+}
+.logo img {
+  display: inline-block;
+  vertical-align: middle;
+  margin: 0 auto;
+}
+.logo span {
+  display: inline-block;
+  vertical-align: middle;
+  margin-left: 15px;
+  color: #837d75;
+  margin-top: -8px;
+}
+.logo:active {
+  outline: 0;
+}
+/*
+    Header Banner
+-------------------------------------- */
+.header .panel .widget {
+  display: inline-block;
+  text-align: left;
+}
+.banner-header:visited,
+.banner-header:hover,
+.banner-header {
+  font-size: 16px;
+  text-transform: uppercase;
+  color: #da370a;
+}
+/*
+    Search
+-------------------------------------- */
+.block.search {
+  float: right;
+}
+.block.search > .content {
+  white-space: nowrap;
+}
+.block.search .field,
+.block.search .actions,
+.block.search .field .control {
+  float: left;
+}
+.block.search .actions {
+  margin-right: 0;
+}
+.block.search .search.autocomplete {
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-width: 0 1px 1px;
+  border-radius: 0 0 5px 5px;
+  z-index: 5;
+}
+.block.search .search.autocomplete ul {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.block.search .search.autocomplete ul li {
+  border-top: 1px solid #e5e5e5;
+  cursor: pointer;
+  padding: 5px 40px 5px 10px;
+  position: relative;
+  text-align: left;
+  white-space: normal;
+}
+.block.search .search.autocomplete ul li:first-child {
+  border-top: none;
+}
+.block.search .search.autocomplete ul li:hover {
+  background: #f8f8f8;
+}
+.block.search .search.autocomplete ul li .amount {
+  color: #999999;
+  font-weight: 600;
+  position: absolute;
+  right: 7px;
+  top: 6px;
+}
+/*
+    Navigation
+-------------------------------------- */
+.navigation {
+  z-index: 4;
+}
+.navigation > ul > .level-top.hover > .submenu,
+.navigation > ul > .level-top:hover > .submenu {
+  z-index: 3;
+}
+.navigation > ul > .level-top.more > .submenu {
+  background: #f8f8f8;
+}
+.navigation > ul > .level-top.more > .submenu > ul {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  position: relative;
+}
+.navigation > ul > .level-top.more.hover > .submenu {
+  border-bottom: 1px solid #c2c2c2;
+  overflow: visible !important;
+}
+.navigation > ul,
+.navigation > ul > .level0 > .submenu > ul.level0 {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  padding-left: 0;
+  padding-right: 0;
+}
+@media only screen and (max-width: 640px) {
+  .navigation > ul {
+    min-width: 100%;
+    max-width: 100%;
+  }
+  .action.toggle.nav {
+    top: 100%;
+  }
+}
+/*
+    General block
+-------------------------------------- */
+.column.main .block,
+.sidebar .block {
+  margin-bottom: 45px;
+}
+.column.main .block > .title,
+.sidebar .block > .title {
+  margin-bottom: 15px;
+}
+.column.main .block > .title strong,
+.sidebar .block > .title strong {
+  line-height: 1.2;
+  font-weight: 200;
+  font-size: 20px;
+}
+.column.main .block.filter .item,
+.sidebar .block.filter .item {
+  margin-bottom: 10px;
+}
+.sidebar .block > .title strong {
+  font-size: 18px;
+}
+/*
+    Breadcrumbs
+-------------------------------------- */
+.breadcrumbs {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  margin-top: 30px;
+}
+/*
+    Footer
+-------------------------------------- */
+.footer {
+  background: #ffffff;
+  border-top: 1px solid;
+  border-color: #dedede;
+  padding: 30px 0 80px;
+}
+.footer > .content {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  text-align: left;
+}
+.footer .links {
+  display: inline-block;
+  padding: 0;
+  margin: 1px 3px 19px 0;
+}
+.footer .links ul {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.footer .links li {
+  list-style: none;
+  list-style-image: none;
+  margin: 0;
+  padding: 0;
+  display: inline;
+}
+.footer .links li:after {
+  content: ' | ';
+}
+.footer .links li:last-child:after {
+  content: '';
+}
+.footer .links + .links li:first-child:before {
+  content: ' | ';
+}
+.footer .links a {
+  color: #837d75;
+}
+.footer .links a > span {
+  color: #837d75;
+}
+.footer .links a:hover,
+.footer .links a:hover > span {
+  color: #da370a;
+}
+.footer .copyright {
+  font-size: 14px;
+  display: block;
+  padding-top: 10px;
+}
+.footer .bugs {
+  margin-top: 25px;
+  font-size: 11px;
+}
+.footer .bugs a {
+  font-weight: bold;
+}
+.footer .bugs a:before {
+  content: ' - ';
+  display: inline-block;
+}
+/*
+    Switchers
+-------------------------------------- */
+.switcher {
+  display: inline-block;
+  text-align: left;
+  font-size: 11px;
+  vertical-align: middle;
+}
+.header .panel .switcher {
+  margin-right: 25px;
+}
+.header .panel .switcher:last-child {
+  margin-right: 0;
+}
+.switcher .label {
+  display: none;
+}
+.switcher strong {
+  color: #837d75;
+  font-weight: 600;
+}
+.switcher .options {
+  display: inline-block;
+  position: relative;
+  z-index: 1;
+}
+.switcher .options > ul {
+  padding: 0;
+  list-style-type: none;
+  list-style-image: none;
+  margin: 0;
+  padding: 5px 10px;
+  position: absolute;
+  top: 100%;
+  right: 0;
+  margin-left: -11px;
+  min-width: 100%;
+  float: left;
+  background: #f8f8f8;
+  border: 1px solid #cacbc4;
+  visibility: hidden;
+  opacity: 0;
+  -webkit-transition: visibility 0s linear 2s;
+  -moz-transition: visibility 0s linear 2s;
+  transition: visibility 0s linear 2s;
+}
+.switcher .options > ul li {
+  margin: 5px 0;
+  white-space: nowrap;
+}
+.switcher .options.active {
+  z-index: 999;
+}
+.switcher .options.active > ul {
+  visibility: visible;
+  opacity: 1;
+  -webkit-transition-delay: 0s;
+  -moz-transition-delay: 0s;
+  -ms-transition-delay: 0s;
+  -o-transition-delay: 0s;
+  transition-delay: 0s;
+}
+.switcher .options.active strong,
+.switcher .options:hover strong {
+  color: #675f55;
+}
+.action.switch {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  vertical-align: top;
+  color: #837d75;
+}
+.action.switch span {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.action.switch span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: '\e02c';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.switch span:active {
+  outline: 0;
+}
+.action.switch span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.action.switch span:after {
+  line-height: 12px;
+}
+.action.switch:focus,
+.action.switch:hover,
+.action.switch.active {
+  color: #675f55;
+}
+.action.switch.active span:after {
+  content: "\e029";
+}
+.no-js .action.switch:focus + ul {
+  visibility: visible;
+  opacity: 1;
+  -webkit-transition-delay: 0s;
+  -moz-transition-delay: 0s;
+  -ms-transition-delay: 0s;
+  -o-transition-delay: 0s;
+  transition-delay: 0s;
+}
+/*
+    Global Notices
+-------------------------------------- */
+.notice.global.site {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  position: absolute;
+  width: 100%;
+  padding: 8px;
+  background: #4d5d64;
+  color: #fff;
+  top: 0;
+  left: 0;
+  text-align: center;
+}
+.notice.global.site p {
+  margin: 0;
+}
+/*
+    Reviews
+-------------------------------------- */
+.reviews.summary {
+  line-height: 16px;
+}
+.reviews.summary .action {
+  font-size: 12px;
+}
+.reviews.summary .reviews.actions {
+  font-size: 12px;
+  display: inline;
+}
+.reviews.summary .action.view span:before {
+  content: ' ';
+}
+.reviews.summary .action.view + .action.add:before {
+  content: '\00A0|\00A0\00A0';
+  display: inline-block;
+  color: #332e29;
+}
+.reviews.summary.short:not(.no-rating) .action.view span {
+  display: none;
+}
+.reviews.summary.short:not(.no-rating) .action.view:before {
+  content: '(';
+  display: inline-block;
+}
+.reviews.summary.short:not(.no-rating) .action.view:after {
+  content: ')';
+  display: inline-block;
+}
+.block.reviews.dashboard .rating,
+.reviews.summary .rating {
+  width: 80px;
+  margin-right: 3px;
+  line-height: 1;
+  color: rgba(218, 55, 10, 0.3);
+  display: inline-block;
+  vertical-align: top;
+  margin-top: -1px;
+}
+.block.reviews.dashboard .rating > span,
+.reviews.summary .rating > span {
+  display: block;
+  overflow: hidden;
+  color: #da370a;
+  height: 0;
+  padding-top: 16px;
+  line-height: 1;
+  margin-top: -16px;
+}
+.block.reviews.dashboard .rating > span:before,
+.reviews.summary .rating > span:before {
+  margin-top: -16px;
+}
+.block.reviews.dashboard .rating:before,
+.reviews.summary .rating:before,
+.block.reviews.dashboard .rating > span:before,
+.reviews.summary .rating > span:before {
+  display: block;
+  top: 0;
+  left: 0;
+  width: 100%;
+  font-family: "icons";
+  content: "\e009" "\e009" "\e009" "\e009" "\e009";
+  font-style: normal;
+  font-size: 16px;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+}
+/*
+    Customer Reviews
+-------------------------------------- */
+.block.reviews.list {
+  margin: 0 0 30px -20px;
+  padding: 0;
+}
+.block.reviews.list > .title {
+  display: none;
+}
+.block.reviews.list .item.review {
+  padding: 15px;
+}
+.block.reviews.list .item.review .review.title {
+  font-weight: 600;
+  display: block;
+  margin: 15px 0;
+}
+.block.reviews.list .item.review:nth-child(odd) {
+  background: #f8f8f8;
+}
+.block.reviews.list .review.details .author strong {
+  text-transform: uppercase;
+  font-weight: 600;
+}
+.block.reviews.list .review.details .review.date {
+  font-size: 12px;
+}
+.block.reviews.list .review.details p {
+  margin: 5px 0;
+}
+.block.reviews.list .review.details p span {
+  display: none;
+}
+.block.add.review {
+  margin: 0 0 30px -20px;
+  padding: 20px;
+  background: #f8f8f8;
+}
+.block.add.review .title {
+  display: none;
+}
+.block.add.review .fieldset {
+  margin: 30px 10px 30px 30px;
+  letter-spacing: -0.31em;
+  word-spacing: -0.43em;
+  border: 0;
+  padding: 0;
+  margin: 0;
+}
+.block.add.review .fieldset > * {
+  letter-spacing: normal;
+  word-spacing: normal;
+}
+.block.add.review .fieldset > .legend {
+  float: left;
+  font: 400 20px/1.2 "sourcesanspro";
+  margin: -30px 30px 50px -30px;
+  width: 100%;
+}
+.block.add.review .fieldset > .legend + br {
+  display: block;
+  *zoom: 1;
+}
+.block.add.review .fieldset > .legend + br:before,
+.block.add.review .fieldset > .legend + br:after {
+  content: "";
+  display: table;
+}
+.block.add.review .fieldset > .legend + br:after {
+  clear: both;
+}
+.block.add.review .fieldset > .legend {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+  width: 100%;
+  margin: 0 0 20px;
+  padding: 10px 0 30px;
+  border-bottom: 1px solid;
+  border-color: #d7d7d7;
+}
+.block.add.review .fieldset > .legend + br {
+  clear: both;
+  display: block !important;
+}
+.block.add.review .fieldset > .legend span {
+  line-height: 1.2;
+  font-weight: 200;
+  font-size: 20px;
+}
+.block.add.review .fieldset > .legend strong {
+  margin-left: 20px;
+  font-size: 14px;
+  font-weight: 600;
+}
+.block.add.review .fieldset > .field:not(.ratings) {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  margin: 0 0 20px;
+  margin: 0 0 10px;
+}
+.block.add.review .fieldset > .field:not(.ratings) > .label {
+  display: block;
+  padding-bottom: 5px;
+}
+.block.add.review .fieldset > .field:not(.ratings) .nested .field {
+  margin: 5px 0;
+}
+.block.add.review .fieldset > .field:not(.ratings).choice > .control {
+  width: auto;
+}
+.block.add.review .fieldset > .field:not(.ratings).choice > .label {
+  display: inline;
+}
+.block.add.review .fieldset > .field:not(.ratings).choice > input {
+  vertical-align: top;
+  margin-top: 2px;
+  margin-right: 5px;
+}
+.block.add.review .fieldset > .field:not(.ratings).required > .label > span:first-child:after {
+  content: '*';
+  color: #da370a;
+}
+.block.add.review .fieldset > .field:not(.ratings) .addon {
+  display: table;
+  padding: 0;
+  width: 100%;
+}
+.block.add.review .fieldset > .field:not(.ratings) .addon textarea,
+.block.add.review .fieldset > .field:not(.ratings) .addon select,
+.block.add.review .fieldset > .field:not(.ratings) .addon input {
+  box-shadow: none;
+  display: table-cell;
+  margin: 0;
+  width: 100%;
+}
+.block.add.review .fieldset > .field:not(.ratings) .addon .addbefore,
+.block.add.review .fieldset > .field:not(.ratings) .addon .addafter {
+  height: 0;
+  white-space: nowrap;
+  display: inline-block;
+  display: table-cell;
+  vertical-align: middle;
+  width: 1px;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  height: 32px;
+  line-height: 1;
+  padding: 0 10px;
+}
+.block.add.review .fieldset > .field:not(.ratings) .addon .addbefore:focus,
+.block.add.review .fieldset > .field:not(.ratings) .addon .addafter:focus {
+  border-color: #999999;
+}
+.control .block.add.review .fieldset > .field:not(.ratings) .addon .addbefore,
+.control .block.add.review .fieldset > .field:not(.ratings) .addon .addafter {
+  width: 100%;
+}
+.block.add.review .fieldset > .field:not(.ratings) .addon .addbefore:disabled,
+.block.add.review .fieldset > .field:not(.ratings) .addon .addafter:disabled {
+  opacity: 0.5;
+}
+.block.add.review .fieldset > .field:not(.ratings) .addon .addbefore::-webkit-input-placeholder,
+.block.add.review .fieldset > .field:not(.ratings) .addon .addafter::-webkit-input-placeholder {
+  line-height: 1.333;
+}
+.block.add.review .fieldset > .field:not(.ratings) .addon .addbefore:-ms-input-placeholder,
+.block.add.review .fieldset > .field:not(.ratings) .addon .addafter:-ms-input-placeholder {
+  line-height: 1.333;
+}
+.eq-ie8 .block.add.review .fieldset > .field:not(.ratings) .addon .addbefore,
+.eq-ie8 .block.add.review .fieldset > .field:not(.ratings) .addon .addafter {
+  padding-top: 8px;
+}
+.block.add.review .fieldset > .field:not(.ratings) .note {
+  font-size: 12px;
+  margin-top: 3px;
+  padding-left: 15px;
+}
+.block.add.review .fieldset > .field:not(.ratings) .note:before {
+  border-bottom: 5px solid #675f55;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  content: '';
+  display: inline-block;
+  font-size: 0;
+  line-height: 0;
+  margin: 4px 0 0 -14px;
+  position: absolute;
+  vertical-align: top;
+  width: 0;
+}
+.block.add.review .fieldset > .field:not(.ratings):last-child {
+  margin-bottom: 0;
+}
+.block.add.review .fieldset > .field:not(.ratings) .nested {
+  padding: 0 0 0;
+}
+.block.add.review .fieldset > .field:not(.ratings) .nested .field {
+  margin: 5px 0;
+}
+.block.add.review .fieldset > .field:not(.ratings) > .label {
+  padding: 0 0 5px;
+}
+.block.add.review .action.cancel {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  display: inline;
+  color: #332e29;
+  text-decoration: none;
+  position: absolute;
+  left: 100%;
+  text-decoration: underline;
+  text-transform: uppercase;
+  margin-left: 20px;
+  margin-top: 10px;
+}
+.block.add.review .action.cancel:focus,
+.block.add.review .action.cancel:active,
+.block.add.review .action.cancel:hover {
+  color: #da370a;
+}
+.block.add.review .actions,
+.block.add.review .field:not(.ratings) {
+  width: 60%;
+}
+.block.add.review .actions {
+  padding-top: 20px;
+  text-align: right;
+  position: relative;
+  z-index: 1;
+}
+/*
+    Review details
+-------------------------------------- */
+.review.view .product.name {
+  display: inline-block;
+  margin: 0;
+}
+.review.view .product.details {
+  float: left;
+  margin-right: 30px;
+}
+.review.view .product.photo {
+  display: block;
+  margin-bottom: 30px;
+}
+.review.view .review.details {
+  margin: 30px 0;
+  display: table;
+}
+.review.view .review.details .ratings.summary {
+  margin-bottom: 30px;
+}
+.review.view .review.details .ratings.summary strong {
+  font-weight: 600;
+  display: block;
+  margin: 0 0 15px;
+}
+.review.view .review.details .ratings.summary .item {
+  display: table-row;
+}
+.review.view .review.details .ratings.summary .label {
+  padding: 0 0 10px;
+  padding-right: 10px;
+  display: table-cell;
+}
+.review.view .review.details .ratings.summary .label:after {
+  content: ': ';
+}
+.review.view .review.details .review.date {
+  font-size: 12px;
+}
+.review.view .review.details .review.title {
+  font-weight: 600;
+  font-size: 16px;
+  margin: 0 0 15px;
+}
+.customer.review.view + .actions {
+  clear: both;
+}
+/*
+    Messages
+-------------------------------------- */
+.page.messages {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  margin: 15px auto;
+}
+/*
+    Magento_Checkout
+    One page
+-------------------------------------- */
+.block.progress.onepage {
+  float: left;
+  width: 200px;
+}
+.block.progress.onepage dt {
+  font-size: 16px;
+  font-weight: 400;
+  margin: 0 0 10px 0;
+}
+.block.progress.onepage dt a {
+  font-size: 14px;
+}
+.block.progress.onepage dd.complete {
+  padding: 0;
+  margin: 0 0 30px;
+}
+.block.progress.onepage address {
+  font-style: normal;
+}
+.opc.wrapper {
+  float: right;
+  width: 725px;
+}
+.opc.wrapper > .opc {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.opc.wrapper > .opc .section {
+  margin-bottom: 4px;
+}
+.opc.wrapper > .opc .section > .step-title {
+  padding: 15px 20px;
+  line-height: 1;
+  background: #da370a;
+  font-size: 22px;
+}
+.opc.wrapper > .opc .section > .step-title h2 {
+  font-weight: 400;
+  font-size: 18px;
+  margin: 0;
+  padding: 0;
+  color: #fff;
+}
+.opc.wrapper > .opc .section > .step-title .number {
+  display: none;
+}
+.opc.wrapper > .opc .section.active > .step-title {
+  background: #f8f8f8;
+  margin-bottom: 0;
+}
+.opc.wrapper > .opc .section.active > .step-title h2 {
+  color: #675f55;
+}
+.opc.wrapper > .opc .section.allow > .step-title {
+  cursor: pointer;
+}
+.opc.wrapper > .opc .section.allow > .step-title h2:after {
+  display: block;
+}
+.opc.wrapper > .opc .section > .step {
+  padding: 0 20px 20px;
+  background: #f8f8f8;
+}
+.opc.wrapper > .opc .section > .step:before {
+  content: '';
+  border-top: 3px solid #e5e5e5;
+  display: block;
+  margin-bottom: 20px;
+}
+.opc.wrapper .form:not(.login) .fieldset {
+  padding: 0;
+  margin: 20px 0;
+  border: 0;
+}
+.opc.wrapper .form:not(.login) .fieldset .field {
+  display: inline-block;
+  padding-right: 20px;
+  vertical-align: top;
+  width: 50%;
+}
+.opc.wrapper .form:not(.login) .fieldset .nested .field {
+  width: 100%;
+}
+.opc.wrapper .form:not(.login) .fieldset .actions {
+  margin-right: 30px;
+}
+.opc.wrapper .form:not(.login) .field {
+  margin: 0 0 10px;
+}
+.opc.wrapper .form:not(.login) .field:last-child {
+  margin-bottom: 0;
+}
+.opc.wrapper .form:not(.login) .field .nested {
+  padding: 0 0 0;
+}
+.opc.wrapper .form:not(.login) .field .nested .field {
+  margin: 5px 0;
+}
+.opc.wrapper .form:not(.login) .field:not(.choice) .label {
+  display: block;
+  padding-bottom: 5px;
+}
+.opc.wrapper .form:not(.login) .actions {
+  *zoom: 1;
+  text-align: right;
+}
+.opc.wrapper .form:not(.login) .actions:before,
+.opc.wrapper .form:not(.login) .actions:after {
+  content: "";
+  display: table;
+}
+.opc.wrapper .form:not(.login) .actions:after {
+  clear: both;
+}
+.opc.wrapper .form:not(.login) .actions button.action {
+  float: right;
+}
+.opc.wrapper .form:not(.login) .actions .secondary {
+  padding-top: 10px;
+  clear: right;
+  float: right;
+}
+.opc.wrapper .form:not(.login) .field.fullname + .field.company,
+.opc.wrapper .form:not(.login) .field.name-lastname + .field.company,
+.opc.wrapper .form:not(.login) .field.country,
+.opc.wrapper .form:not(.login) .field.taxvat {
+  margin: 0 40% 30px 0;
+}
+.opc.wrapper .form:not(.login) .field.confirm,
+.opc.wrapper .form:not(.login) .field.password {
+  margin-top: 20px;
+  margin-bottom: 20px;
+}
+.opc.wrapper .form:not(.login) .field.choice {
+  width: 100%;
+  display: block;
+}
+.opc.wrapper .form:not(.login) .field.persistent,
+.opc.wrapper .form:not(.login) .field.save {
+  margin: 20px 0 0;
+}
+.opc.wrapper .form:not(.login) .field.addresses {
+  margin-bottom: 20px;
+}
+.opc.wrapper .form:not(.login):after {
+  content: attr(data-hasrequired);
+  display: block;
+  letter-spacing: normal;
+  word-spacing: normal;
+  color: #da370a;
+}
+.opc.loading .active {
+  position: relative;
+  z-index: 1;
+}
+.opc.loading .active:before {
+  content: '';
+  display: block;
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background: rgba(255, 255, 255, 0.1);
+}
+.opc.loading .active .actions .action {
+  visibility: hidden;
+  width: 1px;
+  overflow: hidden;
+}
+/*
+    Load Indicator
+-------------------------------------- */
+.load.indicator {
+  display: inline-block;
+  padding: 8px;
+  vertical-align: middle;
+}
+.load.indicator span {
+  display: block;
+  line-height: 16px;
+}
+.load.indicator span:before {
+  content: '';
+  margin-right: 5px;
+  display: inline-block;
+  width: 16px;
+  height: 16px;
+  background: url(../images/loader.gif) no-repeat 0 0;
+  background-color: #da370a;
+  vertical-align: top;
+}
+/*
+    Step Login
+-------------------------------------- */
+.step.login.wrapper {
+  *zoom: 1;
+  position: relative;
+  z-index: 1;
+  padding-bottom: 70px;
+}
+.step.login.wrapper:before,
+.step.login.wrapper:after {
+  content: "";
+  display: table;
+}
+.step.login.wrapper:after {
+  clear: both;
+}
+.step.login.wrapper .block {
+  float: left;
+  width: 50%;
+  margin-right: 0%;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+}
+.step.login.wrapper .block .fieldset {
+  border: 0;
+  margin: 0;
+  padding: 0;
+}
+.step.login.wrapper .block .fieldset .field {
+  width: 100%;
+}
+.step.login.wrapper .block.guest {
+  padding-left: 50px;
+}
+.step.login.wrapper .block.guest:before {
+  content: '';
+  border-left: 1px solid #e5e5e5;
+  position: absolute;
+  top: 0;
+  margin-left: -25px;
+  bottom: 20px;
+}
+.step.login.wrapper .actions {
+  position: absolute;
+  bottom: 0;
+  padding: 20px 0;
+  text-align: right;
+  margin: 0;
+  width: 50%;
+}
+.step.login.wrapper .actions .secondary {
+  font-size: 12px;
+  margin-top: .5em;
+  line-height: 1.4em;
+  margin-bottom: -1.9em;
+}
+.step.login.wrapper .guest .actions {
+  margin-left: -50px;
+}
+.fieldset.guest > .field {
+  margin: 0 0 10px;
+}
+.fieldset.guest > .field:last-child {
+  margin-bottom: 0;
+}
+.fieldset.guest > .field .nested {
+  padding: 0 0 0;
+}
+.fieldset.guest > .field .nested .field {
+  margin: 5px 0;
+}
+/*
+    Step Review
+-------------------------------------- */
+.checkout.submit.order .actions {
+  margin-top: 15px;
+  *zoom: 1;
+}
+.checkout.submit.order .actions:before,
+.checkout.submit.order .actions:after {
+  content: "";
+  display: table;
+}
+.checkout.submit.order .actions:after {
+  clear: both;
+}
+.checkout.submit.order .actions .primary {
+  float: right;
+}
+.checkout.submit.order .actions .secondary {
+  float: left;
+  line-height: 32px;
+}
+.order.data.items tfoot tr:first-child td {
+  border-top: 3px solid #e5e5e5;
+  padding-top: 15px;
+}
+.order.data.items tr.total td {
+  padding-top: 5px;
+  padding-bottom: 5px;
+  text-align: right;
+}
+.order.data.items tr.total:last-child td {
+  padding-bottom: 20px;
+}
+.order.data.items tr.grand.total td {
+  vertical-align: middle;
+}
+.order.data.items tr.grand.total .amount {
+  font-size: 24px;
+  color: #da370a;
+}
+.order.review.data th.col.price,
+.order.review.data th.col.subtotal {
+  text-align: right;
+  padding-right: 10px;
+}
+.order.review.data th.col.item {
+  text-align: left;
+  padding-left: 20px;
+}
+/*
+    Magento_Checkout
+    Multishipping
+-------------------------------------- */
+.multicheckout.progress {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  float: left;
+  width: 200px;
+}
+.multicheckout.progress li {
+  font-size: 16px;
+  font-weight: 400;
+  margin: 0 0 10px 0;
+}
+.multicheckout.progress li.active {
+  font-weight: bold;
+}
+.multicheckout.progress + .form.address.edit {
+  float: right;
+  width: 725px;
+}
+.multicheckout.form.address,
+.multicheckout.form.billing,
+.multicheckout.form.shipping,
+.multicheckout.form.overview,
+.multicheckout.success,
+.multicheckout.change.billing {
+  float: right;
+  width: 725px;
+}
+.multicheckout .title {
+  *zoom: 1;
+  margin: 0 0 30px;
+}
+.multicheckout .title:before,
+.multicheckout .title:after {
+  content: "";
+  display: table;
+}
+.multicheckout .title:after {
+  clear: both;
+}
+.multicheckout .title > strong {
+  font-size: 20px;
+  font-weight: 400;
+  margin: 4px 0 0;
+}
+.multicheckout .subtitle {
+  display: block;
+  *zoom: 1;
+  margin: 0 0 20px;
+}
+.multicheckout .subtitle:before,
+.multicheckout .subtitle:after {
+  content: "";
+  display: table;
+}
+.multicheckout .subtitle:after {
+  clear: both;
+}
+.multicheckout .subtitle > span {
+  font-size: 18px;
+  font-weight: normal;
+  margin: 4px 0 0;
+}
+.multicheckout .title .action,
+.multicheckout .subtitle .action {
+  font-weight: 400;
+  font-size: 14px;
+  margin-left: 20px;
+  text-decoration: underline;
+  display: inline-block;
+  text-transform: lowercase;
+}
+.multicheckout .title .action:hover,
+.multicheckout .subtitle .action:hover {
+  text-decoration: none;
+}
+.multicheckout .content {
+  *zoom: 1;
+}
+.multicheckout .content:before,
+.multicheckout .content:after {
+  content: "";
+  display: table;
+}
+.multicheckout .content:after {
+  clear: both;
+}
+.multicheckout .content > .block {
+  margin-bottom: 20px;
+}
+.multicheckout .content > .block:last-child {
+  margin-bottom: 0;
+}
+.multicheckout address {
+  font-style: normal;
+}
+.multicheckout > .block.shipping .box,
+.multicheckout > .block.billing .box {
+  margin-bottom: 20px;
+}
+.multicheckout > .block.shipping .box:last-child,
+.multicheckout > .block.billing .box:last-child {
+  margin-bottom: 0;
+}
+.multicheckout > .block.shipping .box.address,
+.multicheckout.overview > .block.billing .box.address {
+  float: left;
+  width: 49%;
+}
+.multicheckout > .block.shipping .box.method,
+.multicheckout.overview > .block.billing .box.method {
+  float: right;
+  width: 49%;
+}
+.multicheckout > .block.shipping .box.items,
+.multicheckout.overview > .block.billing .box.items {
+  clear: both;
+}
+.multicheckout.overview > .block.billing {
+  *zoom: 1;
+}
+.multicheckout.overview > .block.billing:before,
+.multicheckout.overview > .block.billing:after {
+  content: "";
+  display: table;
+}
+.multicheckout.overview > .block.billing:after {
+  clear: both;
+}
+.multicheckout.overview > .block.billing .box.method p {
+  margin: 0 0 10px;
+}
+.multicheckout.overview > .block.billing .box.method th,
+.multicheckout.overview > .block.billing .box.method td {
+  font-size: 14px;
+  padding: 0;
+}
+.multicheckout.overview > .block.shipping .content {
+  margin-bottom: 20px;
+}
+.multicheckout.overview > .block.shipping .content:last-child {
+  margin-bottom: 0;
+}
+.multicheckout.overview .checkout.agreements {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  margin: 10px 0;
+}
+.multicheckout.overview .checkout.agreements .item {
+  margin: 0 0 10px;
+}
+.multicheckout.overview .checkout.agreements .item:last-child {
+  margin: 0;
+}
+.multicheckout.overview .checkout.agreements .agreement {
+  background-color: #f8f8f8;
+  border: 1px solid #e5e5e5;
+  font-size: 11px;
+  overflow: auto;
+  margin: 0 0 10px;
+  padding: 15px;
+}
+.multicheckout.overview > .checkout.review .grand.total {
+  margin: 15px 0;
+  text-align: right;
+}
+.multicheckout.overview > .checkout.review .grand.total .label {
+  font-size: 18px;
+  font-weight: 400;
+}
+.multicheckout.overview > .checkout.review .grand.total .price {
+  color: #da370a;
+  font-size: 24px;
+  font-weight: 700;
+}
+.multicheckout.change.billing .box {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #f8f8f8;
+  float: left;
+  margin-bottom: 20px;
+  margin-left: 2%;
+  padding: 30px;
+  width: 49%;
+}
+.multicheckout.change.billing .box.odd {
+  clear: left;
+  margin-left: 0;
+}
+.multicheckout.change.billing .box .actions {
+  margin: 15px 0 0;
+}
+.multicheckout.change.billing .actions {
+  clear: left;
+}
+.multicheckout .actions {
+  *zoom: 1;
+  margin: 20px 0;
+}
+.multicheckout .actions:before,
+.multicheckout .actions:after {
+  content: "";
+  display: table;
+}
+.multicheckout .actions:after {
+  clear: both;
+}
+.multicheckout.change.billing .actions {
+  margin-top: 0;
+}
+.multicheckout .action.back {
+  float: left;
+  margin: 9px 0 0;
+}
+.multicheckout .action.back span:before {
+  content: "\00AB\00A0";
+}
+.multicheckout .action.continue.disabled,
+.multicheckout .action.submit.disabled {
+  opacity: 0.3;
+}
+.multicheckout .action.continue.disabled:hover,
+.multicheckout .action.submit.disabled:hover {
+  background: #da370a;
+}
+.multicheckout .action.add {
+  float: right;
+  text-decoration: none;
+  text-transform: uppercase;
+}
+.multicheckout.success .action.continue {
+  text-decoration: none;
+  text-transform: none;
+}
+.multicheckout .product.name {
+  margin-bottom: 0;
+}
+.multicheckout .items.data td.col.address {
+  padding-top: 10px;
+}
+.multicheckout .items.data td.col.delete,
+.multicheckout .items.data td.col.product {
+  padding-top: 18px;
+}
+.multicheckout .items.data .col.item {
+  padding-left: 0;
+  text-align: left;
+}
+.multicheckout .items.data th.col.item,
+.multicheckout .items.data th.col.qty {
+  padding-bottom: 5px;
+}
+.multicheckout .items.data .mark,
+.multicheckout .items.data .amount {
+  text-align: right;
+}
+.multicheckout .items.data tfoot tr.total:first-child td {
+  border-top: 3px solid #e5e5e5;
+  padding-top: 15px;
+}
+.multicheckout .items.data tfoot tr.total:last-child td {
+  border-bottom: 0;
+}
+.multicheckout .items.data tfoot tr.total td {
+  padding-top: 5px;
+  padding-bottom: 5px;
+  text-align: right;
+}
+.multicheckout .items.data tfoot tr.total.grand td {
+  vertical-align: middle;
+}
+.multicheckout .items.data tfoot tr.total.grand .amount {
+  color: #da370a;
+  font-size: 24px;
+}
+.multicheckout .items.data .applicable {
+  padding-top: 7px;
+}
+.multicheckout .block .items.data tr td:first-child {
+  padding-left: 0;
+}
+.multicheckout .block .items.data tr td:last-child {
+  padding-right: 0;
+}
+.multicheckout .shipping .items.data tr:last-child td {
+  border-bottom: 1px solid #e5e5e5;
+}
+.multicheckout .sp-methods,
+.multicheckout .items.methods {
+  margin: 0;
+}
+.multicheckout .sp-methods dt,
+.multicheckout .items.methods dt {
+  margin: 0;
+}
+.multicheckout .sp-methods dd,
+.multicheckout .items.methods dd {
+  margin: 0;
+  padding: 0;
+}
+.multicheckout .sp-methods dd ul,
+.multicheckout .items.methods dd ul {
+  margin: 0 0 15px;
+  padding: 10px;
+}
+.multicheckout.form.address .col.address select {
+  max-width: 450px;
+}
+.checkout-multishipping-address-newshipping .form.address.edit,
+.checkout-multishipping-address-editshipping .form.address.edit {
+  float: right;
+  width: 725px;
+}
+.block.gift.message {
+  margin: 30px 0 0;
+}
+.block.gift.message .title {
+  font-size: 16px;
+  font-weight: 400;
+  margin-bottom: 15px;
+}
+/*
+    Magento_Checkout
+    Gift Message
+-------------------------------------- */
+.gift.message > .legend {
+  font-size: 16px;
+  margin: 0 0 20px;
+}
+.gift.message .block.items {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  border: 1px solid #e5e5e5;
+  height: 310px;
+  overflow: auto;
+  padding: 20px;
+}
+.gift.message dt {
+  margin: 30px 0 0;
+}
+.gift.message dt:first-child {
+  margin: 0;
+}
+.gift.message dt .title {
+  font-size: 16px;
+  margin: 0 0 15px;
+}
+.gift.message dt > .price {
+  margin: 0 0 10px;
+}
+.gift.message dd {
+  margin: 20px 0 0 20px;
+}
+.gift.message .field.choice input {
+  margin-right: 5px;
+  margin-top: 2px;
+  vertical-align: top;
+}
+.gift.message .design {
+  *zoom: 1;
+  margin: 10px 0 0;
+}
+.gift.message .design:before,
+.gift.message .design:after {
+  content: "";
+  display: table;
+}
+.gift.message .design:after {
+  clear: both;
+}
+.gift.message .design img {
+  height: 75px;
+  width: 75px;
+  float: left;
+  margin-right: 15px;
+}
+.gift.message .design > .price {
+  float: left;
+}
+.gift.message .field.gift.wrapping .label {
+  display: block;
+  padding-bottom: 5px;
+}
+.gift.message .field.gift.wrapping .control select {
+  width: 100%;
+}
+.gift.message .activate.message {
+  display: inline-block;
+  margin: 10px 0 0;
+}
+.gift.message .activate.message + div .fieldset {
+  margin-top: 0;
+}
+.gift.message .field.gift.wrapping .design > .price > .price,
+.gift.message dt > .price > .price {
+  display: block;
+}
+.gift.message .field.gift.wrapping .design > .price > .price > span,
+.gift.message dt > .price > .price > span {
+  display: inline-block;
+}
+.gift.message .no-display {
+  display: none;
+}
+.gift.message .options.order .field.gift.wrapping,
+.gift.message .options.order .field.text {
+  width: 100%;
+}
+.gift.message .options.individual ol {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.gift.message .options.individual li {
+  *zoom: 1;
+  border-bottom: 1px solid #e5e5e5;
+  margin: 0 0 15px;
+  padding: 0 0 15px;
+  overflow: hidden;
+}
+.gift.message .options.individual li:before,
+.gift.message .options.individual li:after {
+  content: "";
+  display: table;
+}
+.gift.message .options.individual li:after {
+  clear: both;
+}
+.gift.message .options.individual .number {
+  border-bottom: 1px solid #e5e5e5;
+  color: #999999;
+  margin: 0 0 15px;
+  padding: 0 0 5px;
+}
+.gift.message .options.individual .product {
+  float: left;
+  margin-right: 20px;
+  text-align: center;
+}
+.gift.message .options.individual .product > .product {
+  float: none;
+  margin: 0;
+}
+.gift.message .options.individual .product .img {
+  margin-bottom: 5px;
+}
+.gift.message .options.individual .options-items-container {
+  width: 100%;
+}
+.gift.message .options.individual .options-items-container .field {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  width: 100%;
+}
+.gift.message .options.individual .field.text {
+  width: 100%;
+}
+.gift.message .options.individual .item.options {
+  overflow: hidden;
+}
+.gift.message .extra-options-container {
+  margin: 10px 0 0;
+}
+.gift.message .extra-options-container .field.choice {
+  margin: 0 0 10px;
+}
+.multicheckout .gift.message {
+  margin: 20px 0;
+}
+.multicheckout .gift.message .fieldset {
+  margin: 20px 0;
+}
+.multicheckout .gift.message .block.message {
+  margin: 0;
+}
+.multicheckout .gift.message .block.message .fieldset {
+  margin: 0;
+}
+.multicheckout .gift.message .field {
+  display: inline-block;
+  padding-right: 20px;
+  vertical-align: top;
+  width: 50%;
+}
+.data.table .gift.wrapping {
+  font-size: 13px;
+  margin: 0;
+}
+.data.table .gift.wrapping dt {
+  font-weight: 600;
+  margin: 5px 0 0;
+}
+.data.table .gift.wrapping dd {
+  margin: 0 0 5px;
+}
+/*
+    Magento_Checkout
+    Shopping Cart
+-------------------------------------- */
+.cart.container {
+  *zoom: 1;
+  position: relative;
+  z-index: 1;
+}
+.cart.container:before,
+.cart.container:after {
+  content: "";
+  display: table;
+}
+.cart.container:after {
+  clear: both;
+}
+.cart.main.actions {
+  padding: 20px 0;
+}
+.cart.main.actions .action.continue {
+  position: absolute;
+  text-decoration: underline;
+  right: 0;
+  top: 3px;
+}
+.items.data {
+  width: 100%;
+}
+.items.data thead tr:last-child th {
+  padding-bottom: 10px;
+}
+.items.data th.col.item > span {
+  display: none;
+}
+.items.data td.col.qty {
+  width: 40px;
+  padding-top: 20px;
+  text-align: center;
+}
+.review .items.data td.col.qty {
+  padding-top: 16px;
+}
+.items.data th.col.qty {
+  text-transform: uppercase;
+}
+.items.data input.qty {
+  width: 50px;
+  text-align: center;
+}
+.items.data td.col.price,
+.items.data td.col.subtotal {
+  text-align: right;
+}
+.items.data .product.photo {
+  padding-right: 20px;
+  display: table-cell;
+  width: 1%;
+  vertical-align: top;
+}
+.items.data .product.details {
+  display: table-cell;
+  width: 99%;
+  vertical-align: top;
+}
+.items.data .item.actions {
+  text-align: right;
+}
+.items.data .item.actions div.actions {
+  padding-bottom: 30px;
+}
+.items.data td {
+  border-left: 0;
+  border-right: 0;
+  padding: 26px 10px 10px;
+  vertical-align: top;
+  background: transparent;
+}
+.items.data td:first-child {
+  padding-left: 20px;
+}
+.items.data td:last-child {
+  padding-right: 20px;
+}
+.items.data tbody:nth-child(even) tr {
+  background: #f8f8f8;
+}
+.items.data th {
+  border-left: 0;
+  border-right: 0;
+  text-align: center;
+  font-weight: 400;
+  font-size: 14px;
+  vertical-align: top;
+}
+.items.data tr:first-child th {
+  font-weight: 400;
+  font-size: 16px;
+}
+.items.data .item.actions td {
+  padding: 0 20px 10px;
+  line-height: 16px;
+}
+.items.data .item.actions td .action {
+  margin-left: 20px;
+}
+.items.data .item.actions td .action.towishlist {
+  font-size: 14px;
+}
+.items.data .item.actions td .action.delete {
+  vertical-align: top;
+  margin-top: 0;
+}
+.items.data .item.actions td:before {
+  content: '';
+  border-top: 1px solid #e5e5e5;
+  display: block;
+  height: 0;
+  overflow: hidden;
+  margin: 0 0 10px;
+}
+.items.data .item.options dt {
+  font-weight: 400;
+  display: inline;
+  margin-right: 10px;
+  float: left;
+  clear: left;
+}
+.items.data .item.options dt:after {
+  content: ': ';
+}
+.items.data .item.options dd {
+  font-weight: 200;
+  margin: 0 0 10px 10px;
+  padding: 0;
+}
+.cart.table.wrapper {
+  float: left;
+  width: 665px;
+}
+.cart.summary {
+  position: relative;
+  z-index: 1;
+  margin-top: 33px;
+  background: #f8f8f8;
+  display: inline-block;
+  width: 290px;
+  padding: 20px;
+  margin-left: 10px;
+}
+.cart.summary .summary.title {
+  font-size: 20px;
+  font-weight: 200;
+  display: block;
+  border-bottom: 3px solid #e5e5e5;
+  padding-bottom: 15px;
+}
+.cart.summary .block {
+  margin-bottom: 0;
+  border-bottom: 1px solid #e5e5e5;
+  font-size: 12px;
+}
+.cart.summary .block > .title {
+  cursor: pointer;
+  padding: 10px 5px;
+  margin: 0;
+  line-height: 16px;
+}
+.cart.summary .block > .title strong {
+  font-size: 12px;
+  font-weight: 600;
+}
+.cart.summary .block > .title strong:after {
+  content: "\e00d";
+  font-family: "icons";
+  float: right;
+  font-weight: 400;
+  font-size: 16px;
+  line-height: 16px;
+}
+.cart.summary .block > .title.active strong:after {
+  content: "\e011";
+}
+.cart.summary .block > .content {
+  display: none;
+  padding: 15px 15px 20px;
+}
+.cart.summary .block.active > .content {
+  display: block;
+}
+.cart.summary .block .fieldset {
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+.cart.summary .block .fieldset .field {
+  margin: 0 0 10px;
+}
+.cart.summary .block input[type="text"] {
+  padding: 0 5px;
+  font-size: 12px;
+  height: 30px;
+}
+.cart.summary .block .field:not(.choice) .label {
+  padding: 0 0 5px;
+  display: block;
+}
+.cart.summary .block select {
+  padding: 5px 5px 4px;
+  font-size: 12px;
+}
+.cart.summary .block .action {
+  padding: 6px 11px 5px;
+}
+.cart.summary .block .action span {
+  font-size: 12px;
+  line-height: 12px;
+}
+.cart.summary .block .action.check span {
+  display: inline;
+  color: #332e29;
+  text-decoration: none;
+}
+.cart.summary .block .action.check span:focus,
+.cart.summary .block .action.check span:active,
+.cart.summary .block .action.check span:hover {
+  color: #da370a;
+}
+.cart.container > .summary.sticky {
+  position: fixed;
+  display: inline-block !important;
+}
+.cart.container > .summary.bottom {
+  position: absolute;
+  vertical-align: bottom;
+  bottom: 0;
+}
+.cart  > .summary.fixed,
+.cart.container  > .summary  > .container.fixed {
+  position: fixed;
+  top: 0;
+}
+.cart.table.wrapper.detailed + .cart.summary {
+  margin-top: 54px;
+}
+.block.shipping .content {
+  *zoom: 1;
+}
+.block.shipping .content:before,
+.block.shipping .content:after {
+  content: "";
+  display: table;
+}
+.block.shipping .content:after {
+  clear: both;
+}
+.block.shipping .fieldset.estimate .actions {
+  display: table-cell;
+  width: 1%;
+  white-space: nowrap;
+  vertical-align: bottom;
+}
+.block.shipping .fieldset.rates {
+  padding-top: 20px;
+}
+.block.shipping .fieldset.rates .actions {
+  text-align: right;
+}
+.block.shipping .field.postcode {
+  display: table-cell;
+  width: 99%;
+  vertical-align: bottom;
+  padding-right: 10px;
+}
+.block.shipping .field.postcode div.mage-error {
+  position: absolute;
+}
+.block.discount .content {
+  *zoom: 1;
+}
+.block.discount .content:before,
+.block.discount .content:after {
+  content: "";
+  display: table;
+}
+.block.discount .content:after {
+  clear: both;
+}
+.block.discount .fieldset.coupon {
+  position: relative;
+}
+.block.discount .fieldset.coupon.applied {
+  padding-bottom: 20px;
+}
+.block.discount .fieldset.coupon .field {
+  display: table-cell;
+  width: 99%;
+  vertical-align: bottom;
+  padding-right: 10px;
+}
+.block.discount .fieldset.coupon .field .label {
+  float: left;
+  margin-right: -100px;
+}
+.block.discount .fieldset.coupon .field input {
+  clear: left;
+}
+.block.discount .fieldset.coupon .field div.mage-error {
+  position: absolute;
+}
+.block.discount .fieldset.coupon .actions {
+  vertical-align: bottom;
+  display: table-cell;
+  width: 1%;
+  white-space: nowrap;
+}
+.block.discount .fieldset.coupon .action.cancel {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  display: inline;
+  color: #332e29;
+  text-decoration: none;
+  position: absolute;
+  left: 0;
+  bottom: 0;
+  margin-bottom: -15px;
+}
+.block.discount .fieldset.coupon .action.cancel:focus,
+.block.discount .fieldset.coupon .action.cancel:active,
+.block.discount .fieldset.coupon .action.cancel:hover {
+  color: #da370a;
+}
+.block.discount .fieldset.coupon .action.cancel span {
+  text-transform: none;
+}
+.sp-methods dt,
+.items.methods dt,
+.sp-methods .item.title,
+.items.methods .item.title {
+  font-weight: bold;
+}
+.sp-methods dd,
+.items.methods dd,
+.sp-methods .item.options,
+.items.methods .item.options {
+  margin: 0 0 15px;
+  padding: 10px;
+}
+.field.choice.payment > .label {
+  font-weight: bold;
+}
+.data-table {
+  width: 100%;
+  border: 0;
+}
+.data-table td {
+  border-right: 1px solid #e5e5e5;
+  padding: 5px;
+  vertical-align: top;
+}
+.data-table td:last-child {
+  border: 0;
+}
+.cart.totals {
+  padding: 20px 0;
+}
+.cart.totals .table.totals {
+  width: 100%;
+}
+.cart.totals td,
+.cart.totals th {
+  text-align: right;
+  padding: 4px 0 4px 5px;
+}
+.cart.totals td:not(:first-child) strong {
+  font-size: 24px;
+  color: #da370a;
+}
+.cart.totals td:first-child {
+  text-align: left;
+  padding-left: 0;
+}
+.cart.totals td:first-child strong {
+  font-size: 14px;
+}
+.checkout.methods.items {
+  background: #fff;
+  padding: 20px;
+}
+.checkout.methods.items .item {
+  margin: 15px auto;
+  text-align: center;
+}
+.checkout.methods.items .action.multicheckout {
+  text-decoration: underline;
+}
+/*
+    Magento_Checkout
+    Mini cart
+-------------------------------------- */
+.minicart.wrapper {
+  float: right;
+  margin-right: 40px;
+  z-index: 11;
+}
+.minicart.wrapper .block.minicart {
+  *zoom: 1;
+  left: -100%;
+  margin-top: 15px;
+  position: absolute;
+  z-index: 2;
+  background: #f8f8f8;
+  border: 2px solid #d7d7d7;
+  border-radius: 3px;
+  text-align: center;
+  padding: 58px 345px 25px 15px;
+}
+.minicart.wrapper .block.minicart:before,
+.minicart.wrapper .block.minicart:after {
+  content: "";
+  display: table;
+}
+.minicart.wrapper .block.minicart:after {
+  clear: both;
+}
+.minicart.wrapper .block.minicart:before {
+  content: '';
+  border-left: 10px solid transparent;
+  border-right: 10px solid transparent;
+  border-bottom: 10px solid #f8f8f8;
+  height: 0;
+  width: 0;
+  overflow: hidden;
+  display: block;
+  position: absolute;
+  top: 0;
+  margin-top: -10px;
+  margin-right: 25px;
+  right: 0;
+  zoom: 1;
+  z-index: 2;
+}
+.minicart.wrapper .block.minicart > .content {
+  margin-top: -33px;
+}
+.minicart.wrapper .block.minicart > .content .subtotal {
+  *zoom: 1;
+}
+.minicart.wrapper .block.minicart > .content .subtotal:before,
+.minicart.wrapper .block.minicart > .content .subtotal:after {
+  content: "";
+  display: table;
+}
+.minicart.wrapper .block.minicart > .content .subtotal:after {
+  clear: both;
+}
+.minicart.wrapper .block.minicart > .content .subtotal .mark {
+  display: inline-block;
+  font-weight: 600;
+  font-size: 18px;
+  float: left;
+  line-height: 24px;
+}
+.minicart.wrapper .block.minicart > .content .subtotal > .amount {
+  text-align: right;
+  float: right;
+  display: inline-block;
+  font-weight: 700;
+  font-size: 24px;
+  line-height: 24px;
+  color: #da370a;
+}
+.minicart.wrapper .block.minicart > .content .subtotal .amount.incl.tax {
+  display: block;
+  font-size: 14px;
+}
+.minicart.wrapper .block.minicart > .content .subtotal .amount.incl.tax:after {
+  content: ')';
+}
+.minicart.wrapper .block.minicart > .content .subtotal .amount.incl.tax .price:after {
+  content: ' (';
+}
+.minicart.wrapper .block.minicart > .content .disclaimer {
+  font-size: 12px;
+}
+.minicart.wrapper .block.minicart > .content .actions .secondary {
+  margin-top: 15px;
+  margin-bottom: -15px;
+  text-align: right;
+}
+.minicart.wrapper .block.minicart > .content .actions .secondary a {
+  color: #da370a;
+}
+.minicart.wrapper .block.minicart > .content .subtitle {
+  display: block;
+  text-align: left;
+  padding: 0 50px;
+  margin: 0 0 15px 0;
+  font-weight: 400;
+}
+.minicart.wrapper .block.minicart > .content .subtitle.empty {
+  margin: 10px -320px 0 0;
+  padding: 0;
+  float: right;
+  width: 310px;
+  clear: right;
+}
+.minicart.wrapper .block.minicart .minicart.empty.text,
+.minicart.wrapper .block.minicart > .title,
+.minicart.wrapper .block.minicart > .content .subtotal,
+.minicart.wrapper .block.minicart > .content .disclaimer,
+.minicart.wrapper .block.minicart > .content > .actions {
+  margin: 0 -330px 15px 0;
+  text-align: left;
+  float: right;
+  width: 310px;
+  clear: right;
+}
+.minicart.wrapper .block.minicart > .title .text {
+  display: none;
+}
+.minicart.wrapper .block.minicart > .title .qty:before {
+  content: attr(title) ": ";
+}
+.minicart.wrapper .block.minicart .minicart.empty.text {
+  margin-top: 15px;
+}
+.minicart.wrapper .block.minicart > .title strong {
+  font-weight: 400;
+}
+.minicart.wrapper.active {
+  position: relative;
+  z-index: 11;
+}
+.minicart.wrapper.active:before {
+  content: '';
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background: #000;
+  opacity: 0.01;
+}
+.minicart.wrapper.active .block.minicart {
+  left: auto;
+  right: -20px;
+}
+.minicart.wrapper .action.previous,
+.minicart.wrapper .action.next {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  width: 25px;
+  overflow: hidden;
+  position: absolute;
+  right: 10px;
+  top: 50%;
+  margin-top: -22px;
+}
+.minicart.wrapper .action.previous span,
+.minicart.wrapper .action.next span {
+  width: 42px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  color: #c2c2c2;
+  margin-left: -10px;
+  overflow: hidden;
+}
+.minicart.wrapper .action.previous span:after,
+.minicart.wrapper .action.next span:after {
+  font-family: "icons";
+  font-size: 42px;
+  line-height: 42px;
+  height: 42px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e01a";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.minicart.wrapper .action.previous span:active,
+.minicart.wrapper .action.next span:active {
+  outline: 0;
+}
+.minicart.wrapper .action.previous span:after,
+.minicart.wrapper .action.next span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.minicart.wrapper .action.previous[disabled],
+.minicart.wrapper .action.next[disabled] {
+  opacity: 0.3;
+}
+.minicart.wrapper .action.previous {
+  right: auto;
+  left: 0;
+}
+.minicart.wrapper .action.previous span:after {
+  content: "\e01b";
+}
+.minicart.wrapper .action.close {
+  position: absolute;
+  top: 10px;
+  right: 15px;
+}
+.minicart.wrapper p {
+  clear: both;
+}
+.block.minicart.empty > .title,
+.eq-ie8 .minicart.wrapper.active:before {
+  display: none;
+}
+/*
+    Product options
+-------------------------------------- */
+.minicart .product.options.wrapper {
+  position: relative;
+  display: inline;
+  z-index: 1;
+  margin: 7px 0;
+}
+.minicart .product.options.wrapper .more {
+  color: #675f55;
+  font-size: 12px;
+  line-height: 1;
+  padding: 0;
+  border-bottom: 1px dotted #675f55;
+  cursor: help;
+}
+.minicart .product.options.wrapper:hover {
+  z-index: 99;
+}
+.minicart .product.options.wrapper:hover .product.options.details {
+  display: block;
+}
+.minicart .product.options.wrapper:hover:before {
+  content: '';
+  border-left: 10px solid rgba(0, 0, 0, 0.8);
+  border-top: 10px solid transparent;
+  border-bottom: 10px solid transparent;
+  height: 0;
+  width: 0;
+  overflow: hidden;
+  display: block;
+  position: absolute;
+  top: 0;
+  margin-top: 0;
+  left: -10px;
+  zoom: 1;
+  z-index: 2;
+}
+.minicart .product.options.details {
+  display: none;
+  position: absolute;
+  background: rgba(0, 0, 0, 0.8);
+  border-radius: 6px;
+  padding: 10px;
+  right: 100%;
+  top: 50%;
+  margin-top: -20px;
+  margin-right: 10px;
+  float: left;
+  max-width: 200px;
+  min-width: 100px;
+  color: #ffffff;
+}
+.minicart .product.options.details .title {
+  font-weight: 600;
+}
+.minicart .product.options.list {
+  padding-left: 10px;
+}
+.minicart .product.options.list dt {
+  font-size: 12px;
+  display: inline;
+  margin: 0;
+  padding: 0;
+  font-weight: 600;
+}
+.minicart .product.options.list dt:after {
+  content: ': ';
+}
+.minicart .product.options.list dt:before {
+  content: '';
+  display: block;
+}
+.minicart .product.options.list dd {
+  font-size: 12px;
+  display: inline-block;
+  padding: 0;
+  margin: 0;
+}
+.minicart .item:not(.shown) + .shown .product.options.details,
+.minicart :first-child .product.options.details {
+  right: auto;
+  left: 100%;
+  margin-left: 10px;
+}
+.minicart .item:not(.shown) + .shown .product.options.wrapper:before,
+.minicart :first-child .product.options.wrapper:before {
+  border-right: 10px solid rgba(0, 0, 0, 0.8);
+  border-left: 0;
+  left: auto;
+  right: -10px;
+}
+.minicart.wrapper .block.minicart > .content > .actions .primary {
+  *zoom: 1;
+  text-align: center;
+}
+.minicart.wrapper .block.minicart > .content > .actions .primary:before,
+.minicart.wrapper .block.minicart > .content > .actions .primary:after {
+  content: "";
+  display: table;
+}
+.minicart.wrapper .block.minicart > .content > .actions .primary:after {
+  clear: both;
+}
+.minicart.wrapper .block.minicart > .content > .actions .primary .checkout.paypal {
+  display: inline;
+}
+.minicart.wrapper .block.minicart > .content > .actions .primary .checkout.paypal input[type="image"] {
+  margin-top: 5px;
+  float: left;
+}
+.minicart.wrapper .block.minicart > .content > .actions .primary .checkout.paypal:after {
+  float: none;
+}
+.minicart.wrapper .block.minicart > .content > .actions .primary .checkout.paypal + .action.checkout {
+  float: right;
+}
+.block.minicart .products.minilist {
+  float: left;
+  padding: 0;
+  border-right: 1px solid #d7d7d7;
+  max-width: 561px;
+  padding: 0 30px;
+  position: relative;
+  z-index: 1;
+}
+.block.minicart .products.minilist .minilist.items {
+  position: relative;
+  white-space: nowrap;
+}
+.block.minicart .products.minilist.animation {
+  position: relative;
+}
+.block.minicart .products.minilist.animation .items-wrapper {
+  overflow: hidden;
+}
+.block.minicart .products.minilist.animation .item {
+  visibility: visible;
+}
+.block.minicart .products.minilist .item {
+  padding: 0 20px;
+  vertical-align: top;
+  text-align: left;
+  white-space: normal;
+  display: none;
+  display: inline-block;
+  width: 187px;
+  visibility: hidden;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  margin-left: 0;
+}
+.block.minicart .products.minilist .item:before {
+  content: '';
+  width: 0;
+  display: block;
+  border-left: 1px solid #d7d7d7;
+  height: 100%;
+  margin-left: -20px;
+  position: absolute;
+}
+.block.minicart .products.minilist .item.item:not(.shown) + .shown:before,
+.block.minicart .products.minilist .item:first-child:before {
+  display: none;
+}
+.wrapper.active .block.minicart .products.minilist .item.shown {
+  visibility: visible;
+}
+.block.minicart .products.minilist .item.hidden {
+  margin-left: -187px !important;
+}
+.block.minicart .products.minilist .item .product.photo {
+  display: block;
+  margin-bottom: 10px;
+}
+.block.minicart .products.minilist .item .product.photo .photo.container {
+  overflow: visible !important;
+  margin: 0 auto;
+}
+.block.minicart .products.minilist .item .product.photo .photo.image {
+  border: 1px solid #dcdcdc;
+  display: block;
+  margin: 0 auto;
+}
+.block.minicart .products.minilist .item .pricing {
+  margin-top: 10px;
+}
+.block.minicart .products.minilist .item .pricing:not(.complex) .label.display {
+  display: none;
+}
+.block.minicart .products.minilist .item .pricing .label:after {
+  content: ': ';
+}
+.block.minicart .products.minilist .item .actions {
+  float: right;
+}
+.block.minicart .products.minilist .item .action.edit {
+  font-size: 12px;
+}
+.block.minicart .products.minilist .item .product.options.wrapper + .action.edit {
+  margin-right: 8px;
+}
+.block.minicart .products.minilist .item .product.options.wrapper + .action.edit:before {
+  content: '|';
+  display: inline-block;
+  text-decoration: none;
+  padding: 0 8px;
+  margin-right: -16px;
+}
+.block.minicart .products.minilist .item .product.options.wrapper + .action.edit:hover:before {
+  color: #675f55;
+}
+.block.minicart .products.minilist .item .action.delete {
+  position: absolute;
+  margin-left: -5px;
+  margin-top: -1.35em;
+  bottom: 0;
+}
+.eq-ie8 .block.minicart .products.minilist .action.delete,
+.eq-ie8 .block.minicart .products.minilist .action.edit {
+  visibility: hidden;
+}
+.eq-ie8 .block.minicart .products.minilist .shown .action.delete,
+.eq-ie8 .block.minicart .products.minilist .shown .action.edit {
+  visibility: visible;
+}
+.eq-ie8 .block.minicart .products.minilist .item:before {
+  border-left: 0;
+}
+.action.delete {
+  display: inline-block;
+}
+.action.delete span {
+  color: #c2c2c2;
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.action.delete span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e000";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.delete span:active {
+  outline: 0;
+}
+.action.delete span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.action.delete:focus,
+.action.delete:active,
+.action.delete:hover {
+  outline: none;
+}
+.action.delete:focus span,
+.action.delete:active span,
+.action.delete:hover span {
+  color: #999999;
+}
+.action.checkout.shadow span {
+  text-shadow: 0px 1px 2px #000;
+}
+.action.close {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+}
+.action.close span {
+  width: 11px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.action.close span:after {
+  font-family: "icons";
+  font-size: 11px;
+  line-height: 11px;
+  height: 11px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e012";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.close span:active {
+  outline: 0;
+}
+.action.close span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.action.showcart {
+  width: 32px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  margin-top: 20px;
+  margin-left: 20px;
+  color: #837d75;
+  position: relative;
+}
+.action.showcart:after {
+  font-family: "icons";
+  font-size: 32px;
+  line-height: 32px;
+  height: 32px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e014";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.showcart:active {
+  outline: 0;
+}
+.action.showcart:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.action.showcart:hover,
+.action.showcart:active,
+.action.showcart:focus,
+.action.showcart.active {
+  color: #999999;
+  outline: none;
+}
+.action.showcart .qty {
+  position: absolute;
+  left: 70%;
+  top: 0;
+  margin-top: -30%;
+  text-indent: 0;
+  background: #da370a;
+  display: inline-block;
+  border: 1px solid #da370a;
+  border-radius: 50px;
+  font-size: 14px;
+  font-weight: 600;
+  color: #fff;
+  line-height: 1.7em;
+  vertical-align: middle;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  min-width: 1.87em;
+  min-height: 1.7em;
+  text-align: center;
+  padding: 0 4px;
+}
+.action.showcart .qty.empty {
+  display: none;
+}
+/*
+    Paypal button
+-------------------------------------- */
+.checkout.paypal {
+  display: none;
+  display: inline-block;
+  vertical-align: top;
+}
+.checkout.paypal input[type="image"] {
+  display: inline-block;
+  vertical-align: top;
+}
+.checkout.paypal.before:before {
+  content: "- " attr(data-label) " -";
+  text-transform: uppercase;
+  display: inline-block;
+  line-height: 32px;
+  font-size: 14px;
+  vertical-align: middle;
+  margin: 0 5px;
+}
+.checkout.paypal.after:after {
+  content: "- " attr(data-label) " -";
+  text-transform: uppercase;
+  display: inline-block;
+  line-height: 32px;
+  font-size: 14px;
+  vertical-align: middle;
+  margin: 0 5px;
+}
+.box.tocart .checkout.paypal.after:after {
+  display: none;
+}
+.box.tocart .checkout.paypal.after:before {
+  content: "- " attr(data-label) " -";
+  text-transform: uppercase;
+  display: inline-block;
+  line-height: 32px;
+  font-size: 14px;
+  vertical-align: middle;
+  margin: 0 5px;
+}
+.checkout.methods .checkout.paypal.after:after {
+  display: block;
+  text-align: center;
+}
+/*
+    Magento_Sales
+-------------------------------------- */
+.block.reorder {
+  padding-right: 30px;
+}
+.block.reorder .item {
+  padding-left: 20px;
+}
+.block.reorder .item input {
+  float: left;
+  margin-top: 2px;
+  margin-left: -20px;
+}
+.block.reorder .subtitle {
+  display: block;
+  margin: 0 0 15px;
+  font-weight: 600;
+}
+.block.reorder .actions {
+  margin: 15px 0 0;
+}
+.block.reorder .actions .primary,
+.block.reorder .actions .secondary {
+  margin-right: 5px;
+  display: inline-block;
+  vertical-align: middle;
+}
+/*
+    Magento_Newsletter
+-------------------------------------- */
+.block.newsletter {
+  text-align: left;
+}
+.block.newsletter .title {
+  display: none;
+}
+.block.newsletter .field {
+  *zoom: 1;
+}
+.block.newsletter .field:before,
+.block.newsletter .field:after {
+  content: "";
+  display: table;
+}
+.block.newsletter .field:after {
+  clear: both;
+}
+.block.newsletter .label {
+  display: block;
+  font-size: 16px;
+  margin-bottom: 10px;
+  line-height: 1.2;
+}
+.block.newsletter .control {
+  float: left;
+  width: 100%;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  padding-right: 45px;
+}
+.block.newsletter .actions {
+  padding-left: 10px;
+  float: right;
+  margin-left: -45px;
+}
+.block.newsletter input[type="text"] {
+  width: 100%;
+}
+.footer .block.newsletter {
+  width: 310px;
+  float: right;
+}
+.action.subscribe {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  background: #da370a;
+  border-radius: 3px;
+  padding: 7px;
+  border: 1px solid #da370a;
+  vertical-align: top;
+}
+.action.subscribe span {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  color: #fff;
+}
+.action.subscribe span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e001";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.subscribe span:active {
+  outline: 0;
+}
+.action.subscribe span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.form.newsletter.manage .fieldset {
+  margin: 0 0 20px;
+  padding: 0;
+  border: 0;
+}
+.form.newsletter.manage .fieldset .legend {
+  float: left;
+  margin: 0 0 20px;
+  font-weight: 600;
+}
+.form.newsletter.manage .fieldset .legend + br {
+  display: block;
+  clear: both;
+}
+.form.newsletter.manage .actions .primary {
+  margin-bottom: 15px;
+}
+/*
+    Widgets
+-------------------------------------- */
+.widget ul {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+/*
+    Magento_Catalog
+    Compare
+-------------------------------------- */
+.block.compare > .title .qty {
+  font-size: 16px;
+  margin-right: -5px;
+}
+.block.compare > .title .qty:before {
+  content: '(';
+}
+.block.compare > .title .qty:after {
+  content: ')';
+}
+.block.compare .item {
+  padding-right: 20px;
+  overflow: hidden;
+}
+.block.compare .product.name {
+  float: left;
+}
+.block.compare .action.delete {
+  margin-right: -20px;
+  float: right;
+}
+.block.compare .action.compare {
+  float: right;
+}
+.block.compare .action.clear {
+  float: left;
+  margin-top: 10px;
+}
+.block.compare .actions {
+  *zoom: 1;
+  margin-top: 15px;
+}
+.block.compare .actions:before,
+.block.compare .actions:after {
+  content: "";
+  display: table;
+}
+.block.compare .actions:after {
+  clear: both;
+}
+.catalog-product-compare-index .action.print {
+  float: right;
+  margin-top: -50px;
+}
+.comparison.wrapper {
+  clear: both;
+  position: relative;
+  z-index: 1;
+  margin-bottom: 50px;
+}
+.comparison.wrapper:after {
+  content: '';
+  position: absolute;
+  z-index: 2;
+  right: 0;
+  top: 0;
+  height: 100%;
+  width: 15px;
+}
+.comparison.container {
+  overflow-y: hidden;
+  overflow-x: auto;
+}
+.data.comparison {
+  table-layout: fixed;
+}
+.data.comparison .cell.label {
+  width: 130px;
+  padding-left: 10px;
+  font-weight: 600;
+  text-align: left;
+  border-right: 1px solid #e5e5e5;
+}
+.data.comparison .cell.label .attribute.label {
+  display: block;
+  width: 100%;
+  word-break: break-all;
+}
+.data.comparison .cell.label.product {
+  border-bottom: 1px solid #e5e5e5;
+}
+.data.comparison .cell {
+  padding: 15px;
+  vertical-align: top;
+}
+.data.comparison .cell p:first-child {
+  margin-top: 0;
+}
+.data.comparison .cell .attibute.value {
+  width: 100%;
+  overflow: hidden;
+}
+.data.comparison .cell.product {
+  width: 140px;
+}
+.data.comparison .cell.product.info {
+  border-bottom: 1px solid #e5e5e5;
+}
+.data.comparison .cell.attribute {
+  font-size: 12px;
+}
+.data.comparison td:last-child {
+  border-right: 1px solid #e5e5e5;
+}
+.data.comparison tr:nth-child(odd) .cell.attribute {
+  background-color: #f8f8f8;
+}
+.data.comparison .product.photo {
+  text-align: center;
+  display: block;
+  margin: 0 auto 15px;
+}
+.data.comparison .product.photo .img.photo.container {
+  display: inline-block !important;
+}
+.data.comparison .actions,
+.data.comparison .price-box,
+.data.comparison .product.rating,
+.data.comparison .product.name {
+  margin: 15px 0;
+}
+.data.comparison .addto.links {
+  margin-top: 15px;
+  padding-top: 15px;
+  border-top: 1px solid #e5e5e5;
+  font-size: 12px;
+}
+.data.comparison .cell.remove {
+  padding-top: 0;
+  padding-bottom: 0;
+  text-align: right;
+}
+.data.comparison .cell.remove .action.delete {
+  float: right;
+  padding: 4px;
+  margin-right: -15px;
+}
+.data.comparison .cell.remove .action.delete span {
+  overflow: hidden;
+  line-height: 0;
+}
+.data.comparison .cell.remove .action.delete span:after {
+  content: "\e012";
+  font-size: 12px;
+  color: #fff;
+}
+.comparison.headings {
+  position: absolute;
+  z-index: 2;
+  top: 0;
+  left: 0;
+  width: auto;
+  background-color: #ffffff;
+}
+.comparison.headings th {
+  background-color: #ffffff;
+}
+/*
+    Magento_Catalog
+    Compare
+-------------------------------------- */
+.item.link.compare .qty:before {
+  content: '(';
+}
+.item.link.compare .qty:after {
+  content: ')';
+}
+/*
+    Magento_Catalog
+    Product lists
+-------------------------------------- */
+.block.related .action.select {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  display: inline;
+  color: #332e29;
+  text-decoration: none;
+}
+.block.related .action.select:focus,
+.block.related .action.select:active,
+.block.related .action.select:hover {
+  color: #da370a;
+}
+.block.related .field.choice.related {
+  margin: 0 0 10px;
+}
+.block.widget.viewed,
+.block.crosssell,
+.block.upsell,
+.block.related,
+.block.widget.new,
+.block.widget.compared {
+  clear: both;
+  margin: 30px 0;
+  padding-top: 25px;
+  border-top: 1px solid #e5e5e5;
+}
+.block.widget.viewed .products.list,
+.block.crosssell .products.list,
+.block.upsell .products.list,
+.block.related .products.list,
+.block.widget.new .products.list,
+.block.widget.compared .products.list {
+  clear: both;
+  margin: 0 -20px;
+}
+.block.widget.viewed .products.list .item.product,
+.block.crosssell .products.list .item.product,
+.block.upsell .products.list .item.product,
+.block.related .products.list .item.product,
+.block.widget.new .products.list .item.product,
+.block.widget.compared .products.list .item.product {
+  float: left;
+  width: 33.33333333333333%;
+  margin-right: 0%;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  display: inline-block;
+  vertical-align: top;
+  margin: 0;
+  padding: 20px;
+  float: none;
+}
+.col3-layout .block.widget.viewed .products.list .item.product,
+.col3-layout .block.crosssell .products.list .item.product,
+.col3-layout .block.upsell .products.list .item.product,
+.col3-layout .block.related .products.list .item.product,
+.col3-layout .block.widget.new .products.list .item.product,
+.col3-layout .block.widget.compared .products.list .item.product {
+  width: 50%;
+}
+.block.widget.viewed .products.list .item.product .product.photo,
+.block.crosssell .products.list .item.product .product.photo,
+.block.upsell .products.list .item.product .product.photo,
+.block.related .products.list .item.product .product.photo,
+.block.widget.new .products.list .item.product .product.photo,
+.block.widget.compared .products.list .item.product .product.photo {
+  float: left;
+  margin-right: 20px;
+}
+.block.widget.viewed .products.list .item.product .product.details,
+.block.crosssell .products.list .item.product .product.details,
+.block.upsell .products.list .item.product .product.details,
+.block.related .products.list .item.product .product.details,
+.block.widget.new .products.list .item.product .product.details,
+.block.widget.compared .products.list .item.product .product.details {
+  overflow: hidden;
+}
+.block.widget.viewed .products.list .item.product .product.name,
+.block.crosssell .products.list .item.product .product.name,
+.block.upsell .products.list .item.product .product.name,
+.block.related .products.list .item.product .product.name,
+.block.widget.new .products.list .item.product .product.name,
+.block.widget.compared .products.list .item.product .product.name,
+.block.widget.viewed .products.list .item.product .price-box,
+.block.crosssell .products.list .item.product .price-box,
+.block.upsell .products.list .item.product .price-box,
+.block.related .products.list .item.product .price-box,
+.block.widget.new .products.list .item.product .price-box,
+.block.widget.compared .products.list .item.product .price-box {
+  margin: 0 0 10px;
+}
+.block.widget.viewed .products.list .item.product .addto.links .action:after,
+.block.crosssell .products.list .item.product .addto.links .action:after,
+.block.upsell .products.list .item.product .addto.links .action:after,
+.block.related .products.list .item.product .addto.links .action:after,
+.block.widget.new .products.list .item.product .addto.links .action:after,
+.block.widget.compared .products.list .item.product .addto.links .action:after {
+  content: '';
+  display: block;
+}
+.block.widget.viewed .products.list .item.product .actions,
+.block.crosssell .products.list .item.product .actions,
+.block.upsell .products.list .item.product .actions,
+.block.related .products.list .item.product .actions,
+.block.widget.new .products.list .item.product .actions,
+.block.widget.compared .products.list .item.product .actions {
+  visibility: hidden;
+}
+.block.widget.viewed .products.list .item.product .actions .primary,
+.block.crosssell .products.list .item.product .actions .primary,
+.block.upsell .products.list .item.product .actions .primary,
+.block.related .products.list .item.product .actions .primary,
+.block.widget.new .products.list .item.product .actions .primary,
+.block.widget.compared .products.list .item.product .actions .primary {
+  margin: 0 0 10px;
+}
+.block.widget.viewed .products.list .item.product:hover .actions,
+.block.crosssell .products.list .item.product:hover .actions,
+.block.upsell .products.list .item.product:hover .actions,
+.block.related .products.list .item.product:hover .actions,
+.block.widget.new .products.list .item.product:hover .actions,
+.block.widget.compared .products.list .item.product:hover .actions {
+  visibility: visible;
+}
+.block.crosssell .products.list.items.crosssell {
+  margin: 0 -13px;
+}
+.block.crosssell .products.list.items.crosssell .item.product {
+  float: left;
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  padding: 13px;
+  margin-bottom: 90px;
+}
+.block.crosssell .products.list.items.crosssell .item.product .product.photo {
+  float: none;
+  display: block;
+  margin: 0 0 10px;
+}
+.block.crosssell .products.list.items.crosssell .item.product .actions {
+  position: absolute;
+}
+.block.widget.viewed .products.list.items.widget-viewed-grid .item.product {
+  float: left;
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  float: none;
+  display: inline-block;
+}
+.col2-left-layout .block.widget.viewed .products.list.items.widget-viewed-grid .item.product,
+.col2-right-layout .block.widget.viewed .products.list.items.widget-viewed-grid .item.product {
+  width: 19.99%;
+}
+.col3-layout .block.widget.viewed .products.list.items.widget-viewed-grid .item.product {
+  width: 25%;
+}
+.block.widget.viewed .products.list.items.widget-viewed-grid .item.product .product.photo {
+  float: none;
+  display: block;
+  margin: 0 0 10px;
+}
+.block.widget.viewed .products.list.items.widget-viewed-list .item.product {
+  float: left;
+  width: 100%;
+  margin-right: 0%;
+  float: none;
+  display: inline-block;
+}
+.block.widget.compared .products.list.items.widget-compared-grid .item.product {
+  float: left;
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  float: none;
+  display: inline-block;
+}
+.col2-left-layout .block.widget.compared .products.list.items.widget-compared-grid .item.product,
+.col2-right-layout .block.widget.compared .products.list.items.widget-compared-grid .item.product {
+  width: 19.99%;
+}
+.col3-layout .block.widget.compared .products.list.items.widget-compared-grid .item.product {
+  width: 25%;
+}
+.block.widget.compared .products.list.items.widget-compared-grid .item.product .product.photo {
+  float: none;
+  display: block;
+  margin: 0 0 10px;
+}
+.block.widget.compared .products.list.items.widget-compared-list .item.product {
+  float: left;
+  width: 100%;
+  margin-right: 0%;
+  float: none;
+  display: inline-block;
+}
+.block.widget.new .products.list.items.widget-new-grid .item.product {
+  width: 20%;
+  float: none;
+  display: inline-block;
+}
+.col2-left-layout .block.widget.new .products.list.items.widget-new-grid .item.product,
+.col2-right-layout .block.widget.new .products.list.items.widget-new-grid .item.product {
+  float: left;
+  width: 25%;
+  margin-right: 0%;
+  float: none;
+  display: inline-block;
+}
+.col3-layout .block.widget.new .products.list.items.widget-new-grid .item.product {
+  float: left;
+  width: 33.33333333333333%;
+  margin-right: 0%;
+  float: none;
+  display: inline-block;
+}
+.block.widget.new .products.list.items.widget-new-grid .item.product .product.photo {
+  float: none;
+  display: block;
+  margin: 0 0 10px;
+}
+.block.widget.new .products.list.items.widget-new-list .item.product {
+  float: left;
+  width: 100%;
+  margin-right: 0%;
+  float: none;
+  display: inline-block;
+}
+.product.info.detailed + .block.upsell,
+.product.info.detailed + .block.related {
+  margin-top: 70px;
+  clear: none;
+  float: right;
+  width: 140px;
+  border-top: 0;
+  padding-top: 0;
+  padding-left: 25px;
+  border-left: 1px solid #e5e5e5;
+}
+.product.info.detailed + .block.upsell .products.list,
+.product.info.detailed + .block.related .products.list {
+  margin: 0;
+}
+.product.info.detailed + .block.upsell .products.list .item.product,
+.product.info.detailed + .block.related .products.list .item.product {
+  display: block;
+  width: auto;
+  padding: 13px 0;
+}
+.product.info.detailed + .block.upsell .products.list .item.product .product.photo,
+.product.info.detailed + .block.related .products.list .item.product .product.photo {
+  float: none;
+  display: block;
+  margin: 0 0 10px;
+}
+.block.widget .pager {
+  float: right;
+}
+.block.widget .pager .amount {
+  float: left;
+  line-height: 25px;
+  margin: 2px 15px 0 0;
+  display: none;
+}
+.block.widget .pager .text {
+  display: none;
+}
+.block.widget .pages {
+  margin-left: 15px;
+  float: left;
+}
+.block.widget .pages .label {
+  line-height: 25px;
+  display: inline-block;
+}
+.block.widget .pages strong.label {
+  font-weight: 400;
+  float: left;
+  line-height: 25px;
+  margin-top: 2px;
+  margin-right: 5px;
+  display: none;
+}
+.block.widget .pages input {
+  width: 30px;
+  margin: 0 5px;
+  text-align: center;
+  padding: 0 5px;
+  height: 25px;
+  line-height: 25px;
+}
+.block.widget .pages > ol {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  display: inline-block;
+  vertical-align: top;
+  margin-top: 2px;
+  line-height: 25px;
+  vertical-align: middle;
+}
+.block.widget .pages > ol li {
+  display: inline;
+}
+.block.widget .pages > ol strong,
+.block.widget .pages > ol a {
+  padding: 0 3px;
+}
+.block.widget .pages > ol strong {
+  font-weight: 400;
+  color: #da370a;
+}
+.block.widget .action.next,
+.block.widget .action.previous {
+  overflow: hidden;
+  display: inline-block;
+  vertical-align: middle;
+}
+.block.widget .action.next span,
+.block.widget .action.previous span {
+  color: #c2c2c2;
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.block.widget .action.next span:after,
+.block.widget .action.previous span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: '';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.block.widget .action.next span:active,
+.block.widget .action.previous span:active {
+  outline: 0;
+}
+.block.widget .action.next span:after,
+.block.widget .action.previous span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.block.widget .action.next span:after {
+  content: "\e016";
+}
+.block.widget .action.previous span:after {
+  content: "\e017";
+}
+/*
+    Magento_Catalog
+    Layered Navigation
+-------------------------------------- */
+.block.filter .subtitle {
+  display: none;
+}
+.block.filter > .content {
+  padding: 0;
+}
+.block.filter .filtered .item {
+  border-top: 1px solid #c2c2c2;
+  padding: 2px 0 5px;
+  margin: 0 0 5px;
+  position: relative;
+  z-index: 1;
+}
+.block.filter .filtered .label {
+  font-weight: 600;
+  text-transform: uppercase;
+  display: block;
+}
+.block.filter .action.remove {
+  overflow: hidden;
+  display: inline-block;
+  padding: 4px;
+  position: absolute;
+  top: -1px;
+  right: 0;
+  background: #c2c2c2;
+}
+.block.filter .action.remove span {
+  color: #fff;
+  width: 13px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.block.filter .action.remove span:after {
+  font-family: "icons";
+  font-size: 13px;
+  line-height: 13px;
+  height: 13px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e012";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.block.filter .action.remove span:active {
+  outline: 0;
+}
+.block.filter .action.remove span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.block.filter .actions {
+  margin-bottom: 30px;
+}
+.block.filter .action.reset {
+  font-size: 12px;
+  text-transform: lowercase;
+  text-decoration: underline;
+}
+.block.filter dt {
+  text-transform: uppercase;
+}
+.block.filter dd {
+  margin: 0;
+  padding: 15px 0 25px;
+}
+.block.filter .count {
+  font-size: 12px;
+}
+.block.filter .count:before {
+  content: ' (';
+}
+.block.filter .count:after {
+  content: ')';
+}
+/*
+    Magento_Catalog
+    Product Listing
+-------------------------------------- */
+.toolbar {
+  clear: both;
+  margin: 17px 0;
+  *zoom: 1;
+}
+.toolbar:first-child {
+  margin-top: 0;
+}
+.toolbar.alternative {
+  direction: rtl;
+}
+.toolbar.alternative .pager {
+  direction: ltr;
+}
+.toolbar.alternative .settings {
+  display: inline;
+  direction: ltr;
+}
+.toolbar.alternative .pages,
+.toolbar.alternative .amount,
+.toolbar.alternative .limiter {
+  border-left: 1px solid #e5e5e5;
+  padding: 2px 0 2px 15px;
+}
+.toolbar .amount {
+  display: none;
+}
+.toolbar:before,
+.toolbar:after {
+  content: "";
+  display: table;
+}
+.toolbar:after {
+  clear: both;
+}
+.toolbar .settings {
+  display: inline;
+}
+.toolbar .modes {
+  margin-left: 30px;
+  display: inline-block;
+  margin-top: 3px;
+  margin-right: 14px;
+  vertical-align: top;
+}
+.toolbar .modes .label {
+  display: none;
+}
+.toolbar .limiter,
+.toolbar .sorter {
+  *zoom: 1;
+  padding: 2px 0;
+  float: left;
+  display: inline-block;
+}
+.toolbar .limiter:before,
+.toolbar .sorter:before,
+.toolbar .limiter:after,
+.toolbar .sorter:after {
+  content: "";
+  display: table;
+}
+.toolbar .limiter:after,
+.toolbar .sorter:after {
+  clear: both;
+}
+.toolbar .limiter select,
+.toolbar .sorter select {
+  margin-top: 1px;
+  margin-right: 5px;
+}
+.toolbar .options {
+  float: left;
+  border: 1px solid #e5e5e5;
+  white-space: nowrap;
+  height: 23px;
+  line-height: 23px;
+  overflow: visible;
+  display: block;
+  padding: 0 7px;
+}
+.toolbar .options .current {
+  font-weight: 400;
+  float: left;
+  padding-right: 7px;
+}
+.toolbar .options ul {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  height: 0;
+  overflow: hidden;
+  clear: both;
+  padding: 0 30px 0 7px;
+  margin: 0 -8px;
+  border: 1px solid #c2c2c2;
+  visibility: hidden;
+  top: -24px;
+  background: #fff;
+  position: relative;
+  z-index: 2;
+}
+.toolbar .options .action.switch {
+  float: right;
+  margin-top: 4px;
+}
+.toolbar .options .selected {
+  color: #da370a;
+}
+.toolbar .options.active ul {
+  height: auto;
+  visibility: visible;
+}
+.toolbar .pager {
+  float: right;
+}
+.toolbar .pager .amount {
+  float: left;
+  line-height: 25px;
+  margin: 2px 15px 0 0;
+}
+.toolbar .pager .text {
+  display: none;
+}
+.toolbar .pages {
+  margin-left: 15px;
+  float: left;
+}
+.toolbar .pages .label {
+  line-height: 25px;
+  display: inline-block;
+}
+.toolbar .pages strong.label {
+  font-weight: 400;
+  float: left;
+  line-height: 25px;
+  margin-top: 2px;
+  margin-right: 5px;
+  display: none;
+}
+.toolbar .pages input {
+  width: 30px;
+  margin: 0 5px;
+  text-align: center;
+  padding: 0 5px;
+  height: 25px;
+  line-height: 25px;
+}
+.toolbar .pages > ol {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  display: inline-block;
+  vertical-align: top;
+  margin-top: 2px;
+  line-height: 25px;
+  vertical-align: middle;
+}
+.toolbar .pages > ol li {
+  display: inline;
+}
+.toolbar .pages > ol strong,
+.toolbar .pages > ol a {
+  padding: 0 3px;
+}
+.toolbar .pages > ol strong {
+  font-weight: 400;
+  color: #da370a;
+}
+/*
+    Magento_Catalog
+    Product List
+-------------------------------------- */
+.products.wrapper .products.list .item {
+  z-index: 1;
+  position: relative;
+  border: 1px solid transparent;
+  background: transparent;
+}
+.products.wrapper .products.list .item .product.photo {
+  display: block;
+  margin-bottom: 10px;
+  text-align: center;
+}
+.products.wrapper .products.list .item .product.photo > .photo {
+  display: block;
+  margin: 0 auto;
+}
+.products.wrapper .products.list .item:hover {
+  border: 1px solid #c2c2c2;
+  background: #f8f8f8;
+  z-index: 99;
+}
+.products.wrapper .products.list .item:hover .product.actions {
+  opacity: 1;
+  visibility: hidden;
+}
+.products.wrapper .products.list .item:hover .product.actions .action.tocart,
+.products.wrapper .products.list .item:hover .product.actions .secondary {
+  visibility: visible;
+}
+.products.wrapper .products.list .item .product.actions {
+  opacity: 0.8;
+  visibility: hidden;
+}
+.products.wrapper .products.list .item .product.actions .action.tocart,
+.products.wrapper .products.list .item .product.actions .secondary {
+  visibility: hidden;
+}
+.products.wrapper .products.list .item .price-box,
+.products.wrapper .products.list .item .product.reviews {
+  display: block;
+  margin-bottom: 7px;
+}
+.products.wrapper .products.list .item .secondary {
+  border: solid #c2c2c2;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  white-space: nowrap;
+  position: absolute;
+}
+.products.wrapper .products.list .item .secondary .action {
+  padding: 10px;
+  white-space: normal;
+  vertical-align: top;
+  display: inline-block;
+  line-height: 1;
+}
+.products.wrapper.grid {
+  margin-bottom: 20px;
+}
+.products.wrapper.grid .products.list .item.product {
+  float: left;
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  display: inline-block;
+  float: none;
+  padding: 9px 9px 9px;
+  vertical-align: top;
+}
+.col2-left-layout .products.wrapper.grid .products.list .item.product,
+.col2-right-layout .products.wrapper.grid .products.list .item.product {
+  float: left;
+  width: 25%;
+  margin-right: 0%;
+  display: inline-block;
+  float: none;
+  margin-bottom: 30px;
+}
+.col3-layout .products.wrapper.grid .products.list .item.product {
+  float: left;
+  width: 33.33333333333333%;
+  margin-right: 0%;
+  display: inline-block;
+  float: none;
+  margin-bottom: 30px;
+}
+.products.wrapper.grid .products.list .secondary {
+  border-width: 1px;
+  background: #f8f8f8;
+  top: 100%;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  left: -1px;
+  right: -1px;
+}
+.products.wrapper.grid .products.list .secondary .action {
+  padding: 10px 0;
+  text-align: center;
+  width: 49%;
+}
+.products.wrapper.list .products.list {
+  margin-bottom: 20px;
+}
+.products.wrapper.list .products.list .item.product {
+  *zoom: 1;
+  display: block;
+  border-bottom: 1px solid #c2c2c2;
+  padding: 9px 9px 9px 9px;
+  margin-bottom: -1px;
+}
+.products.wrapper.list .products.list .item.product:before,
+.products.wrapper.list .products.list .item.product:after {
+  content: "";
+  display: table;
+}
+.products.wrapper.list .products.list .item.product:after {
+  clear: both;
+}
+.products.wrapper.list .products.list .item.product .product.details {
+  padding-bottom: 40px;
+}
+.products.wrapper.list .products.list .product.details {
+  display: table;
+}
+.products.wrapper.list .products.list .product.photo {
+  float: left;
+  margin-right: 9px;
+  margin-bottom: 0;
+}
+.products.wrapper.list .products.list .secondary {
+  bottom: 0;
+  top: auto !important;
+  margin-left: 18px;
+  border-width: 1px 0 0;
+  right: 20px;
+}
+.products.wrapper.list .products.list .product.description {
+  margin: 9px 0;
+}
+/*
+    General product item styling
+-------------------------------------- */
+.product.name {
+  color: #675f55;
+  font-weight: 600;
+  line-height: 1.2;
+  display: block;
+  margin-bottom: 10px;
+}
+.price-box p,
+.pricing p {
+  margin: 5px 0;
+}
+.price-box p:first-child,
+.pricing p:first-child {
+  margin-top: 0;
+}
+.price-box p:last-child,
+.pricing p:last-child {
+  margin-bottom: 0;
+}
+.stock[title] {
+  line-height: 16px;
+}
+.stock[title] span:before {
+  content: '';
+  line-height: 16px;
+  background: #42b649;
+  display: inline-block;
+  border-radius: 5px;
+  width: 10px;
+  height: 10px;
+  margin-right: 5px;
+  vertical-align: middle;
+}
+.stock[title].unavailable {
+  color: #c2c2c2;
+}
+.stock[title].unavailable span:before {
+  background: #c2c2c2;
+}
+.product.item .product.description {
+  font-size: 12px;
+}
+.action.tocart {
+  padding: 5px 11px;
+}
+.block .product.actions .action.tocart {
+  display: inline-block;
+  margin: 10px 0;
+}
+.action.tocompare,
+.action.towishlist {
+  font-size: 12px;
+}
+.action.tocompare span:before,
+.action.towishlist span:before {
+  content: "\002B\00A0";
+}
+.item.product .action.tocompare,
+.item.product .action.towishlist {
+  margin-left: 0;
+}
+/*
+    Magento_Catalog
+    Product View
+-------------------------------------- */
+.fieldset {
+  border: 0;
+  margin: 30px 10px 30px 30px;
+  padding: 0;
+  letter-spacing: -0.31em;
+  word-spacing: -0.43em;
+}
+.fieldset > * {
+  letter-spacing: normal;
+  word-spacing: normal;
+}
+.fieldset > .legend {
+  float: left;
+  font: 400 20px/1.2 "sourcesanspro";
+  margin: -30px 30px 50px -30px;
+  width: 100%;
+}
+.fieldset > .legend + br {
+  display: block;
+  *zoom: 1;
+}
+.fieldset > .legend + br:before,
+.fieldset > .legend + br:after {
+  content: "";
+  display: table;
+}
+.fieldset > .legend + br:after {
+  clear: both;
+}
+.fieldset > .field {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  margin: 0 0 20px;
+}
+.fieldset > .field > .label {
+  display: block;
+  padding-bottom: 5px;
+}
+.fieldset > .field .nested .field {
+  margin: 5px 0;
+}
+.fieldset > .field.choice > .control {
+  width: auto;
+}
+.fieldset > .field.choice > .label {
+  display: inline;
+}
+.fieldset > .field.choice > input {
+  vertical-align: top;
+  margin-top: 2px;
+  margin-right: 5px;
+}
+.fieldset > .field.required > .label > span:first-child:after {
+  content: '*';
+  color: #da370a;
+}
+.fieldset > .field .addon {
+  display: table;
+  padding: 0;
+  width: 100%;
+}
+.fieldset > .field .addon textarea,
+.fieldset > .field .addon select,
+.fieldset > .field .addon input {
+  box-shadow: none;
+  display: table-cell;
+  margin: 0;
+  width: 100%;
+}
+.fieldset > .field .addon .addbefore,
+.fieldset > .field .addon .addafter {
+  height: 0;
+  white-space: nowrap;
+  display: inline-block;
+  display: table-cell;
+  vertical-align: middle;
+  width: 1px;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  height: 32px;
+  line-height: 1;
+  padding: 0 10px;
+}
+.fieldset > .field .addon .addbefore:focus,
+.fieldset > .field .addon .addafter:focus {
+  border-color: #999999;
+}
+.control .fieldset > .field .addon .addbefore,
+.control .fieldset > .field .addon .addafter {
+  width: 100%;
+}
+.fieldset > .field .addon .addbefore:disabled,
+.fieldset > .field .addon .addafter:disabled {
+  opacity: 0.5;
+}
+.fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.fieldset > .field .addon .addafter::-webkit-input-placeholder {
+  line-height: 1.333;
+}
+.fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.fieldset > .field .addon .addafter:-ms-input-placeholder {
+  line-height: 1.333;
+}
+.eq-ie8 .fieldset > .field .addon .addbefore,
+.eq-ie8 .fieldset > .field .addon .addafter {
+  padding-top: 8px;
+}
+.fieldset > .field .note {
+  font-size: 12px;
+  margin-top: 3px;
+  padding-left: 15px;
+}
+.fieldset > .field .note:before {
+  border-bottom: 5px solid #675f55;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  content: '';
+  display: inline-block;
+  font-size: 0;
+  line-height: 0;
+  margin: 4px 0 0 -14px;
+  position: absolute;
+  vertical-align: top;
+  width: 0;
+}
+.product.info.main {
+  float: right;
+  width: 430px;
+  padding-bottom: 30px;
+}
+.col2-left-layout .product.info.main,
+.col2-right-layout .product.info.main {
+  width: 370px;
+}
+.col3-layout .product.info.main {
+  float: none;
+  width: 100%;
+}
+.product.info.main .price-box {
+  font-size: 20px;
+  padding-bottom: 10px;
+  margin: 15px 0;
+  line-height: 1.2;
+  font-weight: 200;
+}
+.product.info.main .page.title.product + .price-box {
+  border-bottom: 1px solid #e5e5e5;
+}
+.product.info.main p {
+  margin: 5px 0;
+}
+.product.info.main .old-price {
+  font-size: 16px;
+}
+.product.info.main .old-price .price {
+  text-decoration: line-through;
+}
+.product.info.main .special-price {
+  color: #da370a;
+}
+.product.info.main .stock {
+  margin: 15px 0;
+}
+.product.info.main .product.options.bottom .price-box {
+  display: none;
+}
+.product.info.main .product.addto.links {
+  margin: 15px 0 0;
+  padding-top: 10px;
+  border-top: 1px solid #e5e5e5;
+}
+.product.info.main .product.addto.links .action {
+  float: left;
+  margin-right: 15px;
+}
+.product.main.info .product.options.wrapper .field {
+  margin: 0 0 10px;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  margin: 0 0 20px;
+}
+.product.main.info .product.options.wrapper .field:last-child {
+  margin-bottom: 0;
+}
+.product.main.info .product.options.wrapper .field .nested {
+  padding: 0 0 0;
+}
+.product.main.info .product.options.wrapper .field .nested .field {
+  margin: 5px 0;
+}
+.product.main.info .product.options.wrapper .field > .label {
+  display: block;
+  padding-bottom: 5px;
+}
+.product.main.info .product.options.wrapper .field .nested .field {
+  margin: 5px 0;
+}
+.product.main.info .product.options.wrapper .field.choice > .control {
+  width: auto;
+}
+.product.main.info .product.options.wrapper .field.choice > .label {
+  display: inline;
+}
+.product.main.info .product.options.wrapper .field.choice > input {
+  vertical-align: top;
+  margin-top: 2px;
+  margin-right: 5px;
+}
+.product.main.info .product.options.wrapper .field.required > .label > span:first-child:after {
+  content: '*';
+  color: #da370a;
+}
+.product.main.info .product.options.wrapper .field .addon {
+  display: table;
+  padding: 0;
+  width: 100%;
+}
+.product.main.info .product.options.wrapper .field .addon textarea,
+.product.main.info .product.options.wrapper .field .addon select,
+.product.main.info .product.options.wrapper .field .addon input {
+  box-shadow: none;
+  display: table-cell;
+  margin: 0;
+  width: 100%;
+}
+.product.main.info .product.options.wrapper .field .addon .addbefore,
+.product.main.info .product.options.wrapper .field .addon .addafter {
+  height: 0;
+  white-space: nowrap;
+  display: inline-block;
+  display: table-cell;
+  vertical-align: middle;
+  width: 1px;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  height: 32px;
+  line-height: 1;
+  padding: 0 10px;
+}
+.product.main.info .product.options.wrapper .field .addon .addbefore:focus,
+.product.main.info .product.options.wrapper .field .addon .addafter:focus {
+  border-color: #999999;
+}
+.control .product.main.info .product.options.wrapper .field .addon .addbefore,
+.control .product.main.info .product.options.wrapper .field .addon .addafter {
+  width: 100%;
+}
+.product.main.info .product.options.wrapper .field .addon .addbefore:disabled,
+.product.main.info .product.options.wrapper .field .addon .addafter:disabled {
+  opacity: 0.5;
+}
+.product.main.info .product.options.wrapper .field .addon .addbefore::-webkit-input-placeholder,
+.product.main.info .product.options.wrapper .field .addon .addafter::-webkit-input-placeholder {
+  line-height: 1.333;
+}
+.product.main.info .product.options.wrapper .field .addon .addbefore:-ms-input-placeholder,
+.product.main.info .product.options.wrapper .field .addon .addafter:-ms-input-placeholder {
+  line-height: 1.333;
+}
+.eq-ie8 .product.main.info .product.options.wrapper .field .addon .addbefore,
+.eq-ie8 .product.main.info .product.options.wrapper .field .addon .addafter {
+  padding-top: 8px;
+}
+.product.main.info .product.options.wrapper .field .note {
+  font-size: 12px;
+  margin-top: 3px;
+  padding-left: 15px;
+}
+.product.main.info .product.options.wrapper .field .note:before {
+  border-bottom: 5px solid #675f55;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  content: '';
+  display: inline-block;
+  font-size: 0;
+  line-height: 0;
+  margin: 4px 0 0 -14px;
+  position: absolute;
+  vertical-align: top;
+  width: 0;
+}
+.product.main.info .product.options.wrapper .field:not(.choice) > .label {
+  text-transform: uppercase;
+  font-weight: 600;
+  padding: 0 0 5px;
+}
+.type-configurable .product.main.info .product.options.wrapper select {
+  min-width: 40%;
+  width: auto;
+  padding: 2px;
+}
+.product.main.info .product.options.wrapper .fieldset {
+  margin: 0;
+}
+.product.main.info .product.options.wrapper .fieldset .field.required .control .field.choice .label span:after {
+  content: "";
+}
+.product.main.info .product.options.wrapper .fieldset .field.date input[type="text"] {
+  width: auto;
+}
+.product.main.info .product.options.wrapper .fieldset .datetime-picker + .ui-datepicker-trigger {
+  margin: 0 15px 0 7px;
+}
+.action.primary.customize,
+.action.primary.tocart {
+  line-height: 16px;
+  padding: 9px 15px;
+}
+.action.primary.customize span,
+.action.primary.tocart span {
+  font-weight: 400;
+  font-size: 16px;
+}
+.product.media {
+  float: left;
+  width: 540px;
+  padding-bottom: 30px;
+}
+.col2-left-layout .product.media,
+.col2-right-layout .product.media {
+  width: 400px;
+}
+.col3-layout .product.media {
+  float: none;
+  width: 100%;
+}
+.box.tocart {
+  *zoom: 1;
+  margin: 15px 0;
+}
+.box.tocart:before,
+.box.tocart:after {
+  content: "";
+  display: table;
+}
+.box.tocart:after {
+  clear: both;
+}
+.box.tocart .field {
+  float: left;
+  padding-right: 10px;
+}
+.box.tocart .label {
+  display: block;
+  text-align: left;
+  font-weight: 600;
+  text-transform: uppercase;
+  line-height: 25px;
+}
+.box.tocart .control {
+  width: 60px;
+  text-align: center;
+}
+.box.tocart .actions {
+  float: left;
+  padding-top: 24px;
+}
+.box.tocart .qty {
+  text-align: center;
+}
+.prices.tier {
+  padding: 20px;
+  margin: 15px 0;
+  background: #f8f8f8;
+}
+.prices.tier strong {
+  font-weight: 400;
+}
+.product.social.links {
+  float: right;
+  text-align: right;
+}
+.action.mailto span {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  color: #c2c2c2;
+}
+.action.mailto span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e001";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.mailto span:active {
+  outline: 0;
+}
+.action.mailto span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.product.photo.thumbs {
+  float: left;
+  padding-left: 15px;
+}
+.product.photo.thumbs .title {
+  display: none;
+}
+.product.photo.thumbs .item.thumb {
+  margin-bottom: 8px;
+}
+.product.photo.thumbs .item.thumb img {
+  border: 1px solid transparent;
+}
+.product.photo.thumbs .item.thumb .active img {
+  border: 1px solid #837d75;
+}
+.product.photo.main {
+  float: left;
+  text-align: center;
+}
+.product.photo.main .notice {
+  font-size: 11px;
+}
+.product.attibute.sku {
+  font-size: 12px;
+}
+.product.attibute.sku .value {
+  display: inline;
+}
+.product.attibute.sku .type:after {
+  content: '#';
+}
+@media only screen and (max-width: 99999px) {
+  .product.data {
+    float: left;
+    width: 83.33333333333334%;
+    margin-right: 0%;
+    *zoom: 1;
+    position: relative;
+    z-index: 1;
+  }
+  .product.data:before,
+  .product.data:after {
+    content: "";
+    display: table;
+  }
+  .product.data:after {
+    clear: both;
+  }
+  .product.data > .item.title {
+    float: left;
+  }
+  .product.data > .item.title > .switch {
+    display: block;
+    position: relative;
+    top: 1px;
+    z-index: 2;
+  }
+  .product.data > .item.content {
+    width: 100%;
+    float: right;
+    margin-left: -100%;
+    display: none;
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+  }
+  .product.data > .item.content.active {
+    display: block;
+  }
+  .product.data .tabs > .term-content.active {
+    border: 1px solid #BFBFBF;
+    color: #808080;
+    display: block;
+  }
+  .product.data > .item.title {
+    margin-right: 1px;
+    min-height: 35px;
+  }
+  .product.data > .item.title > .switch {
+    font-size: 14px;
+    line-height: 1;
+    font-weight: 600;
+    text-decoration: none;
+    padding: 11px 11px 8px;
+    border: 2px solid #e5e5e5;
+    background: rgba(0, 0, 0, 0.03);
+    border-bottom: none;
+    text-transform: uppercase;
+    border-radius: 4px 4px 0 0;
+  }
+  .product.data > .item.title:not(.disabled) > .switch:active,
+  .product.data > .item.title:not(.disabled) > .switch:focus,
+  .product.data > .item.title:not(.disabled) > .switch:hover,
+  .product.data > .item.title.active > .switch {
+    background: #fff;
+    border-width: 3px;
+    padding: 10px 10px 8px;
+    outline: none;
+  }
+  .product.data > .item.title.active > .switch {
+    padding: 10px 20px 11px !important;
+  }
+  .product.data > .item.content {
+    *zoom: 1;
+    margin-top: 36px;
+    padding: 20px;
+  }
+  .product.data > .item.content:before,
+  .product.data > .item.content:after {
+    content: "";
+    display: table;
+  }
+  .product.data > .item.content:after {
+    clear: both;
+  }
+  .product.data > .item.content:before {
+    content: '';
+    border-top: 3px solid #e5e5e5;
+    width: 100%;
+    display: block;
+    position: absolute;
+    left: 0;
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+    margin: -20px 0 20px;
+  }
+  .temp-upsell-placeholder {
+    float: left;
+    width: 16.666666666666664%;
+    margin-right: 0%;
+    background: red;
+    height: 200px;
+    margin-top: 50px;
+  }
+}
+@media only screen and (max-width: 768px) {
+  .product.data {
+    float: left;
+    width: 100%;
+    margin-right: 0%;
+    margin: 0;
+    padding: 0;
+  }
+  .product.data > .item.title {
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+    width: 100%;
+  }
+  .product.data > .item.title > .item.switch {
+    display: block;
+  }
+  .product.data > .item.content {
+    *zoom: 1;
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+    display: none;
+  }
+  .product.data > .item.content:before,
+  .product.data > .item.content:after {
+    content: "";
+    display: table;
+  }
+  .product.data > .item.content:after {
+    clear: both;
+  }
+  .product.data > .item.content.active {
+    display: block;
+  }
+  .product.data > .item.title {
+    margin: 3px 0 0;
+  }
+  .product.data > .item.title > .switch {
+    display: block;
+    font-size: 14px;
+    line-height: 1;
+    font-weight: 600;
+    text-decoration: none;
+    padding: 11px;
+    border: 2px solid #e5e5e5;
+    background: #f8f8f8;
+    text-transform: uppercase;
+    border-radius: 4px;
+  }
+  .product.data > .item.title:not(.disabled) > .switch:active,
+  .product.data > .item.title:not(.disabled) > .switch:focus,
+  .product.data > .item.title:not(.disabled) > .switch:hover,
+  .product.data > .item.title.active > .switch {
+    background: #fff;
+    border-width: 3px;
+    padding: 10px;
+    outline: none;
+  }
+  .product.data > .item.title.active > .switch {
+    border-radius: 4px 4px 0 0;
+  }
+  .product.data > .item.content {
+    margin: 0;
+    padding: 20px;
+    background: #fff;
+  }
+  .temp-upsell-placeholder {
+    float: left;
+    width: 100%;
+    margin-right: 0%;
+    background: red;
+    height: 200px;
+    margin-top: 20px;
+  }
+}
+/*
+    Magento_Bundle
+    Product View
+-------------------------------------- */
+body.type-bundle {
+  overflow-x: hidden;
+}
+@media only screen and (max-width: 768px) {
+  body.type-bundle {
+    overflow: auto;
+  }
+  body.type-bundle .customize:before {
+    left: -10px;
+    right: -10px;
+  }
+}
+.product.info.main .action.primary.customize {
+  margin: 40px 0;
+}
+.bundle.options.container {
+  margin: 45px 0;
+  clear: both;
+  position: relative;
+  z-index: 1;
+}
+.bundle.options.container:before {
+  position: relative;
+  z-index: 1;
+  content: '';
+  display: block;
+  position: absolute;
+  left: -999em;
+  right: -999em;
+  z-index: -1;
+  background: #f8f8f8;
+  top: 0;
+  bottom: 0;
+}
+.bundle.options.container .product.add.form {
+  *zoom: 1;
+  position: relative;
+  z-index: 1;
+  display: none;
+  padding: 45px 0;
+}
+.bundle.options.container .product.add.form:before,
+.bundle.options.container .product.add.form:after {
+  content: "";
+  display: table;
+}
+.bundle.options.container .product.add.form:after {
+  clear: both;
+}
+.bundle.options.container .product.options.wrapper {
+  float: left;
+  width: 500px;
+}
+.col2-left-layout .bundle.options.container .product.options.wrapper,
+.col2-right-layout .bundle.options.container .product.options.wrapper {
+  width: 450px;
+}
+.col3-layout .bundle.options.container .product.options.wrapper {
+  width: 360px;
+}
+.bundle.options.container .product.options.bottom {
+  float: left;
+  width: 500px;
+  clear: left;
+}
+.fieldset.bundle.options {
+  border: 0;
+  padding: 0;
+  margin: 0;
+}
+.fieldset.bundle.options .legend {
+  font-size: 26px;
+  font-weight: 200;
+  float: left;
+  margin-bottom: 20px;
+}
+.fieldset.bundle.options .legend + br {
+  display: block;
+  clear: both;
+}
+.fieldset.bundle.options .bundle-slide-back {
+  float: right;
+}
+.fieldset.bundle.options > .field {
+  margin: 0 0 50px;
+  padding: 20px;
+  background: #ffffff;
+}
+.fieldset.bundle.options > .field > .label {
+  font-size: 20px;
+  font-weight: 200;
+  display: block;
+  margin-bottom: 20px;
+}
+.fieldset.bundle.options > .field:last-child {
+  margin-bottom: 0;
+}
+.fieldset.bundle.options .nested .field {
+  margin: 10px 0;
+}
+.fieldset.bundle.options .nested .field.qty {
+  margin-top: 20px;
+}
+.fieldset.bundle.options .nested .field.qty .label {
+  display: inline-block;
+  vertical-align: middle;
+}
+.fieldset.bundle.options .nested .field.qty .label span:after {
+  content: ':';
+}
+.fieldset.bundle.options .nested .field.qty .control {
+  width: 60px;
+  display: inline-block;
+  vertical-align: middle;
+}
+.fieldset.bundle.options .nested .field.qty input {
+  text-align: center;
+}
+.product.options.wrapper .nested.mage-error-group {
+  position: relative;
+  z-index: 1;
+}
+.product.options.wrapper .nested.mage-error-group .field {
+  z-index: 2;
+  position: relative;
+}
+.product.options.wrapper .nested.mage-error-group:before {
+  z-index: 1;
+  border: 1px solid #da370a !important;
+  background: rgba(218, 55, 10, 0.040000000000000036);
+  content: '';
+  left: -8px;
+  right: -8px;
+  top: -5px;
+  bottom: -5px;
+  display: block;
+  position: absolute;
+}
+.block.bundle.summary {
+  background: #ffffff;
+  margin-top: 54px;
+  float: right;
+  position: relative;
+  width: 380px;
+}
+.col2-left-layout .block.bundle.summary,
+.col2-right-layout .block.bundle.summary {
+  width: 320px;
+}
+.col3-layout .block.bundle.summary {
+  width: 230px;
+}
+.block.bundle.summary > .title {
+  font-weight: 400;
+  border-bottom: 3px solid #e5e5e5;
+  line-height: 1;
+  padding: 20px 20px 10px;
+  margin-bottom: 0;
+}
+.block.bundle.summary .photo {
+  float: left;
+  border: 1px solid #e5e5e5;
+  margin-right: 20px;
+}
+.block.bundle.summary .photo .photo {
+  float: none;
+  border: none;
+  margin-right: 0;
+}
+.block.bundle.summary > .content {
+  padding: 20px;
+}
+.block.bundle.summary .price-box {
+  *zoom: 1;
+  padding: 20px 0 0;
+  clear: both;
+  line-height: 24px;
+}
+.block.bundle.summary .price-box:before,
+.block.bundle.summary .price-box:after {
+  content: "";
+  display: table;
+}
+.block.bundle.summary .price-box:after {
+  clear: both;
+}
+.block.bundle.summary .price-box .price-label {
+  float: left;
+  font-size: 18px;
+  font-weight: 600;
+}
+.block.bundle.summary .price-box .full-product-price {
+  float: right;
+}
+.block.bundle.summary .price-box .full-product-price .price {
+  color: #da370a;
+  font-weight: 700;
+  font-size: 24px;
+}
+.block.bundle.summary .box.tocart {
+  padding: 10px 0 20px;
+  border-top: 1px solid #e5e5e5;
+  border-bottom: 1px solid #e5e5e5;
+}
+.block.bundle.summary .addto.links .action {
+  font-size: 14px;
+  margin-right: 20px;
+}
+.block.bundle.summary .addto.links .action:last-child {
+  margin-right: 0;
+}
+.block.bundle.summary .subtitle {
+  display: block;
+  margin: 20px -20px 0;
+  font-weight: 200;
+  font-size: 20px;
+  border-bottom: 3px solid #e5e5e5;
+  line-height: 1;
+  padding: 20px 20px 10px;
+  margin-bottom: 0;
+}
+.block.bundle.summary .bundle.summary div > ul {
+  list-style: none;
+  margin: 10px 0 0;
+  padding: 0;
+}
+.block.bundle.summary .bundle.summary div > ul > li {
+  margin: 0 0 10px;
+}
+.block.bundle.summary .bundle.summary div > ul > li > div > div {
+  margin: 0 0 5px;
+}
+.action.back.customization {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  display: inline;
+  color: #332e29;
+  text-decoration: none;
+  position: absolute;
+  top: 57px;
+  right: 0;
+}
+.action.back.customization:focus,
+.action.back.customization:active,
+.action.back.customization:hover {
+  color: #da370a;
+}
+/*
+    CMS
+-------------------------------------- */
+img[align="left"] {
+  margin: 0 22px 22px 0;
+}
+img[align="right"] {
+  margin: 0 0 22px 22px;
+}
+.home.main.slider img {
+  width: 100%;
+  display: block;
+}
+/*
+    Magento_Customer
+-------------------------------------- */
+.customer.welcome {
+  display: inline-block !important;
+  position: relative;
+  z-index: 1;
+  cursor: pointer;
+}
+.customer.welcome .menu > ul {
+  font-weight: 600;
+  font-size: 12px;
+  margin: 0;
+  position: absolute;
+  top: 100%;
+  margin-left: -11px;
+  float: left;
+  right: 0;
+  text-align: left;
+  background: #f8f8f8;
+  border: 1px solid #cacbc4;
+  visibility: hidden;
+  opacity: 0;
+  -webkit-transition: visibility 0s linear 0.2s;
+  -moz-transition: visibility 0s linear 0.2s;
+  transition: visibility 0s linear 0.2s;
+}
+.customer.welcome .menu > ul li {
+  margin: 15px;
+  display: block;
+  white-space: nowrap;
+}
+.customer.welcome.active {
+  z-index: 9999;
+}
+.customer.welcome.active .menu > ul {
+  visibility: visible;
+  opacity: 1;
+  -webkit-transition-delay: 0s;
+  -moz-transition-delay: 0s;
+  -ms-transition-delay: 0s;
+  -o-transition-delay: 0s;
+  transition-delay: 0s;
+}
+.header .content .customer.welcome .customer.name {
+  font-weight: 400;
+}
+.header .content .customer.welcome .customer.name span {
+  color: #837d75;
+}
+.header .content .customer.welcome .customer.name span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e02c";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.header .content .customer.welcome .customer.name span:after {
+  line-height: 14px;
+}
+.header .content .customer.welcome .customer.name:focus span,
+.header .content .customer.welcome .customer.name:hover span,
+.header .content .customer.welcome .customer.name.active span {
+  color: #675f55;
+  outline: 0;
+}
+.header .content .customer.welcome .customer.name.active span:after {
+  content: "\e029";
+}
+.customer.welcome + li {
+  display: none;
+}
+.customer.welcome + li {
+  display: none !important;
+}
+.login.container {
+  *zoom: 1;
+  background: #f8f8f8;
+  padding: 40px;
+  position: relative;
+  z-index: 1;
+  padding-bottom: 150px;
+}
+.login.container:before,
+.login.container:after {
+  content: "";
+  display: table;
+}
+.login.container:after {
+  clear: both;
+}
+.login.container .block {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+  width: 50%;
+}
+.login.container .block > .title {
+  margin-bottom: 25px;
+}
+.login.container .block .actions {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  text-align: right;
+  position: absolute;
+  bottom: 140px;
+  width: 50%;
+  padding: 0 40px;
+}
+.login.container .block .actions .secondary {
+  margin-bottom: -2em;
+  margin-top: 0.8em;
+  line-height: 1.2em;
+  float: right;
+}
+.login.container .block.login {
+  padding-right: 90px;
+}
+.login.container .block.login .actions {
+  margin-left: -90px;
+}
+.login.container .block.new {
+  padding-left: 40px;
+}
+.login.container .block.new .actions {
+  margin-left: -40px;
+}
+.login.container .block.new:before {
+  content: '';
+  border-left: 1px solid;
+  border-color: #d7d7d7;
+  position: absolute;
+  top: 40px;
+  margin-left: -40px;
+  bottom: 60px;
+}
+.form.login .fieldset.login {
+  margin: 30px 10px 30px 30px;
+  letter-spacing: -0.31em;
+  word-spacing: -0.43em;
+  margin: 0;
+  padding: 0;
+  border: 0;
+}
+.form.login .fieldset.login > * {
+  letter-spacing: normal;
+  word-spacing: normal;
+}
+.form.login .fieldset.login > .legend {
+  float: left;
+  font: 400 20px/1.2 "sourcesanspro";
+  margin: -30px 30px 50px -30px;
+  width: 100%;
+}
+.form.login .fieldset.login > .legend + br {
+  display: block;
+  *zoom: 1;
+}
+.form.login .fieldset.login > .legend + br:before,
+.form.login .fieldset.login > .legend + br:after {
+  content: "";
+  display: table;
+}
+.form.login .fieldset.login > .legend + br:after {
+  clear: both;
+}
+.form.login .fieldset.login > .field {
+  *zoom: 1;
+}
+.form.login .fieldset.login > .field:before,
+.form.login .fieldset.login > .field:after {
+  content: "";
+  display: table;
+}
+.form.login .fieldset.login > .field:after {
+  clear: both;
+}
+.form.login .fieldset.login > .field > .control,
+.form.login .fieldset.login > .field > .label {
+  margin: 0;
+  float: left;
+  width: 40%;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+}
+.form.login .fieldset.login > .field > .control {
+  width: 60%;
+}
+.form.login .fieldset.login > .field.no-label .control {
+  margin-left: 40%;
+}
+.form.login .fieldset.login .field {
+  margin: 0 0 10px;
+}
+.form.login .fieldset.login .field:last-child {
+  margin-bottom: 0;
+}
+.form.login .fieldset.login .field .nested {
+  padding: 0 0 0;
+}
+.form.login .fieldset.login .field .nested .field {
+  margin: 5px 0;
+}
+.form.login .fieldset.login .field .label {
+  padding-top: 7px;
+  padding-right: 10px;
+  text-align: right;
+}
+.action.reload {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  position: absolute;
+  background: #fff;
+  padding: 2px;
+}
+.action.reload span {
+  width: 22px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  color: #da370a;
+  text-shadow: 0px 1px rgba(0, 0, 0, 0.4);
+}
+.action.reload span:after {
+  font-family: "icons";
+  font-size: 22px;
+  line-height: 22px;
+  height: 22px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e00a";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.reload span:active {
+  outline: 0;
+}
+.action.reload span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+/*
+    Registration
+-------------------------------------- */
+.form.send.friend .fieldset,
+.form.address.edit .fieldset,
+.form.edit.account .fieldset,
+.form.search.advanced .fieldset,
+.form.orders.search .fieldset,
+.form.contact .fieldset,
+.form.password.forget .fieldset,
+.form.create.account .fieldset,
+.form.wishlist.share .fieldset,
+.form.password.reset .fieldset,
+.form.paypal.review .fieldset {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  margin: 30px 10px 30px 30px;
+  padding: 0;
+  letter-spacing: -0.31em;
+  word-spacing: -0.43em;
+  width: 690px;
+  background: #f8f8f8;
+  padding: 30px 10px 30px 30px;
+  border: 0;
+  margin: 0 0 40px;
+  position: relative;
+  z-index: 1;
+}
+.form.send.friend .fieldset .field,
+.form.address.edit .fieldset .field,
+.form.edit.account .fieldset .field,
+.form.search.advanced .fieldset .field,
+.form.orders.search .fieldset .field,
+.form.contact .fieldset .field,
+.form.password.forget .fieldset .field,
+.form.create.account .fieldset .field,
+.form.wishlist.share .fieldset .field,
+.form.password.reset .fieldset .field,
+.form.paypal.review .fieldset .field {
+  display: inline-block;
+  padding-right: 20px;
+  vertical-align: top;
+  width: 50%;
+}
+.form.send.friend .fieldset .nested .field,
+.form.address.edit .fieldset .nested .field,
+.form.edit.account .fieldset .nested .field,
+.form.search.advanced .fieldset .nested .field,
+.form.orders.search .fieldset .nested .field,
+.form.contact .fieldset .nested .field,
+.form.password.forget .fieldset .nested .field,
+.form.create.account .fieldset .nested .field,
+.form.wishlist.share .fieldset .nested .field,
+.form.password.reset .fieldset .nested .field,
+.form.paypal.review .fieldset .nested .field {
+  width: 100%;
+}
+.form.send.friend .fieldset .actions,
+.form.address.edit .fieldset .actions,
+.form.edit.account .fieldset .actions,
+.form.search.advanced .fieldset .actions,
+.form.orders.search .fieldset .actions,
+.form.contact .fieldset .actions,
+.form.password.forget .fieldset .actions,
+.form.create.account .fieldset .actions,
+.form.wishlist.share .fieldset .actions,
+.form.password.reset .fieldset .actions,
+.form.paypal.review .fieldset .actions {
+  margin-right: 30px;
+}
+.form.send.friend .fieldset > *,
+.form.address.edit .fieldset > *,
+.form.edit.account .fieldset > *,
+.form.search.advanced .fieldset > *,
+.form.orders.search .fieldset > *,
+.form.contact .fieldset > *,
+.form.password.forget .fieldset > *,
+.form.create.account .fieldset > *,
+.form.wishlist.share .fieldset > *,
+.form.password.reset .fieldset > *,
+.form.paypal.review .fieldset > * {
+  letter-spacing: normal;
+  word-spacing: normal;
+}
+.form.send.friend .fieldset > .legend,
+.form.address.edit .fieldset > .legend,
+.form.edit.account .fieldset > .legend,
+.form.search.advanced .fieldset > .legend,
+.form.orders.search .fieldset > .legend,
+.form.contact .fieldset > .legend,
+.form.password.forget .fieldset > .legend,
+.form.create.account .fieldset > .legend,
+.form.wishlist.share .fieldset > .legend,
+.form.password.reset .fieldset > .legend,
+.form.paypal.review .fieldset > .legend {
+  float: left;
+  font: 400 20px/1.2 "sourcesanspro";
+  margin: -30px 30px 50px -30px;
+  width: 100%;
+}
+.form.send.friend .fieldset > .legend + br,
+.form.address.edit .fieldset > .legend + br,
+.form.edit.account .fieldset > .legend + br,
+.form.search.advanced .fieldset > .legend + br,
+.form.orders.search .fieldset > .legend + br,
+.form.contact .fieldset > .legend + br,
+.form.password.forget .fieldset > .legend + br,
+.form.create.account .fieldset > .legend + br,
+.form.wishlist.share .fieldset > .legend + br,
+.form.password.reset .fieldset > .legend + br,
+.form.paypal.review .fieldset > .legend + br {
+  display: block;
+  *zoom: 1;
+}
+.form.send.friend .fieldset > .legend + br:before,
+.form.address.edit .fieldset > .legend + br:before,
+.form.edit.account .fieldset > .legend + br:before,
+.form.search.advanced .fieldset > .legend + br:before,
+.form.orders.search .fieldset > .legend + br:before,
+.form.contact .fieldset > .legend + br:before,
+.form.password.forget .fieldset > .legend + br:before,
+.form.create.account .fieldset > .legend + br:before,
+.form.wishlist.share .fieldset > .legend + br:before,
+.form.password.reset .fieldset > .legend + br:before,
+.form.paypal.review .fieldset > .legend + br:before,
+.form.send.friend .fieldset > .legend + br:after,
+.form.address.edit .fieldset > .legend + br:after,
+.form.edit.account .fieldset > .legend + br:after,
+.form.search.advanced .fieldset > .legend + br:after,
+.form.orders.search .fieldset > .legend + br:after,
+.form.contact .fieldset > .legend + br:after,
+.form.password.forget .fieldset > .legend + br:after,
+.form.create.account .fieldset > .legend + br:after,
+.form.wishlist.share .fieldset > .legend + br:after,
+.form.password.reset .fieldset > .legend + br:after,
+.form.paypal.review .fieldset > .legend + br:after {
+  content: "";
+  display: table;
+}
+.form.send.friend .fieldset > .legend + br:after,
+.form.address.edit .fieldset > .legend + br:after,
+.form.edit.account .fieldset > .legend + br:after,
+.form.search.advanced .fieldset > .legend + br:after,
+.form.orders.search .fieldset > .legend + br:after,
+.form.contact .fieldset > .legend + br:after,
+.form.password.forget .fieldset > .legend + br:after,
+.form.create.account .fieldset > .legend + br:after,
+.form.wishlist.share .fieldset > .legend + br:after,
+.form.password.reset .fieldset > .legend + br:after,
+.form.paypal.review .fieldset > .legend + br:after {
+  clear: both;
+}
+.form.send.friend .fieldset .legend,
+.form.address.edit .fieldset .legend,
+.form.edit.account .fieldset .legend,
+.form.search.advanced .fieldset .legend,
+.form.orders.search .fieldset .legend,
+.form.contact .fieldset .legend,
+.form.password.forget .fieldset .legend,
+.form.create.account .fieldset .legend,
+.form.wishlist.share .fieldset .legend,
+.form.password.reset .fieldset .legend,
+.form.paypal.review .fieldset .legend {
+  float: left;
+  line-height: 1.2;
+  font-size: 20px;
+  font-weight: 400;
+  padding-bottom: 20px;
+  width: 100%;
+  padding: 0 40px 20px 0;
+  background: #fff;
+  margin: -30px -10px 30px -30px;
+}
+.form.send.friend .fieldset .legend + br,
+.form.address.edit .fieldset .legend + br,
+.form.edit.account .fieldset .legend + br,
+.form.search.advanced .fieldset .legend + br,
+.form.orders.search .fieldset .legend + br,
+.form.contact .fieldset .legend + br,
+.form.password.forget .fieldset .legend + br,
+.form.create.account .fieldset .legend + br,
+.form.wishlist.share .fieldset .legend + br,
+.form.password.reset .fieldset .legend + br,
+.form.paypal.review .fieldset .legend + br {
+  display: block;
+  clear: both;
+}
+.form.send.friend .fieldset > .field,
+.form.address.edit .fieldset > .field,
+.form.edit.account .fieldset > .field,
+.form.search.advanced .fieldset > .field,
+.form.orders.search .fieldset > .field,
+.form.contact .fieldset > .field,
+.form.password.forget .fieldset > .field,
+.form.create.account .fieldset > .field,
+.form.wishlist.share .fieldset > .field,
+.form.password.reset .fieldset > .field,
+.form.paypal.review .fieldset > .field {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  margin: 0 0 20px;
+  margin: 0 0 10px;
+  margin-bottom: 20px;
+}
+.form.send.friend .fieldset > .field > .label,
+.form.address.edit .fieldset > .field > .label,
+.form.edit.account .fieldset > .field > .label,
+.form.search.advanced .fieldset > .field > .label,
+.form.orders.search .fieldset > .field > .label,
+.form.contact .fieldset > .field > .label,
+.form.password.forget .fieldset > .field > .label,
+.form.create.account .fieldset > .field > .label,
+.form.wishlist.share .fieldset > .field > .label,
+.form.password.reset .fieldset > .field > .label,
+.form.paypal.review .fieldset > .field > .label {
+  display: block;
+  padding-bottom: 5px;
+}
+.form.send.friend .fieldset > .field .nested .field,
+.form.address.edit .fieldset > .field .nested .field,
+.form.edit.account .fieldset > .field .nested .field,
+.form.search.advanced .fieldset > .field .nested .field,
+.form.orders.search .fieldset > .field .nested .field,
+.form.contact .fieldset > .field .nested .field,
+.form.password.forget .fieldset > .field .nested .field,
+.form.create.account .fieldset > .field .nested .field,
+.form.wishlist.share .fieldset > .field .nested .field,
+.form.password.reset .fieldset > .field .nested .field,
+.form.paypal.review .fieldset > .field .nested .field {
+  margin: 5px 0;
+}
+.form.send.friend .fieldset > .field.choice > .control,
+.form.address.edit .fieldset > .field.choice > .control,
+.form.edit.account .fieldset > .field.choice > .control,
+.form.search.advanced .fieldset > .field.choice > .control,
+.form.orders.search .fieldset > .field.choice > .control,
+.form.contact .fieldset > .field.choice > .control,
+.form.password.forget .fieldset > .field.choice > .control,
+.form.create.account .fieldset > .field.choice > .control,
+.form.wishlist.share .fieldset > .field.choice > .control,
+.form.password.reset .fieldset > .field.choice > .control,
+.form.paypal.review .fieldset > .field.choice > .control {
+  width: auto;
+}
+.form.send.friend .fieldset > .field.choice > .label,
+.form.address.edit .fieldset > .field.choice > .label,
+.form.edit.account .fieldset > .field.choice > .label,
+.form.search.advanced .fieldset > .field.choice > .label,
+.form.orders.search .fieldset > .field.choice > .label,
+.form.contact .fieldset > .field.choice > .label,
+.form.password.forget .fieldset > .field.choice > .label,
+.form.create.account .fieldset > .field.choice > .label,
+.form.wishlist.share .fieldset > .field.choice > .label,
+.form.password.reset .fieldset > .field.choice > .label,
+.form.paypal.review .fieldset > .field.choice > .label {
+  display: inline;
+}
+.form.send.friend .fieldset > .field.choice > input,
+.form.address.edit .fieldset > .field.choice > input,
+.form.edit.account .fieldset > .field.choice > input,
+.form.search.advanced .fieldset > .field.choice > input,
+.form.orders.search .fieldset > .field.choice > input,
+.form.contact .fieldset > .field.choice > input,
+.form.password.forget .fieldset > .field.choice > input,
+.form.create.account .fieldset > .field.choice > input,
+.form.wishlist.share .fieldset > .field.choice > input,
+.form.password.reset .fieldset > .field.choice > input,
+.form.paypal.review .fieldset > .field.choice > input {
+  vertical-align: top;
+  margin-top: 2px;
+  margin-right: 5px;
+}
+.form.send.friend .fieldset > .field.required > .label > span:first-child:after,
+.form.address.edit .fieldset > .field.required > .label > span:first-child:after,
+.form.edit.account .fieldset > .field.required > .label > span:first-child:after,
+.form.search.advanced .fieldset > .field.required > .label > span:first-child:after,
+.form.orders.search .fieldset > .field.required > .label > span:first-child:after,
+.form.contact .fieldset > .field.required > .label > span:first-child:after,
+.form.password.forget .fieldset > .field.required > .label > span:first-child:after,
+.form.create.account .fieldset > .field.required > .label > span:first-child:after,
+.form.wishlist.share .fieldset > .field.required > .label > span:first-child:after,
+.form.password.reset .fieldset > .field.required > .label > span:first-child:after,
+.form.paypal.review .fieldset > .field.required > .label > span:first-child:after {
+  content: '*';
+  color: #da370a;
+}
+.form.send.friend .fieldset > .field .addon,
+.form.address.edit .fieldset > .field .addon,
+.form.edit.account .fieldset > .field .addon,
+.form.search.advanced .fieldset > .field .addon,
+.form.orders.search .fieldset > .field .addon,
+.form.contact .fieldset > .field .addon,
+.form.password.forget .fieldset > .field .addon,
+.form.create.account .fieldset > .field .addon,
+.form.wishlist.share .fieldset > .field .addon,
+.form.password.reset .fieldset > .field .addon,
+.form.paypal.review .fieldset > .field .addon {
+  display: table;
+  padding: 0;
+  width: 100%;
+}
+.form.send.friend .fieldset > .field .addon textarea,
+.form.address.edit .fieldset > .field .addon textarea,
+.form.edit.account .fieldset > .field .addon textarea,
+.form.search.advanced .fieldset > .field .addon textarea,
+.form.orders.search .fieldset > .field .addon textarea,
+.form.contact .fieldset > .field .addon textarea,
+.form.password.forget .fieldset > .field .addon textarea,
+.form.create.account .fieldset > .field .addon textarea,
+.form.wishlist.share .fieldset > .field .addon textarea,
+.form.password.reset .fieldset > .field .addon textarea,
+.form.paypal.review .fieldset > .field .addon textarea,
+.form.send.friend .fieldset > .field .addon select,
+.form.address.edit .fieldset > .field .addon select,
+.form.edit.account .fieldset > .field .addon select,
+.form.search.advanced .fieldset > .field .addon select,
+.form.orders.search .fieldset > .field .addon select,
+.form.contact .fieldset > .field .addon select,
+.form.password.forget .fieldset > .field .addon select,
+.form.create.account .fieldset > .field .addon select,
+.form.wishlist.share .fieldset > .field .addon select,
+.form.password.reset .fieldset > .field .addon select,
+.form.paypal.review .fieldset > .field .addon select,
+.form.send.friend .fieldset > .field .addon input,
+.form.address.edit .fieldset > .field .addon input,
+.form.edit.account .fieldset > .field .addon input,
+.form.search.advanced .fieldset > .field .addon input,
+.form.orders.search .fieldset > .field .addon input,
+.form.contact .fieldset > .field .addon input,
+.form.password.forget .fieldset > .field .addon input,
+.form.create.account .fieldset > .field .addon input,
+.form.wishlist.share .fieldset > .field .addon input,
+.form.password.reset .fieldset > .field .addon input,
+.form.paypal.review .fieldset > .field .addon input {
+  box-shadow: none;
+  display: table-cell;
+  margin: 0;
+  width: 100%;
+}
+.form.send.friend .fieldset > .field .addon .addbefore,
+.form.address.edit .fieldset > .field .addon .addbefore,
+.form.edit.account .fieldset > .field .addon .addbefore,
+.form.search.advanced .fieldset > .field .addon .addbefore,
+.form.orders.search .fieldset > .field .addon .addbefore,
+.form.contact .fieldset > .field .addon .addbefore,
+.form.password.forget .fieldset > .field .addon .addbefore,
+.form.create.account .fieldset > .field .addon .addbefore,
+.form.wishlist.share .fieldset > .field .addon .addbefore,
+.form.password.reset .fieldset > .field .addon .addbefore,
+.form.paypal.review .fieldset > .field .addon .addbefore,
+.form.send.friend .fieldset > .field .addon .addafter,
+.form.address.edit .fieldset > .field .addon .addafter,
+.form.edit.account .fieldset > .field .addon .addafter,
+.form.search.advanced .fieldset > .field .addon .addafter,
+.form.orders.search .fieldset > .field .addon .addafter,
+.form.contact .fieldset > .field .addon .addafter,
+.form.password.forget .fieldset > .field .addon .addafter,
+.form.create.account .fieldset > .field .addon .addafter,
+.form.wishlist.share .fieldset > .field .addon .addafter,
+.form.password.reset .fieldset > .field .addon .addafter,
+.form.paypal.review .fieldset > .field .addon .addafter {
+  height: 0;
+  white-space: nowrap;
+  display: inline-block;
+  display: table-cell;
+  vertical-align: middle;
+  width: 1px;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  height: 32px;
+  line-height: 1;
+  padding: 0 10px;
+}
+.form.send.friend .fieldset > .field .addon .addbefore:focus,
+.form.address.edit .fieldset > .field .addon .addbefore:focus,
+.form.edit.account .fieldset > .field .addon .addbefore:focus,
+.form.search.advanced .fieldset > .field .addon .addbefore:focus,
+.form.orders.search .fieldset > .field .addon .addbefore:focus,
+.form.contact .fieldset > .field .addon .addbefore:focus,
+.form.password.forget .fieldset > .field .addon .addbefore:focus,
+.form.create.account .fieldset > .field .addon .addbefore:focus,
+.form.wishlist.share .fieldset > .field .addon .addbefore:focus,
+.form.password.reset .fieldset > .field .addon .addbefore:focus,
+.form.paypal.review .fieldset > .field .addon .addbefore:focus,
+.form.send.friend .fieldset > .field .addon .addafter:focus,
+.form.address.edit .fieldset > .field .addon .addafter:focus,
+.form.edit.account .fieldset > .field .addon .addafter:focus,
+.form.search.advanced .fieldset > .field .addon .addafter:focus,
+.form.orders.search .fieldset > .field .addon .addafter:focus,
+.form.contact .fieldset > .field .addon .addafter:focus,
+.form.password.forget .fieldset > .field .addon .addafter:focus,
+.form.create.account .fieldset > .field .addon .addafter:focus,
+.form.wishlist.share .fieldset > .field .addon .addafter:focus,
+.form.password.reset .fieldset > .field .addon .addafter:focus,
+.form.paypal.review .fieldset > .field .addon .addafter:focus {
+  border-color: #999999;
+}
+.control .form.send.friend .fieldset > .field .addon .addbefore,
+.control .form.address.edit .fieldset > .field .addon .addbefore,
+.control .form.edit.account .fieldset > .field .addon .addbefore,
+.control .form.search.advanced .fieldset > .field .addon .addbefore,
+.control .form.orders.search .fieldset > .field .addon .addbefore,
+.control .form.contact .fieldset > .field .addon .addbefore,
+.control .form.password.forget .fieldset > .field .addon .addbefore,
+.control .form.create.account .fieldset > .field .addon .addbefore,
+.control .form.wishlist.share .fieldset > .field .addon .addbefore,
+.control .form.password.reset .fieldset > .field .addon .addbefore,
+.control .form.paypal.review .fieldset > .field .addon .addbefore,
+.control .form.send.friend .fieldset > .field .addon .addafter,
+.control .form.address.edit .fieldset > .field .addon .addafter,
+.control .form.edit.account .fieldset > .field .addon .addafter,
+.control .form.search.advanced .fieldset > .field .addon .addafter,
+.control .form.orders.search .fieldset > .field .addon .addafter,
+.control .form.contact .fieldset > .field .addon .addafter,
+.control .form.password.forget .fieldset > .field .addon .addafter,
+.control .form.create.account .fieldset > .field .addon .addafter,
+.control .form.wishlist.share .fieldset > .field .addon .addafter,
+.control .form.password.reset .fieldset > .field .addon .addafter,
+.control .form.paypal.review .fieldset > .field .addon .addafter {
+  width: 100%;
+}
+.form.send.friend .fieldset > .field .addon .addbefore:disabled,
+.form.address.edit .fieldset > .field .addon .addbefore:disabled,
+.form.edit.account .fieldset > .field .addon .addbefore:disabled,
+.form.search.advanced .fieldset > .field .addon .addbefore:disabled,
+.form.orders.search .fieldset > .field .addon .addbefore:disabled,
+.form.contact .fieldset > .field .addon .addbefore:disabled,
+.form.password.forget .fieldset > .field .addon .addbefore:disabled,
+.form.create.account .fieldset > .field .addon .addbefore:disabled,
+.form.wishlist.share .fieldset > .field .addon .addbefore:disabled,
+.form.password.reset .fieldset > .field .addon .addbefore:disabled,
+.form.paypal.review .fieldset > .field .addon .addbefore:disabled,
+.form.send.friend .fieldset > .field .addon .addafter:disabled,
+.form.address.edit .fieldset > .field .addon .addafter:disabled,
+.form.edit.account .fieldset > .field .addon .addafter:disabled,
+.form.search.advanced .fieldset > .field .addon .addafter:disabled,
+.form.orders.search .fieldset > .field .addon .addafter:disabled,
+.form.contact .fieldset > .field .addon .addafter:disabled,
+.form.password.forget .fieldset > .field .addon .addafter:disabled,
+.form.create.account .fieldset > .field .addon .addafter:disabled,
+.form.wishlist.share .fieldset > .field .addon .addafter:disabled,
+.form.password.reset .fieldset > .field .addon .addafter:disabled,
+.form.paypal.review .fieldset > .field .addon .addafter:disabled {
+  opacity: 0.5;
+}
+.form.send.friend .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.address.edit .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.edit.account .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.search.advanced .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.orders.search .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.contact .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.password.forget .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.create.account .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.wishlist.share .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.password.reset .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.paypal.review .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.send.friend .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.address.edit .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.edit.account .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.search.advanced .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.orders.search .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.contact .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.password.forget .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.create.account .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.wishlist.share .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.password.reset .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.paypal.review .fieldset > .field .addon .addafter::-webkit-input-placeholder {
+  line-height: 1.333;
+}
+.form.send.friend .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.address.edit .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.edit.account .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.search.advanced .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.orders.search .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.contact .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.password.forget .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.create.account .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.wishlist.share .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.password.reset .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.paypal.review .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.send.friend .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.address.edit .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.edit.account .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.search.advanced .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.orders.search .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.contact .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.password.forget .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.create.account .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.wishlist.share .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.password.reset .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.paypal.review .fieldset > .field .addon .addafter:-ms-input-placeholder {
+  line-height: 1.333;
+}
+.eq-ie8 .form.send.friend .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.address.edit .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.edit.account .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.search.advanced .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.orders.search .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.contact .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.password.forget .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.create.account .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.wishlist.share .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.password.reset .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.paypal.review .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.send.friend .fieldset > .field .addon .addafter,
+.eq-ie8 .form.address.edit .fieldset > .field .addon .addafter,
+.eq-ie8 .form.edit.account .fieldset > .field .addon .addafter,
+.eq-ie8 .form.search.advanced .fieldset > .field .addon .addafter,
+.eq-ie8 .form.orders.search .fieldset > .field .addon .addafter,
+.eq-ie8 .form.contact .fieldset > .field .addon .addafter,
+.eq-ie8 .form.password.forget .fieldset > .field .addon .addafter,
+.eq-ie8 .form.create.account .fieldset > .field .addon .addafter,
+.eq-ie8 .form.wishlist.share .fieldset > .field .addon .addafter,
+.eq-ie8 .form.password.reset .fieldset > .field .addon .addafter,
+.eq-ie8 .form.paypal.review .fieldset > .field .addon .addafter {
+  padding-top: 8px;
+}
+.form.send.friend .fieldset > .field .note,
+.form.address.edit .fieldset > .field .note,
+.form.edit.account .fieldset > .field .note,
+.form.search.advanced .fieldset > .field .note,
+.form.orders.search .fieldset > .field .note,
+.form.contact .fieldset > .field .note,
+.form.password.forget .fieldset > .field .note,
+.form.create.account .fieldset > .field .note,
+.form.wishlist.share .fieldset > .field .note,
+.form.password.reset .fieldset > .field .note,
+.form.paypal.review .fieldset > .field .note {
+  font-size: 12px;
+  margin-top: 3px;
+  padding-left: 15px;
+}
+.form.send.friend .fieldset > .field .note:before,
+.form.address.edit .fieldset > .field .note:before,
+.form.edit.account .fieldset > .field .note:before,
+.form.search.advanced .fieldset > .field .note:before,
+.form.orders.search .fieldset > .field .note:before,
+.form.contact .fieldset > .field .note:before,
+.form.password.forget .fieldset > .field .note:before,
+.form.create.account .fieldset > .field .note:before,
+.form.wishlist.share .fieldset > .field .note:before,
+.form.password.reset .fieldset > .field .note:before,
+.form.paypal.review .fieldset > .field .note:before {
+  border-bottom: 5px solid #675f55;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  content: '';
+  display: inline-block;
+  font-size: 0;
+  line-height: 0;
+  margin: 4px 0 0 -14px;
+  position: absolute;
+  vertical-align: top;
+  width: 0;
+}
+.form.send.friend .fieldset > .field:last-child,
+.form.address.edit .fieldset > .field:last-child,
+.form.edit.account .fieldset > .field:last-child,
+.form.search.advanced .fieldset > .field:last-child,
+.form.orders.search .fieldset > .field:last-child,
+.form.contact .fieldset > .field:last-child,
+.form.password.forget .fieldset > .field:last-child,
+.form.create.account .fieldset > .field:last-child,
+.form.wishlist.share .fieldset > .field:last-child,
+.form.password.reset .fieldset > .field:last-child,
+.form.paypal.review .fieldset > .field:last-child {
+  margin-bottom: 0;
+}
+.form.send.friend .fieldset > .field .nested,
+.form.address.edit .fieldset > .field .nested,
+.form.edit.account .fieldset > .field .nested,
+.form.search.advanced .fieldset > .field .nested,
+.form.orders.search .fieldset > .field .nested,
+.form.contact .fieldset > .field .nested,
+.form.password.forget .fieldset > .field .nested,
+.form.create.account .fieldset > .field .nested,
+.form.wishlist.share .fieldset > .field .nested,
+.form.password.reset .fieldset > .field .nested,
+.form.paypal.review .fieldset > .field .nested {
+  padding: 0 0 0;
+}
+.form.send.friend .fieldset > .field .nested .field,
+.form.address.edit .fieldset > .field .nested .field,
+.form.edit.account .fieldset > .field .nested .field,
+.form.search.advanced .fieldset > .field .nested .field,
+.form.orders.search .fieldset > .field .nested .field,
+.form.contact .fieldset > .field .nested .field,
+.form.password.forget .fieldset > .field .nested .field,
+.form.create.account .fieldset > .field .nested .field,
+.form.wishlist.share .fieldset > .field .nested .field,
+.form.password.reset .fieldset > .field .nested .field,
+.form.paypal.review .fieldset > .field .nested .field {
+  margin: 5px 0;
+}
+.form.send.friend .fieldset > .field > .label,
+.form.address.edit .fieldset > .field > .label,
+.form.edit.account .fieldset > .field > .label,
+.form.search.advanced .fieldset > .field > .label,
+.form.orders.search .fieldset > .field > .label,
+.form.contact .fieldset > .field > .label,
+.form.password.forget .fieldset > .field > .label,
+.form.create.account .fieldset > .field > .label,
+.form.wishlist.share .fieldset > .field > .label,
+.form.password.reset .fieldset > .field > .label,
+.form.paypal.review .fieldset > .field > .label {
+  display: block;
+  padding: 0 0 5px;
+}
+.form.send.friend .fieldset > .field.note,
+.form.address.edit .fieldset > .field.note,
+.form.edit.account .fieldset > .field.note,
+.form.search.advanced .fieldset > .field.note,
+.form.orders.search .fieldset > .field.note,
+.form.contact .fieldset > .field.note,
+.form.password.forget .fieldset > .field.note,
+.form.create.account .fieldset > .field.note,
+.form.wishlist.share .fieldset > .field.note,
+.form.password.reset .fieldset > .field.note,
+.form.paypal.review .fieldset > .field.note,
+.form.send.friend .fieldset .field.street,
+.form.address.edit .fieldset .field.street,
+.form.edit.account .fieldset .field.street,
+.form.search.advanced .fieldset .field.street,
+.form.orders.search .fieldset .field.street,
+.form.contact .fieldset .field.street,
+.form.password.forget .fieldset .field.street,
+.form.create.account .fieldset .field.street,
+.form.wishlist.share .fieldset .field.street,
+.form.password.reset .fieldset .field.street,
+.form.paypal.review .fieldset .field.street,
+.form.send.friend .fieldset .field.choice.newsletter,
+.form.address.edit .fieldset .field.choice.newsletter,
+.form.edit.account .fieldset .field.choice.newsletter,
+.form.search.advanced .fieldset .field.choice.newsletter,
+.form.orders.search .fieldset .field.choice.newsletter,
+.form.contact .fieldset .field.choice.newsletter,
+.form.password.forget .fieldset .field.choice.newsletter,
+.form.create.account .fieldset .field.choice.newsletter,
+.form.wishlist.share .fieldset .field.choice.newsletter,
+.form.password.reset .fieldset .field.choice.newsletter,
+.form.paypal.review .fieldset .field.choice.newsletter {
+  width: 100%;
+}
+.form.send.friend .fieldset .field.fullname,
+.form.address.edit .fieldset .field.fullname,
+.form.edit.account .fieldset .field.fullname,
+.form.search.advanced .fieldset .field.fullname,
+.form.orders.search .fieldset .field.fullname,
+.form.contact .fieldset .field.fullname,
+.form.password.forget .fieldset .field.fullname,
+.form.create.account .fieldset .field.fullname,
+.form.wishlist.share .fieldset .field.fullname,
+.form.password.reset .fieldset .field.fullname,
+.form.paypal.review .fieldset .field.fullname {
+  width: 100%;
+}
+.form.send.friend .fieldset .field.fullname .fields.group-5 .field,
+.form.address.edit .fieldset .field.fullname .fields.group-5 .field,
+.form.edit.account .fieldset .field.fullname .fields.group-5 .field,
+.form.search.advanced .fieldset .field.fullname .fields.group-5 .field,
+.form.orders.search .fieldset .field.fullname .fields.group-5 .field,
+.form.contact .fieldset .field.fullname .fields.group-5 .field,
+.form.password.forget .fieldset .field.fullname .fields.group-5 .field,
+.form.create.account .fieldset .field.fullname .fields.group-5 .field,
+.form.wishlist.share .fieldset .field.fullname .fields.group-5 .field,
+.form.password.reset .fieldset .field.fullname .fields.group-5 .field,
+.form.paypal.review .fieldset .field.fullname .fields.group-5 .field {
+  width: 20%;
+}
+.form.send.friend .fieldset .field.dob .fields.group .field,
+.form.address.edit .fieldset .field.dob .fields.group .field,
+.form.edit.account .fieldset .field.dob .fields.group .field,
+.form.search.advanced .fieldset .field.dob .fields.group .field,
+.form.orders.search .fieldset .field.dob .fields.group .field,
+.form.contact .fieldset .field.dob .fields.group .field,
+.form.password.forget .fieldset .field.dob .fields.group .field,
+.form.create.account .fieldset .field.dob .fields.group .field,
+.form.wishlist.share .fieldset .field.dob .fields.group .field,
+.form.password.reset .fieldset .field.dob .fields.group .field,
+.form.paypal.review .fieldset .field.dob .fields.group .field {
+  width: 33%;
+  position: relative;
+  z-index: 1;
+}
+.form.send.friend .fieldset .field.dob .fields.group .field .label,
+.form.address.edit .fieldset .field.dob .fields.group .field .label,
+.form.edit.account .fieldset .field.dob .fields.group .field .label,
+.form.search.advanced .fieldset .field.dob .fields.group .field .label,
+.form.orders.search .fieldset .field.dob .fields.group .field .label,
+.form.contact .fieldset .field.dob .fields.group .field .label,
+.form.password.forget .fieldset .field.dob .fields.group .field .label,
+.form.create.account .fieldset .field.dob .fields.group .field .label,
+.form.wishlist.share .fieldset .field.dob .fields.group .field .label,
+.form.password.reset .fieldset .field.dob .fields.group .field .label,
+.form.paypal.review .fieldset .field.dob .fields.group .field .label {
+  position: absolute;
+  bottom: 0;
+  font-size: 12px;
+  line-height: 16px;
+}
+.form.send.friend .fieldset .field.dob .fields.group .field input,
+.form.address.edit .fieldset .field.dob .fields.group .field input,
+.form.edit.account .fieldset .field.dob .fields.group .field input,
+.form.search.advanced .fieldset .field.dob .fields.group .field input,
+.form.orders.search .fieldset .field.dob .fields.group .field input,
+.form.contact .fieldset .field.dob .fields.group .field input,
+.form.password.forget .fieldset .field.dob .fields.group .field input,
+.form.create.account .fieldset .field.dob .fields.group .field input,
+.form.wishlist.share .fieldset .field.dob .fields.group .field input,
+.form.password.reset .fieldset .field.dob .fields.group .field input,
+.form.paypal.review .fieldset .field.dob .fields.group .field input {
+  margin-bottom: 16px;
+}
+.form.send.friend .actions,
+.form.address.edit .actions,
+.form.edit.account .actions,
+.form.search.advanced .actions,
+.form.orders.search .actions,
+.form.contact .actions,
+.form.password.forget .actions,
+.form.create.account .actions,
+.form.wishlist.share .actions,
+.form.password.reset .actions,
+.form.paypal.review .actions {
+  *zoom: 1;
+  width: 690px;
+}
+.form.send.friend .actions:before,
+.form.address.edit .actions:before,
+.form.edit.account .actions:before,
+.form.search.advanced .actions:before,
+.form.orders.search .actions:before,
+.form.contact .actions:before,
+.form.password.forget .actions:before,
+.form.create.account .actions:before,
+.form.wishlist.share .actions:before,
+.form.password.reset .actions:before,
+.form.paypal.review .actions:before,
+.form.send.friend .actions:after,
+.form.address.edit .actions:after,
+.form.edit.account .actions:after,
+.form.search.advanced .actions:after,
+.form.orders.search .actions:after,
+.form.contact .actions:after,
+.form.password.forget .actions:after,
+.form.create.account .actions:after,
+.form.wishlist.share .actions:after,
+.form.password.reset .actions:after,
+.form.paypal.review .actions:after {
+  content: "";
+  display: table;
+}
+.form.send.friend .actions:after,
+.form.address.edit .actions:after,
+.form.edit.account .actions:after,
+.form.search.advanced .actions:after,
+.form.orders.search .actions:after,
+.form.contact .actions:after,
+.form.password.forget .actions:after,
+.form.create.account .actions:after,
+.form.wishlist.share .actions:after,
+.form.password.reset .actions:after,
+.form.paypal.review .actions:after {
+  clear: both;
+}
+.form.send.friend .actions .primary,
+.form.address.edit .actions .primary,
+.form.edit.account .actions .primary,
+.form.search.advanced .actions .primary,
+.form.orders.search .actions .primary,
+.form.contact .actions .primary,
+.form.password.forget .actions .primary,
+.form.create.account .actions .primary,
+.form.wishlist.share .actions .primary,
+.form.password.reset .actions .primary,
+.form.paypal.review .actions .primary {
+  float: right;
+}
+.form.send.friend .actions .secondary,
+.form.address.edit .actions .secondary,
+.form.edit.account .actions .secondary,
+.form.search.advanced .actions .secondary,
+.form.orders.search .actions .secondary,
+.form.contact .actions .secondary,
+.form.password.forget .actions .secondary,
+.form.create.account .actions .secondary,
+.form.wishlist.share .actions .secondary,
+.form.password.reset .actions .secondary,
+.form.paypal.review .actions .secondary {
+  float: left;
+}
+.form.send.friend .fieldset.create.account:after,
+.form.address.edit .fieldset.create.account:after,
+.form.edit.account .fieldset.create.account:after,
+.form.search.advanced .fieldset.create.account:after,
+.form.orders.search .fieldset.create.account:after,
+.form.contact .fieldset.create.account:after,
+.form.password.forget .fieldset.create.account:after,
+.form.create.account .fieldset.create.account:after,
+.form.wishlist.share .fieldset.create.account:after,
+.form.password.reset .fieldset.create.account:after,
+.form.paypal.review .fieldset.create.account:after {
+  content: attr(data-hasrequired);
+  display: block;
+  position: absolute;
+  top: 100%;
+  left: 0;
+  padding: 10px 0 0;
+  letter-spacing: normal;
+  word-spacing: normal;
+  color: #da370a;
+}
+.form.send.friend .fieldset.recipients .fields {
+  *zoom: 1;
+  margin-bottom: 30px;
+  position: relative;
+  z-index: 1;
+}
+.form.send.friend .fieldset.recipients .fields:before,
+.form.send.friend .fieldset.recipients .fields:after {
+  content: "";
+  display: table;
+}
+.form.send.friend .fieldset.recipients .fields:after {
+  clear: both;
+}
+.form.send.friend .fieldset.recipients .fields .field {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  width: 50%;
+  padding-right: 20px;
+  float: left;
+}
+.form.send.friend .fieldset.recipients .fields .action.delete {
+  position: absolute;
+  right: 0;
+  top: 50%;
+}
+.form.send.friend .actions > .primary {
+  float: right;
+  text-align: right;
+}
+.form.send.friend .actions > .primary .action.submit {
+  float: right;
+  margin-left: 10px;
+}
+.form.send.friend .actions > .primary .limit {
+  margin: 0;
+  display: inline-block;
+}
+.form.address.edit .field.company,
+.form.edit.account .field.password.current,
+.form.edit.account .field.choice {
+  margin-right: 30%;
+}
+.form.address.edit .field.note.default,
+.form.address.edit .field.choice.set,
+.form.wishlist.share .field.emails,
+.form.wishlist.share .field.text,
+.form.wishlist.share .field.choice {
+  width: 100%;
+}
+.form.search.advanced,
+.form.orders.search,
+.form.contact {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #f8f8f8;
+  padding: 40px;
+}
+.form.search.advanced .fieldset,
+.form.orders.search .fieldset,
+.form.contact .fieldset {
+  width: auto;
+  background: none;
+  margin-bottom: 0;
+}
+.form.search.advanced .fieldset .legend,
+.form.orders.search .fieldset .legend,
+.form.contact .fieldset .legend {
+  background: none;
+}
+.form.search.advanced .actions,
+.form.orders.search .actions,
+.form.contact .actions {
+  width: auto;
+  padding-right: 30px;
+  text-align: right;
+}
+.form.search.advanced .fields.range .field:first-child .control,
+.form.orders.search .fields.range .field:first-child .control,
+.form.contact .fields.range .field:first-child .control {
+  padding-right: 30px;
+  position: relative;
+}
+.form.search.advanced .fields.range .field:first-child .control:after,
+.form.orders.search .fields.range .field:first-child .control:after,
+.form.contact .fields.range .field:first-child .control:after {
+  content: '\2014';
+  display: inline-block;
+  margin-right: 0;
+  position: absolute;
+  right: 6px;
+  top: 5px;
+  text-align: center;
+  width: 25px;
+}
+.form.contact .fieldset .field {
+  float: left;
+  width: 40%;
+  margin-right: 60%;
+}
+.form.contact .fieldset .field.comment {
+  width: 55%;
+  margin-left: -55%;
+  margin-right: 0;
+  float: none;
+}
+.form.contact .fieldset .field.comment textarea {
+  min-height: 13.2em;
+}
+/*
+    Review paypal express checkout order
+-------------------------------------- */
+.paypal.review.view .paypal.subtitle.caption {
+  margin-bottom: 25px;
+}
+.paypal.review.view .paypal.subtitle.caption .action {
+  margin-left: 10px;
+}
+.paypal.review.view .paypal.subtitle.caption strong {
+  font-size: 20px;
+  font-weight: 200;
+  line-height: 1.2;
+}
+.paypal.review.view .form.paypal.review .fieldset {
+  width: 100%;
+}
+.paypal.review.view .form.paypal.review .fieldset.shipping.address {
+  float: right;
+  width: 49%;
+}
+.paypal.review.view .form.paypal.review .fieldset.billing.address {
+  float: left;
+  width: 49%;
+}
+.paypal.review.view .form.paypal.review .fieldset.shipping.method {
+  clear: both;
+}
+.paypal.review.view .form.paypal.review .fieldset .nested {
+  margin-top: 10px;
+}
+.paypal.review.view .actions {
+  margin-top: 35px;
+}
+.paypal.review.view .actions .action.update {
+  margin-left: 10px;
+}
+.paypal.review.view .data.table.paypal.review.items {
+  width: 100%;
+}
+.paypal.review.view .data.table.paypal.review.items td,
+.paypal.review.view .data.table.paypal.review.items th {
+  padding: 10px 20px;
+  text-align: left;
+}
+.paypal.review.view .data.table.paypal.review.items td.col.total,
+.paypal.review.view .data.table.paypal.review.items th.col.total {
+  text-align: right;
+}
+.paypal.review.view .data.table.paypal.review.items th {
+  font-size: 16px;
+  font-weight: 400;
+}
+.paypal.review.view .data.table.paypal.review.items tbody tr:nth-child(odd) td {
+  background: #f8f8f8;
+}
+.paypal.review.view .data.table.paypal.review.items tfoot tr:first-child td {
+  border-top: 3px solid #e5e5e5;
+  padding-top: 15px;
+}
+/*
+    MISC
+-------------------------------------- */
+.action.back span:before {
+  content: '\00AB\00A0';
+}
+/*
+    Magento_Customer
+    Account
+-------------------------------------- */
+.col2-left-layout.account .column.main {
+  float: left;
+  width: 75%;
+  margin-right: 0%;
+}
+.col2-left-layout.account .column.left {
+  float: left;
+  width: 25%;
+  margin-right: 0%;
+}
+.block.account.nav .title {
+  font-size: 18px;
+}
+.block.account.nav .item {
+  margin-bottom: 10px;
+}
+.block.account.nav .item.current {
+  color: #da370a;
+}
+.block.account.nav .item strong {
+  font-weight: 400;
+}
+.my-account .pager .amount,
+.my-account .pager .limiter {
+  display: inline-block;
+}
+.my-account .form .fieldset > .legend {
+  margin: 0 0 30px;
+}
+.my-account > .actions,
+.my-account .form > .actions,
+.my-account .block > .actions {
+  *zoom: 1;
+  margin: 30px 0 0;
+}
+.my-account > .actions:before,
+.my-account .form > .actions:before,
+.my-account .block > .actions:before,
+.my-account > .actions:after,
+.my-account .form > .actions:after,
+.my-account .block > .actions:after {
+  content: "";
+  display: table;
+}
+.my-account > .actions:after,
+.my-account .form > .actions:after,
+.my-account .block > .actions:after {
+  clear: both;
+}
+.my-account > .actions > .primary,
+.my-account .form > .actions > .primary,
+.my-account .block > .actions > .primary {
+  float: right;
+}
+.my-account > .actions > .secondary,
+.my-account .form > .actions > .secondary,
+.my-account .block > .actions > .secondary {
+  float: left;
+}
+.my-account .data.table {
+  width: 100%;
+}
+.my-account .data.table td,
+.my-account .data.table th {
+  padding: 10px 20px;
+  text-align: left;
+}
+.my-account .data.table td.col.actions,
+.my-account .data.table th.col.actions {
+  white-space: nowrap;
+}
+.my-account .data.table td.col.actions .action:last-child,
+.my-account .data.table th.col.actions .action:last-child {
+  margin-left: 20px;
+}
+.my-account .data.table td em,
+.my-account .data.table th em {
+  font-style: normal;
+}
+.my-account .data.table th {
+  font-size: 16px;
+  font-weight: 400;
+}
+.my-account .data.table tr:nth-child(odd) td {
+  background: #f8f8f8;
+}
+.block.dashboard .title .action,
+.block.dashboard .subtitle .action {
+  font-weight: 400;
+  font-size: 14px;
+  margin-left: 20px;
+  text-decoration: underline;
+  display: inline-block;
+  text-transform: lowercase;
+}
+.block.dashboard .title .action:first-letter,
+.block.dashboard .subtitle .action:first-letter {
+  text-transform: uppercase;
+}
+.block.dashboard .box {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+  width: 50%;
+  line-height: 1.666;
+}
+.block.dashboard .box address {
+  font-style: normal;
+}
+.block.dashboard .content {
+  *zoom: 1;
+}
+.block.dashboard .content:before,
+.block.dashboard .content:after {
+  content: "";
+  display: table;
+}
+.block.dashboard .content:after {
+  clear: both;
+}
+.block.dashboard:not(.welcome):not(.orders) .content {
+  background: #f8f8f8;
+  padding: 30px;
+}
+.block.dashboard:not(.welcome):not(.orders) .subtitle {
+  font-size: 18px;
+  font-weight: 200;
+  display: block;
+  margin-bottom: 20px;
+}
+.data.table.orders td.col.total,
+.data.table.orders th.col.total {
+  text-align: right;
+}
+/*
+    Address book
+-------------------------------------- */
+.block.addresses:not(.dashboard) {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+}
+.block.addresses:not(.dashboard) .title .action,
+.block.addresses:not(.dashboard) .subtitle .action {
+  font-weight: 400;
+  font-size: 14px;
+  margin-left: 20px;
+  text-decoration: underline;
+  display: inline-block;
+  text-transform: lowercase;
+}
+.block.addresses:not(.dashboard) .title .action:first-letter,
+.block.addresses:not(.dashboard) .subtitle .action:first-letter {
+  text-transform: uppercase;
+}
+.block.addresses:not(.dashboard) .content {
+  background: #f8f8f8;
+  padding: 30px;
+}
+.block.addresses:not(.dashboard) .subtitle {
+  font-size: 18px;
+  font-weight: 200;
+  display: block;
+  margin-bottom: 20px;
+}
+.block.addresses:not(.dashboard) .box:first-child {
+  margin-bottom: 30px;
+}
+.block.addresses:not(.dashboard) address {
+  line-height: 1.666;
+  font-style: normal;
+}
+.block.addresses:not(.dashboard).default {
+  float: left;
+  width: 60%;
+}
+.block.addresses:not(.dashboard).list {
+  float: right;
+  width: 35%;
+}
+.block.addresses:not(.dashboard).list .item {
+  margin-bottom: 30px;
+}
+.block.addresses:not(.dashboard).list .item.actions {
+  margin-top: 15px;
+}
+.block.addresses:not(.dashboard).list .action {
+  margin-right: 10px;
+}
+.customer-address-index .column.main .actions {
+  clear: left;
+}
+/*
+    My Account -> My Product Reviews
+-------------------------------------- */
+.data.table.reviews .product.name {
+  margin: 0;
+}
+/*
+    My Account -> My Wishlist
+-------------------------------------- */
+.data.table.wishlist {
+  margin-bottom: 15px;
+}
+.data.table.wishlist thead th {
+  padding-top: 0;
+  padding-bottom: 10px;
+  text-align: left;
+  font-weight: 400;
+  font-size: 16px;
+}
+.data.table.wishlist td,
+.data.table.wishlist th {
+  padding: 16px 10px 10px;
+  vertical-align: top;
+}
+.data.table.wishlist td:first-child,
+.data.table.wishlist th:first-child {
+  padding-left: 20px;
+}
+.data.table.wishlist td:last-child,
+.data.table.wishlist th:last-child {
+  padding-right: 20px;
+}
+.data.table.wishlist tbody tr:nth-child(even) {
+  background: #f8f8f8;
+}
+.data.table.wishlist textarea {
+  width: 100%;
+}
+.data.table.wishlist .box.tocart .qty {
+  width: 50px;
+}
+.data.table.wishlist + .actions .primary {
+  margin-bottom: 15px;
+}
+.data.table.wishlist + .actions .primary .action.share,
+.data.table.wishlist + .actions .primary .action.update {
+  padding: 5px 11px;
+}
+.data.table.wishlist + .actions .primary .action.update {
+  margin-left: 5px;
+}
+.data.table.wishlist .col.photo {
+  width: 100px;
+}
+.data.table.wishlist .col.actions {
+  width: 200px;
+}
+.data.table.wishlist .item-options {
+  background: rgba(0, 0, 0, 0.8);
+  color: #ffffff;
+  display: none;
+  position: absolute;
+  border-radius: 5px;
+  padding: 10px;
+  right: 100%;
+  top: 50%;
+  margin-top: -20px;
+  margin-right: 15px;
+  max-width: 200px;
+  min-width: 100px;
+}
+.data.table.wishlist .item-options > p {
+  margin-top: 0;
+}
+.data.table.wishlist .item-options dl {
+  margin: 0;
+}
+.data.table.wishlist .item-options dl dt {
+  display: inline;
+  float: left;
+  clear: left;
+  font-weight: 600;
+}
+.data.table.wishlist .item-options dl dt:after {
+  content: ':';
+  margin-right: 5px;
+}
+.data.table.wishlist .item-options dl dd {
+  margin: 0;
+}
+.data.table.wishlist .truncated .truncated_full_value {
+  position: relative;
+}
+.data.table.wishlist .truncated .truncated_full_value.show:before {
+  content: '';
+  border-left: 10px solid rgba(0, 0, 0, 0.8);
+  border-top: 10px solid transparent;
+  border-bottom: 10px solid transparent;
+  height: 0;
+  width: 0;
+  overflow: hidden;
+  display: block;
+  position: absolute;
+  top: 3px;
+  margin-top: 0;
+  left: -15px;
+  z-index: 2;
+}
+.data.table.wishlist .truncated .truncated_full_value.show .item-options {
+  display: block;
+}
+.data.table.wishlist .truncated .details {
+  font-size: 12px;
+  border-bottom: 1px dotted #332e29;
+  cursor: help;
+}
+/*
+    Page -> Advanced Search
+-------------------------------------- */
+.form.search.advanced .range.price.fields.group .field {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+  width: 50%;
+  margin-right: 0%;
+  padding-right: 0;
+}
+.form.search.advanced .range.price.fields.group .field:first-child input {
+  width: 96%;
+}
+.form.search.advanced .range.dates.fields.group .field {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+  width: 50%;
+  margin-right: 0%;
+  padding-right: 0;
+}
+.form.search.advanced .range.dates.fields.group .field .control {
+  padding-right: 20px;
+}
+.form.search.advanced .range.dates.fields.group .field:first-child .control {
+  padding-right: 50px;
+}
+.form.search.advanced .range.dates.fields.group .field:first-child .control .ui-datepicker-trigger {
+  right: 32px;
+}
+.form.search.advanced .group.price .addon .addafter {
+  color: #675f55;
+  border: none;
+  background: none;
+}
+/*
+    Popular Search Terms
+-------------------------------------- */
+.search.terms {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.search.terms .item {
+  display: inline-block;
+  margin-right: 3px;
+}
+/*
+    My Account -> My orders
+-------------------------------------- */
+.order.details {
+  *zoom: 1;
+}
+.order.details:before,
+.order.details:after {
+  content: "";
+  display: table;
+}
+.order.details:after {
+  clear: both;
+}
+.order.details .status {
+  margin: 0 0 .5em;
+  line-height: 1.2;
+  font-weight: 400;
+  font-size: 30px;
+  float: left;
+}
+.order.details .subtitle.caption strong,
+.order.details .title strong {
+  line-height: 1.2;
+  font-weight: 200;
+  font-size: 20px;
+}
+.order.details .subtitle.caption .action,
+.order.details .title .action {
+  margin-left: 10px;
+}
+.order.details .subtitle.caption {
+  margin-bottom: 45px;
+}
+.order.details .order.toolbar {
+  clear: none;
+  float: right;
+}
+.order.details .order.toolbar .action {
+  margin-left: 10px;
+}
+.order.details .block.order {
+  float: left;
+  width: 48%;
+  padding-right: 2%;
+}
+.order.details .block.order.billing.address {
+  clear: left;
+}
+.order.details .block.order .content {
+  background: #f8f8f8;
+  padding: 30px;
+}
+.order.details .order.info {
+  clear: both;
+}
+.order.details .order.info > dt {
+  line-height: 1.2;
+  font-weight: 200;
+  font-size: 20px;
+}
+.order.details .order.info > dd {
+  margin: 10px 0 0 0;
+  background: #f8f8f8;
+  padding: 30px;
+}
+.order.details .order.info > dd .items {
+  *zoom: 1;
+}
+.order.details .order.info > dd .items:before,
+.order.details .order.info > dd .items:after {
+  content: "";
+  display: table;
+}
+.order.details .order.info > dd .items:after {
+  clear: both;
+}
+.order.details .order.info > dd .items .item {
+  float: left;
+  margin-right: 15px;
+}
+.order.details .additional.details {
+  margin-bottom: 45px;
+}
+.order.details .additional.details .order.comments {
+  background: #f8f8f8;
+  padding: 30px;
+}
+.order.details .additional.details .subtitle.caption {
+  font-size: 20px;
+  font-weight: 200;
+  line-height: 1.2;
+  margin-bottom: 15px;
+}
+.order.details .additional.details.gift .gift.message {
+  background: #f8f8f8;
+  padding: 30px;
+}
+.order.details .additional.details.gift .gift.message dt {
+  margin: 0;
+}
+.order.details .additional.details.gift .gift.message dd {
+  margin: 0 0 0 40px;
+}
+.order.details.items .order.toolbar {
+  margin: 5px 0 0 0;
+}
+.order.details.items .order.title {
+  margin-bottom: 10px;
+}
+.order.details.items h3.product-name {
+  margin: 0;
+}
+.order.details.items .action.show {
+  text-decoration: none;
+}
+.order.details.items .action.show:after {
+  font-family: "icons";
+  font-size: 12px;
+  line-height: 12px;
+  height: 12px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e029";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.order.details.items .action.show.expanded:after {
+  content: "\e02c";
+}
+.shipping-tracking-popup .action.close {
+  text-indent: 0;
+}
+.shipping-tracking-popup .action.close span {
+  width: auto;
+  text-indent: 0;
+}
+.shipping-tracking-popup .action.close span:after {
+  content: "";
+  display: none;
+}
+.data.table.order {
+  margin-bottom: 45px;
+  width: 100%;
+}
+.data.table.order thead th {
+  padding: 0 10px;
+}
+.data.table.order thead tr:last-child th {
+  padding-bottom: 10px;
+}
+.data.table.order td.col.qty {
+  width: 90px;
+  text-align: left;
+}
+.data.table.order td.col.price,
+.data.table.order td.col.subtotal {
+  text-align: left;
+}
+.data.table.order td {
+  padding: 16px 10px 10px;
+  vertical-align: top;
+}
+.data.table.order td h4 {
+  margin: 0;
+}
+.data.table.order td:first-child,
+.data.table.order th:first-child {
+  padding-left: 20px;
+}
+.data.table.order td:last-child,
+.data.table.order th:last-child {
+  padding-right: 20px;
+}
+.data.table.order tbody:nth-child(even) tr {
+  background: #f8f8f8;
+}
+.data.table.order th {
+  text-align: left;
+  font-weight: 400;
+  font-size: 14px;
+  vertical-align: top;
+}
+.data.table.order tr:first-child th {
+  font-weight: 400;
+  font-size: 16px;
+}
+.data.table.order .item-options {
+  margin: 5px 0;
+}
+.data.table.order .item-options dt {
+  font-weight: 400;
+  display: inline;
+  margin-right: 10px;
+  float: left;
+  clear: left;
+}
+.data.table.order .item-options dt:after {
+  content: ': ';
+}
+.data.table.order .item-options dd {
+  font-weight: 200;
+  margin: 0 0 5px 10px;
+  padding: 0;
+}
+.data.table.order tfoot tr:first-child td {
+  border-top: 3px solid #e5e5e5;
+  padding-top: 15px;
+}
+.data.table.order.tracking th,
+.data.table.order.tracking td {
+  padding: 0;
+}
+.data.table.order.tracking .label {
+  width: 40%;
+}
+/*
+    My Account -> Billing agreements
+-------------------------------------- */
+.billing.agreements .data.table {
+  margin-bottom: 40px;
+}
+.billing.agreements .form.new.agreement .field {
+  display: inline-block;
+  padding-right: 20px;
+  vertical-align: top;
+  width: 30%;
+}
+.billing.agreements .form.new.agreement .nested .field {
+  width: 100%;
+}
+.billing.agreements .form.new.agreement .actions {
+  margin-right: 30px;
+}
+.billing.agreements .form.new.agreement .fieldset {
+  margin: 0;
+}
+.billing.agreements .form.new.agreement .fieldset > .legend {
+  margin: 0 0 20px;
+}
+.billing.agreements .form.new.agreement .action.create {
+  padding-top: 7px;
+  padding-bottom: 6px;
+}
+/*
+    Overlay popup
+-------------------------------------- */
+.window.overlay {
+  background: rgba(0, 0, 0, 0.5);
+  display: none;
+  min-height: 100%;
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  z-index: 990;
+}
+.window.overlay.active {
+  display: block;
+}
+.popup {
+  background: #ffffff;
+  left: 50%;
+  top: 40%;
+  position: absolute;
+  margin: -85px 0 0 -250px;
+  width: 500px;
+  z-index: 1000;
+  position: fixed;
+  display: none;
+}
+.popup.active {
+  display: block;
+}
+.popup .close span {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.popup .close span:active {
+  outline: 0;
+}
+.popup .close span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.popup .title {
+  font-size: 18px;
+  margin: 0 0 30px;
+}
diff --git a/app/design/frontend/magento_plushe/fonts/.htaccess b/app/design/frontend/magento_plushe/fonts/.htaccess
new file mode 100644
index 00000000000..d7ef2e0846f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/.htaccess
@@ -0,0 +1,13 @@
+# deny *everything*
+<FilesMatch ".*">
+  Order Allow,Deny
+  Deny from all
+</FilesMatch>
+
+# but now allow just *certain* necessary files:
+<FilesMatch ".*\.(js|JS|css|CSS|jpg|JPG|gif|GIF|png|PNG|swf|SWF|xsl|XSL|svg|eot|ttf|woff)$">
+  Order Allow,Deny
+  Allow from all
+</FilesMatch>
+
+IndexIgnore */*
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/icons/icons.dev.svg b/app/design/frontend/magento_plushe/fonts/icons/icons.dev.svg
new file mode 100644
index 00000000000..661704d2967
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/icons/icons.dev.svg
@@ -0,0 +1,99 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>
+This is a custom SVG font generated by IcoMoon.
+<iconset grid="16"></iconset>
+</metadata>
+<defs>
+<font id="icons" horiz-adv-x="512" >
+<font-face units-per-em="512" ascent="480" descent="-32" />
+<missing-glyph horiz-adv-x="512" />
+<glyph class="hidden" unicode="&#xf000;" d="M0,480L 512 -32L0 -32 z" horiz-adv-x="0" />
+<glyph unicode="&#xe006;" d="M 323.52,366.72L 169.984,366.72L 93.216,268.192L 400.288,268.192 						zM 246.752,480L 182.88,383.872L 310.656,383.872 						zM 393.728,251.808L 99.808,251.808 c-13.088,0-23.712-10.624-23.712-23.776l0-236.256 C 76.096-21.344, 86.72-32, 99.808-32l 293.92,0 
+							c 13.056,0, 23.68,10.656, 23.68,23.776L 417.408,228.032 C 417.408,241.184, 406.784,251.808, 393.728,251.808z" data-tags="pencil" />
+<glyph unicode="&#xe007;" d="M0,243.648L 512,243.648L 512,204.32L0,204.32zM0,381.536L 512,381.536L 512,342.144L0,342.144zM0,105.824L 512,105.824L 512,66.496L0,66.496z" data-tags="menu" />
+<glyph unicode="&#xe008;" d="M 425.12,310.88C 425.12,404.256, 349.344,480, 256,480C 162.56,480, 86.88,404.256, 86.88,310.88c0-73.632, 47.040-136.256, 112.672-159.488l 15.232-49.504
+						L 256-32l 41.216,133.888l 15.232,49.504C 378.112,174.624, 425.12,237.248, 425.12,310.88z M 349.6,256.832L 256,202.816L 162.368,256.832L 162.368,364.896 L 256,418.944
+						l 93.6-54.016L 349.6,256.832 z" data-tags="location" />
+<glyph unicode="&#xe00a;" d="M 149.824-32L 262.304-32L 332.672,319.616L 220.128,319.616 				zM 357.248,450.432c-3.264,6.56-7.712,12-13.344,16.192c-5.664,4.256-11.936,7.488-19.008,9.856C 317.888,478.816, 310.592,480, 303.136,480
+					C 293.728,480, 284.928,478.24, 276.736,474.72s-15.36-8.096-21.44-13.728C 249.184,455.36, 244.384,448.704, 240.864,440.928
+					c-3.52-7.68-5.248-15.808-5.248-24.256c0-8.864, 1.632-16.64, 4.896-23.2c 3.264-6.56, 7.712-11.936, 13.344-16.192
+					c 5.632-4.192, 11.968-7.36, 19.008-9.504c 7.040-2.080, 14.304-3.168, 21.792-3.168c 19.264,0, 35.328,5.984, 48.192,17.984
+					c 12.928,11.936, 19.328,27.072, 19.328,45.344C 362.176,436.416, 360.544,443.904, 357.248,450.432z" data-tags="info" />
+<glyph unicode="&#xe00c;" d="M 368.032,304L 512,447.968L 96,447.968L 96,480L 32,480L 32,447.968L0,447.968L0,160L 32,160L 32-32L 96-32L 96,160L 512,160 
+											z" data-tags="flag" />
+<glyph unicode="&#xe00d;" d="M 512,275.2L 307.2,275.2L 307.2,480L 204.8,480L 204.8,275.2L0,275.2L0,172.8L 204.8,172.8L 204.8-32L 307.2-32L 307.2,172.8L 512,172.8 			z" data-tags="expand" />
+<glyph unicode="&#xe00e;" d="M 200.064,26.528c0,17.024, 5.376,31.040, 16.128,42.048c 10.752,10.976, 24.16,16.544, 40.192,16.544s 29.312-5.568, 39.744-16.544
+					c 10.56-11.040, 15.808-25.024, 15.808-42.048s-5.248-31.072-15.808-42.016C 285.696-26.528, 272.416-32, 256.384-32s-29.44,5.472-40.192,16.512
+					C 205.44-4.544, 200.064,9.504, 200.064,26.528z M 215.104,394.4L 212.8,480l 87.136,0 L 296.928,394.4l-12.064-256L 227.104,138.4 L 215.104,394.4z" data-tags="exclamation" />
+<glyph unicode="&#xe010;" d="M 256,46.624L0,401.376l 512,0 L 256,46.624z" data-tags="dropdown" />
+<glyph unicode="&#xe011;" d="M 512,275.2L 512,172.8 L0,172.8 L0,275.2 L 512,275.2 z" data-tags="collapse" />
+<glyph unicode="&#xe012;" d="M 512-3.296L 284.576,224.48L 511.168,451.328L 482.56,480L 255.936,253.12L 29.504,479.84L 0.864,451.168L 227.328,224.448L0-3.136L 28.64-31.84L 255.936,195.744L 483.392-32 			z" data-tags="close-thick" />
+<glyph unicode="&#xe013;" d="M 44.384,252.768L 182.72,89.568L 459.552,480L 505.696,427.488L 183.904-32L 6.304,197.152 		z" data-tags="checkmark" />
+<glyph unicode="&#xe014;" d="M 480,320L 96,384C 90.784,384, 86.048,382.464, 81.728,380.256L 79.36,388.384C 78.624,391.008, 77.248,393.376, 75.328,395.328l-32,32
+					c-6.24,6.24-16.384,6.24-22.624,0s-6.24-16.384,0-22.624l 29.056-29.056L 110.912,161.6l-29.216-58.432
+					c-2.496-4.96-2.208-10.848, 0.672-15.552C 85.312,82.88, 90.432,80, 96,80l 48,0 l0-20.896 C 134.624,53.536, 128,43.712, 128,32
+					c0-17.696, 14.304-32, 32-32s 32,14.304, 32,32c0,11.712-6.624,21.536-16,27.104L 176,80 l 192,0 l0-20.896 C 358.592,53.536, 352,43.712, 352,32
+					c0-17.696, 14.304-32, 32-32s 32,14.304, 32,32c0,11.712-6.592,21.536-16,27.104L 400,80 L 448,80 c 8.832,0, 16,7.168, 16,16s-7.168,16-16,16L 121.888,112 
+					l 20.448,40.832c 1.792,3.584, 2.176,7.68, 1.056,11.552l-0.32,1.12C 148.064,162.336, 153.632,160, 160,160l 288,0 c 17.696,0, 32,14.304, 32,32l 32,96
+					C 512,305.696, 497.696,320, 480,320z" data-tags="cart" />
+<glyph unicode="&#xe015;" d="M 512,132.864L 267.552,315.072L 267.616,315.136L 255.968,323.776L0,132.96L 11.616,124.288L 255.936,306.432L 500.352,124.224 			z" data-tags="arrow-up-thin" />
+<glyph unicode="&#xe016;" d="M 164.864-32L 347.072,212.448L 347.136,212.384L 355.776,224.032L 164.96,480L 156.288,468.384L 338.432,224.064L 156.224-20.352 			z" data-tags="arrow-right-thin" />
+<glyph unicode="&#xe017;" d="M 347.136,480L 164.928,235.552L 164.864,235.616L 156.224,223.968L 347.040-32L 355.712-20.384L 173.568,223.936L 355.776,468.352 			z" data-tags="arrow-left-thin" />
+<glyph unicode="&#xe018;" d="M0,315.136L 244.448,132.928L 244.384,132.864L 256.032,124.224L 512,315.040L 500.384,323.712L 256.064,141.568L 11.648,323.776 			z" data-tags="arrow-down-thin" />
+<glyph unicode="&#xe019;" d="M 256,382.944L 255.968,382.976L0,127.008L 62.048,64.96L 256.032,258.912L 449.984,65.024L 512,127.072L 256.064,383.040 			z" data-tags="arrow-up-thick" />
+<glyph unicode="&#xe01a;" d="M 414.944,224L 414.976,224.032L 159.008,480L 96.96,417.952L 290.912,223.968L 97.024,30.016L 159.072-32L 415.040,223.936 			z" data-tags="arrow-right-thick" />
+<glyph unicode="&#xe01b;" d="M 97.056,224L 97.024,223.968L 352.992-32L 415.040,30.048L 221.088,224.032L 414.976,417.984L 352.928,480L 96.96,224.064 			z" data-tags="arrow-left-thick" />
+<glyph unicode="&#xe01c;" d="M 256,65.056L 256.032,65.024L 512,320.992L 449.952,383.040L 255.968,189.088L 62.016,382.976L0,320.928L 255.936,64.96 			z" data-tags="arrow-down-thick" />
+<glyph unicode="&#xe01d;" d="M 48,384L 240,384L 240,206.784L 48,206.784zM 48,177.216L 240,177.216L 240,0L 48,0zM 272,384L 464,384L 464,206.784L 272,206.784zM 272,177.216L 464,177.216L 464,0L 272,0zM 283.84,353.184l 156.992,42.784l-8.448,30.88L 381.44,412.928c 8.384,7.2, 15.040,14.88, 18.944,22.944
+						c 5.12,10.56, 5.728,21.536, 1.728,31.744l-3.52,5.76L 394.592,476.16l-6.208,2.592c-57.024,10.56-109.024-48.96-132.416-80.992
+						c-23.36,32-75.36,91.52-132.416,80.992L 111.616,472.16L 109.888,467.616C 105.888,457.376, 106.464,446.4, 111.552,435.872
+						c 3.936-8.064, 10.56-15.712, 18.88-22.88l-50.88,13.856L 71.168,395.968l 156.96-42.784L 222.24,343.2l 20.16,6.112l 8.544-2.304l 8.032-0.576
+						l 10.592,2.88l 20.192-6.112L 283.84,353.184z M 370.528,447.936C 361.856,433.696, 332.64,417.28, 301.76,404
+						C 321.12,425.472, 346.080,446.016, 370.528,447.936z M 210.24,404C 179.36,417.248, 150.112,433.632, 141.44,447.936C 165.888,446.016, 190.88,425.44, 210.24,404
+						z" data-tags="wishlist" />
+<glyph unicode="&#xe01e;" d="M 61.135-4.221l 14.485,68.604l-9.772,0 c-36.307,0-65.846,29.536-65.846,65.841L 0.002,382.309 
+			c0,36.306, 29.539,65.843, 65.846,65.843l 380.303,0 c 36.309,0, 65.845-29.538, 65.845-65.843l0-252.084 
+			c0-36.305-29.536-65.841-65.845-65.841L 169.429,64.384 L 61.135-4.221z" data-tags="comment" />
+<glyph unicode="&#xe01f;" d="M 342.569,64.384L 65.847,64.384 c-36.309,0-65.845,29.536-65.845,65.841L 0.002,382.309 
+			c0,36.306, 29.536,65.843, 65.845,65.843L 446.15,448.152 c 36.307,0, 65.846-29.538, 65.846-65.843l0-252.084 
+			c0-36.305-29.539-65.841-65.846-65.841l-9.773,0 l 14.486-68.604L 342.569,64.384z" data-tags="comment-reflected" />
+<glyph unicode="&#xe002;" d="M0,480l 128.002,0 l0-128.002 L0,351.998 L0,480 zM 192.219,415.999l 319.777,0 l0-63.331 L 192.219,352.668 L 192.219,415.999 zM0,288.001l 128.002,0 l0-128.003 L0,159.998 L0,288.001 zM 192.219,224l 319.777,0 l0-63.33 L 192.219,160.67 L 192.219,224 zM 0.002,96.003l 128.002,0 L 128.004-32 L 0.002-32 L 0.002,96.003 zM 192.221,32.002l 319.775,0 l0-63.33 L 192.221-31.328 L 192.221,32.002 z" data-tags="list" />
+<glyph unicode="&#xe003;" d="M 0.002,480l 192,0 l0-192.002 l-192,0 L 0.002,480 zM0,160.002l 192,0 L 192-32 L0-32 L0,160.002 zM 319.996,160.002l 192,0 L 511.996-32 l-192,0 L 319.996,160.002 zM 320,480l 192,0 l0-192.002 L 320,287.998 L 320,480 z" data-tags="grid" />
+<glyph unicode="&#xe004;" d="M 30.832,438.23l 10.065,10.052l 439.399-439.4l-10.066-10.051
+			L 30.832,438.23zM 40.898-1.169l-10.066,10.051l 439.398,439.4l 10.066-10.052
+			L 40.898-1.169z" data-tags="close-thin" />
+<glyph unicode="&#xe000;" d="M 313.472,448.193c 0.342,1.637, 0.576,3.314, 0.576,5.122l0,3.258 
+					C 314.048,469.465, 303.515,480, 290.622,480l-52.776,0 c-12.867,0-23.453-10.535-23.453-23.427l0-3.258 c0-1.808, 0.262-3.485, 0.629-5.122
+					L 313.472,448.193 zM 412.972,415.662L 99.222,415.662 c-21.512-0.315-36.948-13.18-37.053-33.096l0-14.046 l 387.856,0 L 450.025,382.566 
+					C 449.894,402.482, 434.433,415.347, 412.972,415.662zM 117.265,12.796C 120.147-11.811, 142.762-32, 167.591-32l 177.011,0 
+					c 24.844,0, 47.459,20.189, 50.315,44.796l 36.895,307.077L 80.421,319.873 L 117.265,12.796z M 286.363,63.045l 21.814,188.044
+					c 1.312,11.241, 11.491,19.286, 22.721,18.002c 11.241-1.311, 19.299-11.478, 18.003-22.719l-21.816-188.045
+					c-1.219-10.443-10.075-18.134-20.334-18.134c-0.787,0-1.586,0.040-2.386,0.131C 293.123,41.635, 285.066,51.803, 286.363,63.045z
+					 M 180.693,269.091c 11.228,1.271, 21.409-6.761, 22.719-18.002l 21.814-188.044c 1.299-11.242-6.76-21.41-18.001-22.721
+					c-0.799-0.091-1.599-0.131-2.384-0.131c-10.26,0-19.117,7.69-20.334,18.134L 162.69,246.372
+					C 161.393,257.614, 169.451,267.781, 180.693,269.091z" data-tags="trash" />
+<glyph unicode="&#xe001;" d="M 256.542,192.229L 1.083,362.836L 1.083,64.5L 512,64.5L 512,362.805 					zM 256.542,277.081L 1.083,447.687L 512,447.687 					z" data-tags="envelope" />
+<glyph unicode="&#xe005;" d="M 508.064,23.328l-153.92,153.92c 21.12,31.040, 33.504,68.576, 33.504,108.928C 387.648,393.216, 300.864,480, 193.824,480C 86.784,480,0,393.216,0,286.176
+						c0-107.072, 86.784-193.856, 193.824-193.856c 40.384,0, 77.92,12.384, 108.928,33.504l 153.92-153.92c 5.248-5.248, 13.792-5.248, 19.040,0l 32.384,32.384
+						C 513.312,9.568, 513.312,18.080, 508.064,23.328z M 193.824,165.024c-66.88,0-121.12,54.24-121.12,121.152c0,66.88, 54.24,121.12, 121.12,121.12
+						c 66.912,0, 121.152-54.24, 121.152-121.12C 314.976,219.296, 260.704,165.024, 193.824,165.024z" data-tags="magnifying-glass" />
+<glyph unicode="&#xe02b;" d="M 119.995,223.983L 351.988,386.982L 351.996,61.018 					z" data-tags="arrow-right-filled" />
+<glyph unicode="&#xe02c;" d="M 255.982,87.996L 418.982,319.99L 93.018,319.998 					z" data-tags="arrow-bottom-filled" />
+<glyph unicode="&#xe02a;" d="M 392.004,223.983L 160.010,386.982L 160.002,61.018 					z" data-tags="arrow-left-filled" />
+<glyph unicode="&#xe029;" d="M 255.982,360.004L 418.982,128.010L 93.018,128.002 					z" data-tags="arrow-up-filled" />
+<glyph unicode="&#xe00b;" d="M 172.063,193.823L 217.844,193.823L 217.844,148.066L 172.063,148.066zM 236.52,132.598L 282.242,132.598L 282.242,86.848L 236.52,86.848zM 172.063,132.598L 217.844,132.598L 217.844,86.848L 172.063,86.848zM 172.063,255.050L 217.844,255.050L 217.844,209.319L 172.063,209.319zM 368.475,344.174c 10.469,0, 18.949,8.495, 18.949,18.977L 387.424,428.535 
+														c-0.001,10.481-8.481,18.964-18.949,18.964c-10.494,0-18.979-8.483-18.979-18.964l0-65.385 
+														C 349.5,352.669, 357.981,344.174, 368.475,344.174zM 144.372,344.174c 10.467,0, 18.946,8.495, 18.946,18.977L 163.318,428.535 
+														c0,10.481-8.479,18.964-18.946,18.964c-10.495,0-18.979-8.483-18.979-18.964l0-65.385 
+														C 125.395,352.669, 133.877,344.174, 144.372,344.174zM 107.603,193.823L 153.36,193.823L 153.36,148.066L 107.603,148.066zM 107.603,132.598L 153.36,132.598L 153.36,86.848L 107.603,86.848zM 236.52,193.823L 282.242,193.823L 282.242,148.066L 236.52,148.066zM 365.4,193.823L 411.155,193.823L 411.155,148.066L 365.4,148.066zM 365.4,255.050L 411.155,255.050L 411.155,209.319L 365.4,209.319zM 393.676,415.993l0-21.091 c 7.886-6.972, 12.886-17.154, 12.886-28.519
+														c0-21.040-17.044-38.116-38.088-38.116c-21.069,0-38.114,17.076-38.114,38.116c0,11.365, 5.001,21.547, 12.885,28.519
+														L 343.245,415.993 L 169.575,415.993 l0-21.091 c 7.885-6.972, 12.885-17.154, 12.885-28.519c0-21.040-17.044-38.116-38.087-38.116
+														c-21.070,0-38.114,17.076-38.114,38.116c0,11.365, 5,21.547, 12.884,28.519L 119.143,415.993 L 32.91,415.993 l0-416.021 l 447.103,0 L 480.013,415.993 L 393.676,415.993 z
+														 M 75.331,42.393L 75.331,307.647 l 363.134,0 l 0.001-265.254L 75.331,42.393 zM 236.52,255.050L 282.242,255.050L 282.242,209.319L 236.52,209.319zM 300.972,255.050L 346.727,255.050L 346.727,209.319L 300.972,209.319zM 300.972,132.598L 346.727,132.598L 346.727,86.848L 300.972,86.848zM 300.972,193.823L 346.727,193.823L 346.727,148.066L 300.972,148.066z" data-tags="calendar" />
+<glyph unicode="&#xe009;" d="M 512,281.475l-176.89,25.704L 256,467.47l-79.108-160.291L0,281.475l 128-124.769L 97.784-19.47L 256,63.709l 158.216-83.179
+	l-30.217,176.176L 512,281.475z M 256,103.251l-111.731-58.74l 21.338,124.415l-90.393,88.111l 124.92,18.152L 256,388.387l 55.868-113.198
+	l 124.918-18.152l-90.394-88.111l 21.339-124.415L 256,103.251z" data-tags="star, rate, favorite, bookmark" />
+<glyph unicode="&#x20;" horiz-adv-x="256" />
+</font></defs></svg>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/icons/icons.eot b/app/design/frontend/magento_plushe/fonts/icons/icons.eot
new file mode 100644
index 0000000000000000000000000000000000000000..b84de058ea76322b80cd42136a032e484cecaa94
GIT binary patch
literal 4344
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
QM(n@w&}>mKEPq@78?P4w1poj5

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/icons/icons.svg b/app/design/frontend/magento_plushe/fonts/icons/icons.svg
new file mode 100644
index 00000000000..560b55877c2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/icons/icons.svg
@@ -0,0 +1,99 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>
+This is a custom SVG font generated by IcoMoon.
+<iconset grid="16"></iconset>
+</metadata>
+<defs>
+<font id="icons" horiz-adv-x="512" >
+<font-face units-per-em="512" ascent="480" descent="-32" />
+<missing-glyph horiz-adv-x="512" />
+<glyph class="hidden" unicode="&#xf000;" d="M0,480L 512 -32L0 -32 z" horiz-adv-x="0" />
+<glyph unicode="&#xe006;" d="M 323.52,366.72L 169.984,366.72L 93.216,268.192L 400.288,268.192 						zM 246.752,480L 182.88,383.872L 310.656,383.872 						zM 393.728,251.808L 99.808,251.808 c-13.088,0-23.712-10.624-23.712-23.776l0-236.256 C 76.096-21.344, 86.72-32, 99.808-32l 293.92,0 
+							c 13.056,0, 23.68,10.656, 23.68,23.776L 417.408,228.032 C 417.408,241.184, 406.784,251.808, 393.728,251.808z"  />
+<glyph unicode="&#xe007;" d="M0,243.648L 512,243.648L 512,204.32L0,204.32zM0,381.536L 512,381.536L 512,342.144L0,342.144zM0,105.824L 512,105.824L 512,66.496L0,66.496z"  />
+<glyph unicode="&#xe008;" d="M 425.12,310.88C 425.12,404.256, 349.344,480, 256,480C 162.56,480, 86.88,404.256, 86.88,310.88c0-73.632, 47.040-136.256, 112.672-159.488l 15.232-49.504
+						L 256-32l 41.216,133.888l 15.232,49.504C 378.112,174.624, 425.12,237.248, 425.12,310.88z M 349.6,256.832L 256,202.816L 162.368,256.832L 162.368,364.896 L 256,418.944
+						l 93.6-54.016L 349.6,256.832 z"  />
+<glyph unicode="&#xe00a;" d="M 149.824-32L 262.304-32L 332.672,319.616L 220.128,319.616 				zM 357.248,450.432c-3.264,6.56-7.712,12-13.344,16.192c-5.664,4.256-11.936,7.488-19.008,9.856C 317.888,478.816, 310.592,480, 303.136,480
+					C 293.728,480, 284.928,478.24, 276.736,474.72s-15.36-8.096-21.44-13.728C 249.184,455.36, 244.384,448.704, 240.864,440.928
+					c-3.52-7.68-5.248-15.808-5.248-24.256c0-8.864, 1.632-16.64, 4.896-23.2c 3.264-6.56, 7.712-11.936, 13.344-16.192
+					c 5.632-4.192, 11.968-7.36, 19.008-9.504c 7.040-2.080, 14.304-3.168, 21.792-3.168c 19.264,0, 35.328,5.984, 48.192,17.984
+					c 12.928,11.936, 19.328,27.072, 19.328,45.344C 362.176,436.416, 360.544,443.904, 357.248,450.432z"  />
+<glyph unicode="&#xe00c;" d="M 368.032,304L 512,447.968L 96,447.968L 96,480L 32,480L 32,447.968L0,447.968L0,160L 32,160L 32-32L 96-32L 96,160L 512,160 
+											z"  />
+<glyph unicode="&#xe00d;" d="M 512,275.2L 307.2,275.2L 307.2,480L 204.8,480L 204.8,275.2L0,275.2L0,172.8L 204.8,172.8L 204.8-32L 307.2-32L 307.2,172.8L 512,172.8 			z"  />
+<glyph unicode="&#xe00e;" d="M 200.064,26.528c0,17.024, 5.376,31.040, 16.128,42.048c 10.752,10.976, 24.16,16.544, 40.192,16.544s 29.312-5.568, 39.744-16.544
+					c 10.56-11.040, 15.808-25.024, 15.808-42.048s-5.248-31.072-15.808-42.016C 285.696-26.528, 272.416-32, 256.384-32s-29.44,5.472-40.192,16.512
+					C 205.44-4.544, 200.064,9.504, 200.064,26.528z M 215.104,394.4L 212.8,480l 87.136,0 L 296.928,394.4l-12.064-256L 227.104,138.4 L 215.104,394.4z"  />
+<glyph unicode="&#xe010;" d="M 256,46.624L0,401.376l 512,0 L 256,46.624z"  />
+<glyph unicode="&#xe011;" d="M 512,275.2L 512,172.8 L0,172.8 L0,275.2 L 512,275.2 z"  />
+<glyph unicode="&#xe012;" d="M 512-3.296L 284.576,224.48L 511.168,451.328L 482.56,480L 255.936,253.12L 29.504,479.84L 0.864,451.168L 227.328,224.448L0-3.136L 28.64-31.84L 255.936,195.744L 483.392-32 			z"  />
+<glyph unicode="&#xe013;" d="M 44.384,252.768L 182.72,89.568L 459.552,480L 505.696,427.488L 183.904-32L 6.304,197.152 		z"  />
+<glyph unicode="&#xe014;" d="M 480,320L 96,384C 90.784,384, 86.048,382.464, 81.728,380.256L 79.36,388.384C 78.624,391.008, 77.248,393.376, 75.328,395.328l-32,32
+					c-6.24,6.24-16.384,6.24-22.624,0s-6.24-16.384,0-22.624l 29.056-29.056L 110.912,161.6l-29.216-58.432
+					c-2.496-4.96-2.208-10.848, 0.672-15.552C 85.312,82.88, 90.432,80, 96,80l 48,0 l0-20.896 C 134.624,53.536, 128,43.712, 128,32
+					c0-17.696, 14.304-32, 32-32s 32,14.304, 32,32c0,11.712-6.624,21.536-16,27.104L 176,80 l 192,0 l0-20.896 C 358.592,53.536, 352,43.712, 352,32
+					c0-17.696, 14.304-32, 32-32s 32,14.304, 32,32c0,11.712-6.592,21.536-16,27.104L 400,80 L 448,80 c 8.832,0, 16,7.168, 16,16s-7.168,16-16,16L 121.888,112 
+					l 20.448,40.832c 1.792,3.584, 2.176,7.68, 1.056,11.552l-0.32,1.12C 148.064,162.336, 153.632,160, 160,160l 288,0 c 17.696,0, 32,14.304, 32,32l 32,96
+					C 512,305.696, 497.696,320, 480,320z"  />
+<glyph unicode="&#xe015;" d="M 512,132.864L 267.552,315.072L 267.616,315.136L 255.968,323.776L0,132.96L 11.616,124.288L 255.936,306.432L 500.352,124.224 			z"  />
+<glyph unicode="&#xe016;" d="M 164.864-32L 347.072,212.448L 347.136,212.384L 355.776,224.032L 164.96,480L 156.288,468.384L 338.432,224.064L 156.224-20.352 			z"  />
+<glyph unicode="&#xe017;" d="M 347.136,480L 164.928,235.552L 164.864,235.616L 156.224,223.968L 347.040-32L 355.712-20.384L 173.568,223.936L 355.776,468.352 			z"  />
+<glyph unicode="&#xe018;" d="M0,315.136L 244.448,132.928L 244.384,132.864L 256.032,124.224L 512,315.040L 500.384,323.712L 256.064,141.568L 11.648,323.776 			z"  />
+<glyph unicode="&#xe019;" d="M 256,382.944L 255.968,382.976L0,127.008L 62.048,64.96L 256.032,258.912L 449.984,65.024L 512,127.072L 256.064,383.040 			z"  />
+<glyph unicode="&#xe01a;" d="M 414.944,224L 414.976,224.032L 159.008,480L 96.96,417.952L 290.912,223.968L 97.024,30.016L 159.072-32L 415.040,223.936 			z"  />
+<glyph unicode="&#xe01b;" d="M 97.056,224L 97.024,223.968L 352.992-32L 415.040,30.048L 221.088,224.032L 414.976,417.984L 352.928,480L 96.96,224.064 			z"  />
+<glyph unicode="&#xe01c;" d="M 256,65.056L 256.032,65.024L 512,320.992L 449.952,383.040L 255.968,189.088L 62.016,382.976L0,320.928L 255.936,64.96 			z"  />
+<glyph unicode="&#xe01d;" d="M 48,384L 240,384L 240,206.784L 48,206.784zM 48,177.216L 240,177.216L 240,0L 48,0zM 272,384L 464,384L 464,206.784L 272,206.784zM 272,177.216L 464,177.216L 464,0L 272,0zM 283.84,353.184l 156.992,42.784l-8.448,30.88L 381.44,412.928c 8.384,7.2, 15.040,14.88, 18.944,22.944
+						c 5.12,10.56, 5.728,21.536, 1.728,31.744l-3.52,5.76L 394.592,476.16l-6.208,2.592c-57.024,10.56-109.024-48.96-132.416-80.992
+						c-23.36,32-75.36,91.52-132.416,80.992L 111.616,472.16L 109.888,467.616C 105.888,457.376, 106.464,446.4, 111.552,435.872
+						c 3.936-8.064, 10.56-15.712, 18.88-22.88l-50.88,13.856L 71.168,395.968l 156.96-42.784L 222.24,343.2l 20.16,6.112l 8.544-2.304l 8.032-0.576
+						l 10.592,2.88l 20.192-6.112L 283.84,353.184z M 370.528,447.936C 361.856,433.696, 332.64,417.28, 301.76,404
+						C 321.12,425.472, 346.080,446.016, 370.528,447.936z M 210.24,404C 179.36,417.248, 150.112,433.632, 141.44,447.936C 165.888,446.016, 190.88,425.44, 210.24,404
+						z"  />
+<glyph unicode="&#xe01e;" d="M 61.135-4.221l 14.485,68.604l-9.772,0 c-36.307,0-65.846,29.536-65.846,65.841L 0.002,382.309 
+			c0,36.306, 29.539,65.843, 65.846,65.843l 380.303,0 c 36.309,0, 65.845-29.538, 65.845-65.843l0-252.084 
+			c0-36.305-29.536-65.841-65.845-65.841L 169.429,64.384 L 61.135-4.221z"  />
+<glyph unicode="&#xe01f;" d="M 342.569,64.384L 65.847,64.384 c-36.309,0-65.845,29.536-65.845,65.841L 0.002,382.309 
+			c0,36.306, 29.536,65.843, 65.845,65.843L 446.15,448.152 c 36.307,0, 65.846-29.538, 65.846-65.843l0-252.084 
+			c0-36.305-29.539-65.841-65.846-65.841l-9.773,0 l 14.486-68.604L 342.569,64.384z"  />
+<glyph unicode="&#xe002;" d="M0,480l 128.002,0 l0-128.002 L0,351.998 L0,480 zM 192.219,415.999l 319.777,0 l0-63.331 L 192.219,352.668 L 192.219,415.999 zM0,288.001l 128.002,0 l0-128.003 L0,159.998 L0,288.001 zM 192.219,224l 319.777,0 l0-63.33 L 192.219,160.67 L 192.219,224 zM 0.002,96.003l 128.002,0 L 128.004-32 L 0.002-32 L 0.002,96.003 zM 192.221,32.002l 319.775,0 l0-63.33 L 192.221-31.328 L 192.221,32.002 z"  />
+<glyph unicode="&#xe003;" d="M 0.002,480l 192,0 l0-192.002 l-192,0 L 0.002,480 zM0,160.002l 192,0 L 192-32 L0-32 L0,160.002 zM 319.996,160.002l 192,0 L 511.996-32 l-192,0 L 319.996,160.002 zM 320,480l 192,0 l0-192.002 L 320,287.998 L 320,480 z"  />
+<glyph unicode="&#xe004;" d="M 30.832,438.23l 10.065,10.052l 439.399-439.4l-10.066-10.051
+			L 30.832,438.23zM 40.898-1.169l-10.066,10.051l 439.398,439.4l 10.066-10.052
+			L 40.898-1.169z"  />
+<glyph unicode="&#xe000;" d="M 313.472,448.193c 0.342,1.637, 0.576,3.314, 0.576,5.122l0,3.258 
+					C 314.048,469.465, 303.515,480, 290.622,480l-52.776,0 c-12.867,0-23.453-10.535-23.453-23.427l0-3.258 c0-1.808, 0.262-3.485, 0.629-5.122
+					L 313.472,448.193 zM 412.972,415.662L 99.222,415.662 c-21.512-0.315-36.948-13.18-37.053-33.096l0-14.046 l 387.856,0 L 450.025,382.566 
+					C 449.894,402.482, 434.433,415.347, 412.972,415.662zM 117.265,12.796C 120.147-11.811, 142.762-32, 167.591-32l 177.011,0 
+					c 24.844,0, 47.459,20.189, 50.315,44.796l 36.895,307.077L 80.421,319.873 L 117.265,12.796z M 286.363,63.045l 21.814,188.044
+					c 1.312,11.241, 11.491,19.286, 22.721,18.002c 11.241-1.311, 19.299-11.478, 18.003-22.719l-21.816-188.045
+					c-1.219-10.443-10.075-18.134-20.334-18.134c-0.787,0-1.586,0.040-2.386,0.131C 293.123,41.635, 285.066,51.803, 286.363,63.045z
+					 M 180.693,269.091c 11.228,1.271, 21.409-6.761, 22.719-18.002l 21.814-188.044c 1.299-11.242-6.76-21.41-18.001-22.721
+					c-0.799-0.091-1.599-0.131-2.384-0.131c-10.26,0-19.117,7.69-20.334,18.134L 162.69,246.372
+					C 161.393,257.614, 169.451,267.781, 180.693,269.091z"  />
+<glyph unicode="&#xe001;" d="M 256.542,192.229L 1.083,362.836L 1.083,64.5L 512,64.5L 512,362.805 					zM 256.542,277.081L 1.083,447.687L 512,447.687 					z"  />
+<glyph unicode="&#xe005;" d="M 508.064,23.328l-153.92,153.92c 21.12,31.040, 33.504,68.576, 33.504,108.928C 387.648,393.216, 300.864,480, 193.824,480C 86.784,480,0,393.216,0,286.176
+						c0-107.072, 86.784-193.856, 193.824-193.856c 40.384,0, 77.92,12.384, 108.928,33.504l 153.92-153.92c 5.248-5.248, 13.792-5.248, 19.040,0l 32.384,32.384
+						C 513.312,9.568, 513.312,18.080, 508.064,23.328z M 193.824,165.024c-66.88,0-121.12,54.24-121.12,121.152c0,66.88, 54.24,121.12, 121.12,121.12
+						c 66.912,0, 121.152-54.24, 121.152-121.12C 314.976,219.296, 260.704,165.024, 193.824,165.024z"  />
+<glyph unicode="&#xe02b;" d="M 119.995,223.983L 351.988,386.982L 351.996,61.018 					z"  />
+<glyph unicode="&#xe02c;" d="M 255.982,87.996L 418.982,319.99L 93.018,319.998 					z"  />
+<glyph unicode="&#xe02a;" d="M 392.004,223.983L 160.010,386.982L 160.002,61.018 					z"  />
+<glyph unicode="&#xe029;" d="M 255.982,360.004L 418.982,128.010L 93.018,128.002 					z"  />
+<glyph unicode="&#xe00b;" d="M 172.063,193.823L 217.844,193.823L 217.844,148.066L 172.063,148.066zM 236.52,132.598L 282.242,132.598L 282.242,86.848L 236.52,86.848zM 172.063,132.598L 217.844,132.598L 217.844,86.848L 172.063,86.848zM 172.063,255.050L 217.844,255.050L 217.844,209.319L 172.063,209.319zM 368.475,344.174c 10.469,0, 18.949,8.495, 18.949,18.977L 387.424,428.535 
+														c-0.001,10.481-8.481,18.964-18.949,18.964c-10.494,0-18.979-8.483-18.979-18.964l0-65.385 
+														C 349.5,352.669, 357.981,344.174, 368.475,344.174zM 144.372,344.174c 10.467,0, 18.946,8.495, 18.946,18.977L 163.318,428.535 
+														c0,10.481-8.479,18.964-18.946,18.964c-10.495,0-18.979-8.483-18.979-18.964l0-65.385 
+														C 125.395,352.669, 133.877,344.174, 144.372,344.174zM 107.603,193.823L 153.36,193.823L 153.36,148.066L 107.603,148.066zM 107.603,132.598L 153.36,132.598L 153.36,86.848L 107.603,86.848zM 236.52,193.823L 282.242,193.823L 282.242,148.066L 236.52,148.066zM 365.4,193.823L 411.155,193.823L 411.155,148.066L 365.4,148.066zM 365.4,255.050L 411.155,255.050L 411.155,209.319L 365.4,209.319zM 393.676,415.993l0-21.091 c 7.886-6.972, 12.886-17.154, 12.886-28.519
+														c0-21.040-17.044-38.116-38.088-38.116c-21.069,0-38.114,17.076-38.114,38.116c0,11.365, 5.001,21.547, 12.885,28.519
+														L 343.245,415.993 L 169.575,415.993 l0-21.091 c 7.885-6.972, 12.885-17.154, 12.885-28.519c0-21.040-17.044-38.116-38.087-38.116
+														c-21.070,0-38.114,17.076-38.114,38.116c0,11.365, 5,21.547, 12.884,28.519L 119.143,415.993 L 32.91,415.993 l0-416.021 l 447.103,0 L 480.013,415.993 L 393.676,415.993 z
+														 M 75.331,42.393L 75.331,307.647 l 363.134,0 l 0.001-265.254L 75.331,42.393 zM 236.52,255.050L 282.242,255.050L 282.242,209.319L 236.52,209.319zM 300.972,255.050L 346.727,255.050L 346.727,209.319L 300.972,209.319zM 300.972,132.598L 346.727,132.598L 346.727,86.848L 300.972,86.848zM 300.972,193.823L 346.727,193.823L 346.727,148.066L 300.972,148.066z"  />
+<glyph unicode="&#xe009;" d="M 512,281.475l-176.89,25.704L 256,467.47l-79.108-160.291L0,281.475l 128-124.769L 97.784-19.47L 256,63.709l 158.216-83.179
+	l-30.217,176.176L 512,281.475z M 256,103.251l-111.731-58.74l 21.338,124.415l-90.393,88.111l 124.92,18.152L 256,388.387l 55.868-113.198
+	l 124.918-18.152l-90.394-88.111l 21.339-124.415L 256,103.251z"  />
+<glyph unicode="&#x20;" horiz-adv-x="256" />
+</font></defs></svg>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/icons/icons.ttf b/app/design/frontend/magento_plushe/fonts/icons/icons.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..04a1a990a5d25257d63f15ec14c1ff9dfe6c3f3c
GIT binary patch
literal 4188
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
B^Opbs

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/icons/icons.woff b/app/design/frontend/magento_plushe/fonts/icons/icons.woff
new file mode 100644
index 0000000000000000000000000000000000000000..02d652643c34809751145ece996f0b780809ef9e
GIT binary patch
literal 5220
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

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/marvel/OFL.txt b/app/design/frontend/magento_plushe/fonts/marvel/OFL.txt
new file mode 100644
index 00000000000..077aee25e6b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/marvel/OFL.txt
@@ -0,0 +1,93 @@
+Copyright (c) 2011, Carolina Trebol <ca@fromzero.org>,
+with Reserved Font Name "Marvel".
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.eot b/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.eot
new file mode 100644
index 0000000000000000000000000000000000000000..59d0da2feff215219a5cec8bc37c7b2cb3ab8321
GIT binary patch
literal 19062
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
Wt3sj5!iJbQTFSV0ZaU~PzH|T^@$I|-

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.svg b/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.svg
new file mode 100644
index 00000000000..864d374918c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.svg
@@ -0,0 +1,213 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="marvelregular" horiz-adv-x="856" >
+<font-face units-per-em="2048" ascent="1638" descent="-410" />
+<missing-glyph horiz-adv-x="430" />
+<glyph horiz-adv-x="2048" />
+<glyph horiz-adv-x="2048" />
+<glyph unicode="&#xd;" horiz-adv-x="1024" />
+<glyph unicode=" "  horiz-adv-x="430" />
+<glyph unicode="&#x09;" horiz-adv-x="430" />
+<glyph unicode="&#xa0;" horiz-adv-x="430" />
+<glyph unicode="!" horiz-adv-x="391" d="M141 2v184h109v-184h-109zM143 289v1145h107v-1145h-107z" />
+<glyph unicode="&#x22;" horiz-adv-x="638" d="M76 1163q35 16 61.5 54t26.5 112v105h119v-107q0 -115 -47.5 -184.5t-124.5 -102.5zM344 1163q35 16 61.5 54t26.5 112v105h119v-107q0 -115 -47 -184.5t-125 -102.5z" />
+<glyph unicode="$" horiz-adv-x="964" d="M96 133l41 113q104 -47 167 -73t98.5 -38t54 -15t39.5 -3q57 0 106 21.5t86 58t57.5 88t20.5 112.5q0 63 -24.5 110.5t-63.5 79t-88 47t-98 15.5q-82 0 -154 28t-126 78t-85 118.5t-31 150.5q0 76 24.5 143.5t67.5 120.5t102.5 89t127.5 48v140h112v-142q23 -4 45.5 -11 t38.5 -13l174 -72l-38 -115q-23 10 -58 26.5t-73.5 33t-76.5 28t-69 11.5q-55 0 -102 -22.5t-81 -61.5t-53.5 -90.5t-19.5 -106.5q0 -63 23.5 -111.5t61.5 -80t87 -47t103 -15.5q82 0 153.5 -27.5t124.5 -76.5t84 -119t31 -152q0 -80 -27 -150.5t-75 -123.5t-112.5 -87 t-140.5 -40v-150h-112v156q-49 16 -99.5 34.5t-93.5 36t-76.5 33t-52.5 23.5z" />
+<glyph unicode="&#x26;" horiz-adv-x="1226" d="M63 391q0 111 52.5 188.5t146.5 133.5l115 67l-107 119q-53 59 -76.5 114.5t-23.5 125.5q0 68 25.5 127t70.5 102t108.5 68.5t137.5 25.5q72 0 135.5 -22.5t110.5 -64.5t74.5 -102.5t27.5 -133.5q0 -104 -47 -173t-131 -118l-152 -90l385 -416q45 80 60.5 177t15.5 216 h99q0 -57 -5.5 -120.5t-16.5 -126t-31.5 -121t-51.5 -103.5l225 -264h-131l-149 182q-78 -92 -188.5 -146t-247.5 -54q-90 0 -168 28.5t-136.5 81.5t-92.5 129t-34 170zM176 393q0 -68 25.5 -124t68.5 -95t100.5 -60.5t123.5 -21.5q123 0 209 46t149 126l-408 436l-112 -65 q-72 -43 -114 -101.5t-42 -140.5zM279 1139q0 -27 8 -51.5t28.5 -58.5t57.5 -80t94 -115l162 100q59 37 93 88t34 117q0 104 -70 164.5t-174 60.5q-47 0 -90 -16.5t-75 -45t-50 -70.5t-18 -93zM930 182l149 -182z" />
+<glyph unicode="'" horiz-adv-x="370" d="M76 1163q35 16 61.5 54t26.5 112v105h119v-107q0 -115 -47.5 -184.5t-124.5 -102.5z" />
+<glyph unicode="(" horiz-adv-x="473" d="M125 168v1100q0 72 18.5 123t51 82.5t76.5 47t96 15.5h36v-111h-26q-59 0 -101.5 -31.5t-42.5 -115.5v-1120q0 -84 42 -116t102 -32h26v-110h-36q-51 0 -95.5 15t-77 47t-51 83t-18.5 123z" />
+<glyph unicode=")" horiz-adv-x="473" d="M68 8h26q57 0 100.5 32t43.5 116l2 1122q0 84 -43 115.5t-101 31.5h-26v111h36q51 0 95.5 -15.5t77 -47t51 -83t18.5 -122.5l-2 -1102q0 -72 -18.5 -123t-51 -83t-76.5 -47t-96 -15h-36v110z" />
+<glyph unicode="*" horiz-adv-x="815" d="M104 537l226 122l-226 123l46 76l219 -131l-7 258h91l-9 -258l224 131l43 -76l-226 -123l226 -122l-43 -78l-224 133l9 -258h-91l7 258l-219 -133z" />
+<glyph unicode="+" horiz-adv-x="878" d="M92 481v133h281v281h133v-281h280v-133h-280v-280h-133v280h-281z" />
+<glyph unicode="," horiz-adv-x="350" d="M31 -66q35 16 61.5 54.5t26.5 111.5v105h119v-107q0 -115 -47.5 -184.5t-124.5 -101.5z" />
+<glyph unicode="-" horiz-adv-x="741" d="M125 662v131h491v-131h-491z" />
+<glyph unicode="." horiz-adv-x="370" d="M115 10v180h141v-180h-141z" />
+<glyph unicode="/" horiz-adv-x="528" d="M100 2l207 1430h123l-207 -1430h-123z" />
+<glyph unicode="0" horiz-adv-x="892" d="M141 262v799q0 59 21.5 110.5t58.5 89t86 59t107 21.5h67q55 0 104.5 -21.5t86.5 -59t58.5 -89t21.5 -110.5v-799q0 -59 -21.5 -110.5t-58.5 -89t-86 -59t-107 -21.5h-67q-57 0 -106.5 21.5t-86.5 59t-57.5 89t-20.5 110.5zM246 268q0 -74 48 -126t120 -52h65 q70 0 119 52.5t49 125.5v793q0 82 -57.5 126t-132.5 44q-43 0 -81 -8.5t-66.5 -28.5t-46 -52t-17.5 -81v-793z" />
+<glyph unicode="1" horiz-adv-x="430" d="M160 2v1274l108 55v-1329h-108z" />
+<glyph unicode="2" horiz-adv-x="813" d="M70 1249l155 64q31 12 73 20t73 10q72 0 133 -30.5t105 -82.5t70 -121t26 -148q0 -72 -13.5 -131.5t-62.5 -124.5q-55 -96 -122 -201t-124 -191q-68 -102 -135 -198h452v-115h-569v133l401 617q35 47 47.5 96t14.5 108q-2 55 -19.5 105.5t-46 88.5t-69.5 60.5t-92 22.5 q-10 0 -23.5 -3t-40.5 -12.5t-72 -27t-114 -45.5z" />
+<glyph unicode="3" horiz-adv-x="845" d="M94 1249l146 60q31 14 80 24t77 10q74 -2 133.5 -30.5t101.5 -77.5t64.5 -116.5t22.5 -147.5q0 -84 -28.5 -148.5t-106.5 -134.5q47 -35 73.5 -75t40 -82t16.5 -86t3 -85q0 -80 -25.5 -148.5t-69.5 -119.5t-105.5 -81.5t-133.5 -30.5q-31 2 -72 10t-73 20l-142 56l29 110 l168 -72q20 -8 42.5 -14t43.5 -6q51 0 93 23.5t72.5 63.5t49 91t20.5 107q0 55 -13 104t-39.5 87t-69.5 60.5t-103 22.5h-117v100h119q121 0 171 69t52 177q-2 55 -23.5 100.5t-53 77t-70.5 49t-76 17.5q-20 0 -51 -5t-51 -16l-150 -67z" />
+<glyph unicode="4" horiz-adv-x="804" d="M66 399v121l309 811h112l-303 -821h400v233h108v-743h-108v399h-518z" />
+<glyph unicode="5" horiz-adv-x="872" d="M125 63l37 117q51 -23 102 -39q43 -14 92.5 -25.5t89.5 -11.5q57 0 97.5 24t67 64.5t39 94t12.5 112.5v60q0 59 -12.5 112.5t-39 93.5t-67.5 63.5t-99 23.5h-315v579h533v-106h-412v-363h196q82 0 143.5 -30.5t102.5 -85t62.5 -128t21.5 -159.5v-60q0 -86 -20.5 -160.5 t-61.5 -132t-102.5 -90t-140.5 -32.5q-41 0 -97.5 12t-107.5 26.5t-86 27.5z" />
+<glyph unicode="6" horiz-adv-x="858" d="M141 266v766q0 68 24.5 125t67.5 99t101.5 64.5t124.5 22.5q10 0 40.5 -6t65.5 -14q39 -8 86 -20l-28 -97q-39 10 -74 19q-29 6 -55.5 12t-34.5 6q-88 0 -152.5 -57.5t-64.5 -153.5v-244q25 20 59.5 31.5t69.5 18t63.5 7.5t44.5 1q57 0 106.5 -22.5t86.5 -62.5 t58.5 -92.5t21.5 -111.5v-291q0 -59 -21.5 -110.5t-58.5 -89t-86.5 -59t-106.5 -21.5h-67q-55 0 -104.5 21.5t-86.5 59t-58.5 89t-21.5 110.5zM246 258q0 -88 60.5 -130t142.5 -42q39 0 74.5 9t63 30.5t44 53.5t16.5 79v305q0 74 -49 126t-119 52h-65q-70 0 -119 -52 t-49 -126v-305z" />
+<glyph unicode="7" horiz-adv-x="737" d="M70 1227v104h598v-133l-379 -1198h-117l383 1227h-485z" />
+<glyph unicode="8" horiz-adv-x="886" d="M137 256v174q0 78 38 139.5t99 92.5q-61 35 -99 99t-38 142v176q0 74 26.5 124t71 81t102.5 44t122 13q57 0 110.5 -18t93 -52t63.5 -82t24 -110v-176q0 -80 -39 -144.5t-103 -99.5q63 -33 102.5 -91t39.5 -138v-174q0 -55 -19.5 -105.5t-54.5 -88t-82 -59t-100 -21.5 h-99q-53 0 -100 21.5t-82 59t-55.5 88t-20.5 105.5zM242 262q0 -76 49 -129t121 -53h65q72 0 121 53t49 129v156q0 43 -17.5 75.5t-46 54t-65.5 32t-78 10.5q-80 0 -139 -41t-59 -131v-156zM242 909q0 -76 49 -129t121 -53h65q72 0 121 53.5t49 128.5v160q0 82 -57.5 127 t-134.5 45q-43 0 -81 -9t-68 -28.5t-47 -52.5t-17 -82v-160z" />
+<glyph unicode="9" horiz-adv-x="872" d="M121 797v266q0 59 21.5 110.5t58.5 89t86 59t106 21.5h68q55 0 104 -21.5t86 -59t58.5 -89t21.5 -110.5v-774q0 -68 -25.5 -125.5t-68.5 -99t-100.5 -64.5t-122.5 -23q-10 0 -56.5 10.5t-99.5 22.5q-61 14 -135 33l29 96q68 -18 122 -30q47 -12 89.5 -21.5t50.5 -9.5 q88 0 152.5 57.5t64.5 153.5v276q-20 -18 -53 -29.5t-68 -17.5t-66.5 -8t-50.5 -2q-57 0 -106 22.5t-86 62.5t-58.5 92t-21.5 112zM225 791q0 -74 48 -126.5t120 -52.5h66q70 0 119 52.5t49 126.5v280q0 82 -57.5 126t-133.5 44q-43 0 -81 -8t-66.5 -28.5t-46 -52.5 t-17.5 -81v-280z" />
+<glyph unicode=":" horiz-adv-x="393" d="M125 2v180h141v-180h-141zM127 657v185h141v-185h-141z" />
+<glyph unicode=";" horiz-adv-x="442" d="M63 -74q35 16 66 56.5t31 113.5v105h141v-107q0 -115 -47 -184.5t-125 -102.5zM160 657v185h141v-185h-141z" />
+<glyph unicode="&#x3c;" horiz-adv-x="1005" d="M109 532v175l749 174v-113l-340 -74q-31 -8 -77 -17t-89 -20q-51 -10 -104 -22v-41l32 -7q31 -7 74 -15.5t89 -18.5t77 -16l338 -76v-111z" />
+<glyph unicode="=" horiz-adv-x="985" d="M141 358v131h703v-131h-703zM141 758v131h703v-131h-703z" />
+<glyph unicode="&#x3e;" horiz-adv-x="1003" d="M147 360v111l338 76q31 6 77 16t89 18.5t75 15.5l32 7v41q-53 12 -105 23q-43 10 -89 19t-77 18l-340 73v113l750 -174v-174z" />
+<glyph unicode="?" horiz-adv-x="870" d="M72 1346l172 71q35 14 84 25.5t82 11.5q74 0 143.5 -25.5t121.5 -71.5t84 -110.5t32 -142.5q0 -66 -19.5 -113t-42.5 -82l-293 -440q-20 -29 -34.5 -60.5t-14.5 -78.5v-43h-119v41q0 72 17.5 119t42.5 81l278 418q23 35 45.5 76t22.5 80q0 53 -26.5 96t-66.5 72.5t-86 46 t-83 16.5q-25 0 -50.5 -6t-50.5 -16l-200 -76zM260 0h141v184h-141v-184z" />
+<glyph unicode="@" horiz-adv-x="1767" d="M92 668q0 188 59.5 344.5t169 269.5t264 175.5t345.5 62.5q158 0 295 -47.5t239.5 -137.5t162 -220t59.5 -294q0 -96 -24 -194.5t-71 -178t-121.5 -131t-175.5 -51.5q-70 0 -121 45t-63 117q-18 -35 -48 -64.5t-64.5 -50t-74.5 -32t-79 -11.5q-78 0 -138.5 30t-100.5 79 t-60.5 114.5t-20.5 137.5q0 84 25.5 163.5t74 143t119 101.5t162.5 38q72 0 134.5 -33.5t90.5 -101.5l27 117h76l-41 -541v-18q0 -66 28.5 -106t84.5 -40q70 0 124 40t88.5 106.5t53 150.5t18.5 170q0 143 -51 256t-140 191t-210 117.5t-258 39.5q-170 0 -306.5 -56 t-231.5 -156.5t-147 -239.5t-52 -305q0 -147 49 -278.5t139 -227.5t216 -152.5t277 -56.5q135 0 264.5 23.5t254.5 76.5v-96q-133 -57 -257 -77.5t-268 -20.5q-174 0 -317 62.5t-244.5 172t-158 257t-56.5 317.5zM623 631q0 -57 14 -107.5t42 -87.5t70 -58.5t99 -21.5 q72 0 122 35t81.5 87t46 116t14.5 123q0 53 -11 102t-38 87t-69 60.5t-103 22.5q-66 0 -116 -32.5t-84 -84t-51 -115t-17 -126.5z" />
+<glyph unicode="A" horiz-adv-x="940" d="M55 2l328 1434h174l328 -1434h-109l-92 399h-428l-90 -399h-111zM289 522h364l-168 778h-26z" />
+<glyph unicode="B" horiz-adv-x="968" d="M160 0v1374q78 31 136 47.5t83 20.5q60 12 113 12q74 0 108.5 -18.5t44.5 -24.5q47 -29 88 -79t65.5 -119.5t24.5 -145.5q0 -92 -22.5 -180t-108.5 -160q55 -37 89 -77t52.5 -81t25.5 -86t7 -94q0 -80 -20.5 -150.5t-46 -103.5t-35.5 -45q-37 -37 -91.5 -63.5 t-140.5 -26.5h-372zM274 119h258q61 0 102.5 21.5t66 58.5t34.5 86t10 104q0 57 -10 108.5t-34.5 89.5t-65.5 60.5t-103 22.5h-258v-551zM274 788h211q61 0 102.5 21.5t66 58.5t34.5 86.5t10 104.5q-2 55 -18 105t-39 81t-45 49q-4 4 -10 6q-2 0 -2 3q-2 0 -4 2 q-10 6 -32 18t-73 12q-20 0 -67.5 -8t-133.5 -45v-494z" />
+<glyph unicode="C" horiz-adv-x="894" d="M137 375v20v641q0 86 30 161t66 114q37 41 59.5 60.5t47.5 33.5q20 10 61 29.5t121 19.5q29 0 70 -10t74 -21l159 -63l-37 -107l-178 70q-20 8 -42.5 14t-43.5 6q-55 0 -104 -25.5t-87 -68.5t-59.5 -98t-21.5 -115l-4 -651q0 -66 22.5 -119t59.5 -90t86 -58.5t102 -23.5 q16 0 33.5 3t45.5 13.5t72 28t115 45.5l45 -116l-165 -60q-35 -12 -76 -20t-70 -8q-78 0 -146.5 27.5t-120.5 78.5t-83 124t-31 165z" />
+<glyph unicode="D" horiz-adv-x="976" d="M150 55v1319q123 51 205.5 65.5t111.5 14.5q80 0 148.5 -34t117.5 -90t78 -132t29 -160v-659q0 -86 -33 -159t-87 -127t-126 -83.5t-150 -29.5q-16 0 -37.5 2t-56.5 9t-84 22.5t-116 41.5zM264 150q45 -20 78 -30.5t55.5 -15t38 -4.5h25.5q51 0 98 25t83 65.5t57.5 94 t21.5 112.5l-4 641q0 92 -42 161t-93 101q-63 35 -115 35q-47 0 -102.5 -20.5t-100.5 -38.5v-1126z" />
+<glyph unicode="E" horiz-adv-x="831" d="M162 2v1432h577v-117h-460v-537h360v-118h-360v-541h464v-119h-581z" />
+<glyph unicode="F" horiz-adv-x="790" d="M160 0v1434h577v-117h-461v-539h361v-116h-361v-662h-116z" />
+<glyph unicode="G" horiz-adv-x="915" d="M137 391v651q8 193 110.5 302.5t268.5 109.5q29 -2 70 -10t73 -21l129 -49l-40 -117l-144 56q-51 20 -88 20q-53 0 -101 -23.5t-84 -63.5t-56.5 -93.5t-20.5 -110.5v-680q0 -57 21.5 -106t58.5 -86t85 -58.5t99 -21.5q20 0 58 8t116 49v388h115v-461 q-117 -61 -191.5 -77.5t-103.5 -16.5q-82 0 -150.5 32.5t-118.5 89t-78 131t-28 158.5z" />
+<glyph unicode="H" horiz-adv-x="1054" d="M162 2v1432h114v-650h500v650h117v-1432h-117v662h-500v-662h-114z" />
+<glyph unicode="I" horiz-adv-x="425" d="M160 0v1434h106v-1434h-106z" />
+<glyph unicode="J" horiz-adv-x="626" d="M31 -2l22 121q8 -2 34 -5t52.5 -5.5t49 -4.5t26.5 -2q27 0 51.5 5.5t43 22.5t29.5 49t11 85v1170h115v-1155q0 -86 -9.5 -143.5t-36 -92.5t-74.5 -49t-124 -14q-8 0 -33.5 1t-56.5 4t-58.5 6t-41.5 7z" />
+<glyph unicode="K" horiz-adv-x="798" d="M160 0v1434h114v-658h56l295 654h127l-314 -717l310 -713h-127l-289 653h-58v-653h-114z" />
+<glyph unicode="L" horiz-adv-x="770" d="M160 0v1434h116v-1319h455v-115h-571z" />
+<glyph unicode="M" horiz-adv-x="1245" d="M160 0v1434h178l266 -891h33l270 891h178v-1434h-110v1192h-27l-239 -770h-179l-237 770h-25v-1192h-108z" />
+<glyph unicode="N" horiz-adv-x="1134" d="M160 0v1434h147l535 -1293h26v1293h107v-1434h-199l-487 1192h-25v-1192h-104z" />
+<glyph unicode="O" horiz-adv-x="1064" d="M139 352v717q0 45 17.5 110.5t62.5 126t121 103.5t192 43q115 0 191 -43t121 -102.5t63.5 -125t18.5 -110.5v-719q0 -45 -17.5 -108.5t-62.5 -122t-122 -99t-194 -40.5q-115 0 -190.5 40.5t-119.5 99t-62.5 122t-18.5 108.5zM250 350q0 -82 31.5 -130t76.5 -73.5 t93.5 -33t80.5 -7.5q33 0 81.5 8.5t92.5 34t75.5 73.5t31.5 130v719q0 82 -31.5 132t-75.5 78t-92.5 37t-81.5 9t-81 -10t-93 -38t-76.5 -78t-31.5 -132v-719z" />
+<glyph unicode="P" horiz-adv-x="1009" d="M160 0v1374q53 20 112 39q51 16 113.5 28.5t128.5 12.5q84 0 162 -29.5t137 -85t94 -134.5t35 -175q0 -98 -32.5 -180t-90 -140.5t-136.5 -91t-171 -32.5h-244v-586h-108zM270 705h228q147 0 237 81.5t90 243.5q0 160 -91 232.5t-236 72.5q-37 0 -76 -9t-74 -19 q-39 -12 -78 -27v-575z" />
+<glyph unicode="Q" horiz-adv-x="1064" d="M139 352v715q0 45 17.5 110.5t62.5 127t121 104.5t192 43q115 0 191 -43t121 -104.5t63.5 -127t18.5 -110.5v-717q0 -41 -14.5 -96t-48.5 -108.5t-91 -96.5t-145 -59q20 -49 69 -72l-34 -125q-59 25 -102.5 71t-61.5 118q-104 6 -173 48t-111 99t-58.5 118.5t-16.5 104.5 zM254 350q0 -82 31.5 -130t76 -73.5t91.5 -33t79 -7.5q33 0 80 7.5t91.5 33t75 73.5t30.5 130v717q0 82 -30.5 133t-75 81t-91.5 41t-80 11t-79.5 -11t-91 -40t-76 -80t-31.5 -133v-719z" />
+<glyph unicode="R" horiz-adv-x="1030" d="M160 0v1374q55 20 114 39q51 16 114 28.5t126 12.5q84 0 162 -27.5t137 -80t94 -128t35 -174.5q0 -70 -16.5 -136t-47 -121.5t-74.5 -97t-97 -64.5l254 -625h-115l-254 594q-37 -6 -80 -6h-244v-588h-108zM270 707h228q147 0 237 88t90 249q0 80 -24.5 135.5t-67.5 90.5 t-103 50t-132 15q-37 0 -76 -8t-74 -18q-39 -12 -78 -27v-575z" />
+<glyph unicode="S" horiz-adv-x="956" d="M88 135l41 113q70 -37 137 -64q59 -23 125 -42t119 -19q57 0 107.5 22.5t87 62.5t57 93t20.5 115q0 63 -28.5 105t-72.5 69.5t-97.5 43t-104.5 23.5q-76 12 -142.5 43t-116.5 80t-78.5 115t-28.5 147q0 84 29.5 159t81.5 131.5t122 89t148 32.5q49 0 101 -11t97 -24 q51 -16 101 -35l-39 -114q-45 18 -92 33q-41 12 -86.5 22t-86.5 10q-55 0 -103 -23.5t-83 -63.5t-55.5 -92t-20.5 -107q0 -63 26 -111.5t65.5 -81.5t89 -52.5t94.5 -27.5q84 -14 156.5 -40.5t127 -68.5t85 -103.5t30.5 -143.5q0 -86 -29.5 -162t-82 -132t-124 -90 t-153.5 -34q-80 0 -155.5 20.5t-135.5 45.5q-70 29 -133 67z" />
+<glyph unicode="T" d="M39 1323v111h778v-111h-328v-1323h-110v1323h-340z" />
+<glyph unicode="U" horiz-adv-x="1093" d="M158 354v1082h106v-1082q0 -82 29 -133t71 -80.5t91 -41t92 -11.5q37 0 86 11.5t93 41t73.5 80.5t29.5 133v1082h107v-1082q0 -59 -18.5 -123.5t-62.5 -119t-120 -90t-188 -35.5q-113 0 -187.5 35.5t-119.5 90t-63.5 119t-18.5 123.5z" />
+<glyph unicode="V" horiz-adv-x="933" d="M55 1434h113l285 -1299h26q23 94 45 203q20 92 46 208t55 238q63 285 143 650h115l-332 -1434h-174z" />
+<glyph unicode="W" horiz-adv-x="1247" d="M70 1434h106l189 -1301h16l166 741h155l164 -741h17l188 1301h107l-209 -1432h-176l-160 741h-17l-161 -741h-176z" />
+<glyph unicode="X" horiz-adv-x="925" d="M51 0l299 711l-299 723h115l280 -660h35l281 660h115l-299 -723l296 -711h-116l-271 651h-49l-272 -651h-115z" />
+<glyph unicode="Y" horiz-adv-x="886" d="M31 1434h114l281 -660h35l280 660h115l-324 -783h-28v-651h-123v651h-25z" />
+<glyph unicode="Z" horiz-adv-x="927" d="M68 0v135l612 1149v29h-565v121h716v-119l-612 -1161v-33h645v-121h-796z" />
+<glyph unicode="[" horiz-adv-x="485" d="M137 -172v1763h285v-100h-182v-1563h182v-100h-285z" />
+<glyph unicode="\" horiz-adv-x="784" d="M61 1573h111l551 -1690h-109z" />
+<glyph unicode="]" horiz-adv-x="485" d="M63 -74h183v1563h-183v100h285v-1763h-285v100z" />
+<glyph unicode="_" horiz-adv-x="430" />
+<glyph unicode="`" horiz-adv-x="745" d="M205 1507h125l198 -301h-106z" />
+<glyph unicode="a" horiz-adv-x="825" d="M96 272v115q0 59 20.5 111.5t57.5 91.5t87 61.5t108 22.5q14 0 43.5 -2t63.5 -8.5t69 -17.5t59 -30v70q0 47 -17.5 93t-46 83t-67.5 59.5t-84 22.5q-16 0 -58 -10t-87 -21q-53 -12 -115 -28l-29 96q68 16 125 31q49 12 96.5 22t67.5 10q66 0 123 -30.5t100 -80.5 t68 -114.5t25 -132.5l2 -586l38 -37l-73 -73l-56 55q-66 -37 -136 -51t-111 -14q-57 0 -107.5 23.5t-87.5 63t-57.5 93t-20.5 112.5zM199 264q0 -37 13 -68.5t35.5 -55t53.5 -38t66 -14.5q31 0 70.5 11.5t76.5 25.5q43 16 88 37v336q0 2 -18.5 13t-50 24.5t-74.5 24.5 t-90 11q-35 0 -67 -14t-54.5 -38.5t-35.5 -56.5t-13 -69v-129z" />
+<glyph unicode="b" d="M92 66l39 40v1328h102v-447q82 43 141.5 50t94.5 7q57 0 106.5 -22.5t86 -62t58 -92t21.5 -111.5v-484q0 -59 -21.5 -112.5t-58 -92t-86 -61t-106.5 -22.5q-45 0 -113.5 13t-136.5 50l-55 -53zM236 162q6 -18 36.5 -31.5t68.5 -23t75 -14.5t55 -5q35 0 65.5 14.5t53 38 t36 55t13.5 68.5v498q0 74 -49 126t-121 52q-18 0 -48 -4t-62.5 -13.5t-65.5 -22.5t-57 -32v-706z" />
+<glyph unicode="c" horiz-adv-x="706" d="M113 303v428q0 70 25.5 128.5t68.5 99t101.5 64.5t125.5 24q33 0 69 -8.5t66 -18.5q37 -10 72 -25l-25 -88q-31 10 -63 19q-29 8 -59.5 14t-59.5 6q-90 0 -154.5 -58.5t-64.5 -156.5v-428q0 -49 17.5 -89t48 -68.5t70.5 -44t85 -15.5q20 0 51 5t60 11q35 8 71 19l33 -94 q-41 -14 -78 -23q-33 -8 -70.5 -14t-66.5 -6q-68 0 -126 23.5t-102 66.5t-69.5 101t-25.5 128z" />
+<glyph unicode="d" horiz-adv-x="858" d="M115 270v484q0 59 21.5 111.5t58 92t86 62t106.5 22.5q35 0 94.5 -7t141.5 -50v447h102v-1334l45 -45l-74 -71l-61 61q-66 -37 -135.5 -49t-112.5 -12q-57 0 -106.5 22.5t-86 61t-58 92t-21.5 112.5zM217 262q0 -37 13.5 -68.5t36 -55t53 -38t65.5 -14.5q18 0 55 5 t75 14.5t69 23t37 31.5v706q-72 47 -135.5 59.5t-98.5 12.5q-72 0 -121 -52t-49 -126v-498z" />
+<glyph unicode="e" horiz-adv-x="833" d="M113 301v453q0 61 21.5 114.5t59 92t88 61t109.5 22.5h70q57 0 108.5 -22.5t90 -61t60 -92t21.5 -114.5v-68q0 -86 -30.5 -144.5t-84 -95t-124 -52t-150.5 -15.5q-33 0 -65.5 2t-67.5 6v-123q14 -82 76.5 -130t142.5 -48q8 0 52.5 9t93.5 20q57 12 127 28l24 -108 q-76 -16 -137 -27q-53 -10 -101 -18t-59 -8q-66 0 -125 23.5t-104 66.5t-70.5 101t-25.5 128zM219 496l242 -2h4q37 0 67.5 15t53 40.5t36 58.5t13.5 70v86q0 49 -18.5 83t-48 54.5t-69.5 29.5t-83 9q-39 0 -75 -12.5t-62.5 -35t-43 -55t-16.5 -73.5v-268z" />
+<glyph unicode="f" horiz-adv-x="583" d="M51 924v100h182v160q0 72 18.5 123t50.5 82.5t76 47t95 15.5h37v-111h-27q-57 0 -101 -30.5t-44 -112.5v-174h197v-100h-195v-924h-109v924h-180z" />
+<glyph unicode="g" horiz-adv-x="858" d="M115 270v486q0 59 21.5 112.5t58 92t86 61t106.5 22.5q47 0 109.5 -13t138.5 -48l61 61l74 -73l-45 -43v-1168q0 -76 -25.5 -131t-68.5 -90t-101.5 -52t-123.5 -17q-31 0 -80.5 10t-96.5 22q-55 14 -114 33l28 96q55 -18 109 -32q43 -12 87 -21.5t67 -9.5q88 0 152.5 47 t64.5 143v275q-72 -37 -125.5 -44t-87.5 -7h-23q-57 0 -106.5 22.5t-86 62t-58 92t-21.5 111.5zM217 264q0 -74 49 -126t121 -52q18 0 50 5t68 14.5t67.5 22.5t48.5 30v708q-6 18 -37 31.5t-69 23t-75 14.5t-55 5q-35 0 -65.5 -14.5t-53 -38t-36 -55t-13.5 -68.5v-500z" />
+<glyph unicode="h" horiz-adv-x="868" d="M131 0v1434h102v-447q82 43 141.5 50t94.5 7q57 0 106.5 -22.5t86 -62t58 -92t21.5 -111.5v-756h-102v762q0 74 -49 126t-121 52q-18 0 -45 -3t-59.5 -11t-65.5 -22.5t-63 -35.5v-868h-105z" />
+<glyph unicode="i" horiz-adv-x="370" d="M131 0v1024h109v-1024h-109zM131 1274v160h109v-160h-109z" />
+<glyph unicode="j" horiz-adv-x="372" d="M-37 -389h27q29 0 55.5 7t46 24.5t31.5 45t12 70.5l-6 1268h113v-1257q0 -72 -18.5 -123.5t-51.5 -83t-77 -47t-95 -15.5h-37v111zM129 1280v152h113v-152h-113z" />
+<glyph unicode="k" horiz-adv-x="684" d="M131 0v1434h105v-820h65l219 408h117l-252 -473l254 -549h-117l-219 489h-67v-489h-105z" />
+<glyph unicode="l" horiz-adv-x="434" d="M143 270v1164h107v-1174q0 -84 42 -115.5t101 -31.5h27v-111h-37q-51 0 -95 15.5t-76 47t-50.5 83t-18.5 122.5z" />
+<glyph unicode="m" horiz-adv-x="1411" d="M88 971l74 71l61 -63q53 29 107.5 47t105.5 18q92 0 170 -38.5t109 -120.5q29 49 65.5 79.5t76.5 48t80 24.5t77 7q74 0 126 -26.5t84.5 -68.5t47 -92t14.5 -99v-758h-106v743q0 39 -9.5 74t-29 61.5t-53 43t-82.5 16.5q-129 0 -186.5 -72.5t-57.5 -203.5v-662h-107v770 q0 37 -17 67.5t-47 53t-67 36t-73 13.5q-18 0 -48 -6t-61 -16.5t-58.5 -22.5t-45.5 -27v-868h-105v926z" />
+<glyph unicode="n" horiz-adv-x="884" d="M88 967l74 73l61 -61q113 63 213 63q92 0 172 -38t121 -130q25 -51 29 -103t4 -107v-664h-109v727q0 104 -55 159.5t-125 55.5q-39 0 -99.5 -12t-135.5 -62v-868h-105v924z" />
+<glyph unicode="o" d="M115 281v473q0 94 34.5 151.5t84 88t102.5 40.5t92 10t92 -10t102.5 -40.5t84 -88t34.5 -151.5v-473q0 -94 -34.5 -151.5t-84 -89.5t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 152zM207 295q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5t64.5 -7t64.5 7t71.5 29.5 t58.5 62.5t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444z" />
+<glyph unicode="p" horiz-adv-x="858" d="M88 971l72 73l63 -61q70 35 135.5 48t112.5 13q57 0 106.5 -22.5t86 -61t58 -92t21.5 -112.5v-488q0 -59 -21.5 -111.5t-58 -92t-86 -62t-106.5 -22.5q-35 0 -94 7t-141 50v-549h-103v1440zM238 156q25 -16 57.5 -28.5t65 -23t62.5 -15.5t48 -5q72 0 121 52t49 126v502 q0 37 -13.5 68.5t-36 55t-53 38t-65.5 14.5q-18 0 -47 -3t-60.5 -12.5t-64.5 -23.5t-63 -35v-710z" />
+<glyph unicode="q" horiz-adv-x="858" d="M115 268v486q0 59 21.5 112.5t58 92t86 61t106.5 22.5q45 0 111.5 -13t136.5 -48l63 61l72 -73l-45 -43v-1438h-102v545l-39 -19q-59 -29 -107.5 -30.5t-83.5 -3.5q-57 0 -107 22.5t-88 62t-60.5 92t-22.5 111.5zM217 262q0 -74 49 -125t121 -51q18 0 47 4t61.5 12.5 t66.5 21.5t59 34v706q-78 51 -137.5 62.5t-98.5 11.5q-35 0 -65.5 -14.5t-53 -38t-36 -55t-13.5 -68.5v-500z" />
+<glyph unicode="r" horiz-adv-x="675" d="M84 961l72 73l71 -69q59 53 113.5 66t93.5 13q41 0 90.5 -16t137.5 -65l-58 -86q-35 20 -57.5 31.5t-42 17.5t-36.5 7t-38 1q-31 0 -84 -17.5t-106 -66.5v-848h-103v905z" />
+<glyph unicode="s" horiz-adv-x="739" d="M92 741q0 150 81 226.5t200 76.5q35 0 72.5 -9t78.5 -23l68 -25l-39 -88q-49 18 -79 27.5t-47 13.5t-26.5 5t-19.5 1h-10q-72 0 -126.5 -56t-54.5 -159q0 -43 18.5 -75.5t47.5 -56.5t60.5 -35t60.5 -11q63 0 120.5 -11.5t99.5 -41t66.5 -82.5t24.5 -135 q0 -152 -75.5 -227.5t-194.5 -75.5q-37 0 -76 6t-78 22l-170 68l41 90l168 -68q31 -12 60.5 -17t56.5 -5q72 0 121 55t49 160q0 43 -17.5 73.5t-43 50t-57.5 29t-58 9.5q-74 0 -133.5 13t-101.5 47t-64.5 89t-22.5 139z" />
+<glyph unicode="t" horiz-adv-x="546" d="M39 924v102h174v408h109v-408h188v-102h-188v-668q0 -84 42 -115.5t101 -31.5h45v-111h-55q-51 0 -95.5 15.5t-77 47t-51 82.5t-18.5 123v658h-174z" />
+<glyph unicode="u" horiz-adv-x="884" d="M125 362v662h106v-725q0 -53 15.5 -93t41 -66.5t58.5 -41t68 -14.5q66 0 132 23.5t103 50.5v866h105v-922l45 -43l-74 -73l-61 61q-59 -33 -127 -48t-121 -15q-74 0 -145.5 38t-112.5 130q-25 51 -29 103t-4 107z" />
+<glyph unicode="v" horiz-adv-x="743" d="M47 1024h103l153 -614q8 -31 17.5 -77t17.5 -89t14 -74l6 -31h41q12 55 23 107q10 43 18.5 89t16.5 77l135 612h104l-231 -1024h-174z" />
+<glyph unicode="w" horiz-adv-x="1089" d="M59 1024h103l123 -889h18l152 887h178l149 -889h17l129 891h102l-164 -1024h-151l-160 893h-23l-159 -893h-150z" />
+<glyph unicode="x" horiz-adv-x="745" d="M51 0l217 510l-217 514h105l200 -451h33l191 451h108l-209 -514l215 -508h-108l-195 449h-43l-192 -451h-105z" />
+<glyph unicode="y" horiz-adv-x="768" d="M45 1024h105q53 -225 95 -382t70 -257q33 -117 56 -192h24q18 76 49 192q27 100 69 257t105 382h105l-274 -1024h-13l-84 -512h-104l84 512h-15z" />
+<glyph unicode="z" horiz-adv-x="831" d="M72 0v106l518 771v38h-500v105h645v-107l-518 -772v-37h553v-104h-698z" />
+<glyph unicode="{" horiz-adv-x="477" d="M133 80v1274q0 72 12.5 110.5t40.5 67.5q27 27 69 40t112 13h47v-100h-37q-47 0 -71.5 -3t-41.5 -20q-18 -18 -23 -51t-5 -82v-1233q0 -49 5 -78.5t23 -46.5q16 -16 41 -19t72 -3h37v-101h-47q-70 0 -112 13.5t-69 40.5q-29 29 -41 67.5t-12 110.5z" />
+<glyph unicode="|" horiz-adv-x="380" d="M139 -20v1454h103v-1454h-103z" />
+<glyph unicode="}" horiz-adv-x="487" d="M66 -47h43h26q35 0 54.5 3t33.5 17q16 16 22.5 46t6.5 79v1243q0 49 -6 79t-23 46q-16 16 -41.5 19.5t-72.5 3.5h-43v100h53q70 0 111.5 -13t70.5 -40q29 -29 41 -67.5t12 -110.5v-1274q0 -72 -12 -111t-41 -67q-29 -27 -71 -40t-111 -13h-53v100z" />
+<glyph unicode="~" horiz-adv-x="942" d="M94 539q37 37 64.5 59.5t53.5 34.5t50.5 17t52.5 5q43 0 82 -15t78 -33.5t77 -34t81 -15.5q37 0 66.5 13.5t80.5 64.5l70 -55q-37 -37 -65.5 -59.5t-53 -35t-49.5 -17.5t-53 -5q-39 0 -79 15.5t-80 33.5t-80 33.5t-81 15.5q-37 0 -66.5 -13t-80.5 -65z" />
+<glyph unicode="&#xa1;" horiz-adv-x="389" d="M139 1249v185h109v-185h-109zM141 2v1145h107v-1145h-107z" />
+<glyph unicode="&#xa2;" horiz-adv-x="727" d="M106 305v428q0 121 70 202.5t176 104.5v265h103v-258q31 -4 62.5 -12.5t57.5 -16.5q31 -10 60 -21l-25 -88q-31 10 -63 19q-29 8 -59.5 14t-59.5 6q-90 0 -154.5 -58.5t-64.5 -156.5v-428q0 -49 17.5 -89t48 -68.5t70.5 -44t85 -15.5q20 0 51 5t60 11q35 8 71 19l33 -94 q-33 -10 -65 -19q-29 -8 -63 -14t-62 -8v-256h-103v262q-106 25 -176 108.5t-70 202.5z" />
+<glyph unicode="&#xa3;" horiz-adv-x="1032" d="M98 662v120h80v295q0 82 25.5 150.5t75 119t118 78t154.5 27.5q84 0 154.5 -27.5t121 -78t79 -119t28.5 -150.5h-113q0 84 -28.5 136.5t-69.5 81t-89 37.5t-85 9q-41 0 -86 -10t-84 -39.5t-63.5 -80t-24.5 -130.5v-299h452v-120h-452v-551h641v-111h-754v662h-80z" />
+<glyph unicode="&#xa5;" horiz-adv-x="985" d="M80 1436h115l280 -660h35l281 660h114l-225 -545h164v-131h-219l-43 -107h-29v-161h291v-132h-291v-358h-123v358h-289v132h289v161h-24l-46 107h-219v131h166z" />
+<glyph unicode="&#xa6;" horiz-adv-x="389" d="M141 0v639h107v-639h-107zM141 795v639h107v-639h-107z" />
+<glyph unicode="&#xa8;" horiz-adv-x="923" d="M213 1229v157h119v-157h-119zM618 1229v157h119v-157h-119z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1636" d="M84 715q0 152 57.5 286t157.5 233t234.5 157.5t285.5 58.5q152 0 286 -58.5t233.5 -157.5t156.5 -233t57 -286t-57 -286t-156.5 -234.5t-233.5 -157.5t-286 -57t-286 57t-234 157.5t-157.5 234.5t-57.5 286zM186 715q0 -133 50.5 -248t136.5 -201t200.5 -135t245.5 -49 t246 49t201 135t135 201t49 248q0 131 -49 246.5t-135 201.5t-201 135.5t-246 49.5t-245.5 -49.5t-200.5 -135.5t-136.5 -201.5t-50.5 -246.5zM586 555v346q0 55 19.5 100.5t54 78t80.5 51t100 18.5q25 0 53.5 -6t52.5 -15q29 -8 55 -20l-18 -70q-25 6 -49 15 q-23 6 -47.5 11t-46.5 5q-72 0 -123 -46t-51 -122v-346q0 -78 52 -125t124 -47q16 0 39.5 4t46.5 10q27 6 57 15l25 -74q-31 -10 -62 -19q-27 -6 -55.5 -11t-50.5 -5q-53 0 -99.5 18.5t-81 52.5t-55 80t-20.5 101z" />
+<glyph unicode="&#xad;" horiz-adv-x="741" d="M125 662v131h491v-131h-491z" />
+<glyph unicode="&#xae;" horiz-adv-x="1636" d="M84 723q0 152 57.5 286t157.5 233t234.5 157.5t285.5 58.5q152 0 286 -58.5t233.5 -157.5t156.5 -233t57 -286t-57 -286t-156.5 -234.5t-233.5 -157.5t-286 -57t-286 57t-234 157.5t-157.5 234.5t-57.5 286zM186 723q0 -133 50.5 -248t136.5 -201t200.5 -135t245.5 -49 t246 49t201 135t135 201t49 248q0 131 -49 246.5t-135 201.5t-201 135.5t-246 49.5t-245.5 -49.5t-200.5 -135.5t-136.5 -201.5t-50.5 -246.5zM606 301v815q31 12 68 23q31 10 67.5 17t75.5 7q49 0 95 -16.5t82 -47t56.5 -76.5t20.5 -103q0 -82 -39 -152.5t-100 -95.5 l149 -371h-69l-150 352q-10 -4 -22.5 -4h-24.5h-145v-348h-64zM670 721h137q86 0 139 51t53 148q0 96 -53 134t-139 38q-23 0 -46.5 -5.5t-43.5 -11.5q-23 -8 -47 -14v-340z" />
+<glyph unicode="&#xb0;" horiz-adv-x="675" d="M82 1200q0 53 20.5 99.5t54 81t80 55t99.5 20.5t100 -19.5t82 -54t55.5 -82t20.5 -100.5t-20.5 -99t-55.5 -81t-82 -55.5t-100 -20.5t-99.5 20.5t-80 55.5t-54 81t-20.5 99zM174 1200q0 -66 48 -113t114 -47q68 0 116 47t48 113q0 68 -48.5 115t-115.5 47q-66 0 -114 -47 t-48 -115z" />
+<glyph unicode="&#xb4;" horiz-adv-x="948" d="M420 1208l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xb8;" horiz-adv-x="806" d="M305 -381q35 16 55.5 62.5t20.5 119.5v105h98v-107q0 -115 -30.5 -172t-83.5 -82z" />
+<glyph unicode="&#xbf;" d="M74 -156q0 66 19.5 113t41.5 82l293 440q20 29 34.5 60.5t14.5 78.5v44h119v-41q0 -72 -17.5 -119t-41.5 -82l-279 -418q-23 -35 -45.5 -76t-22.5 -80q0 -53 27 -96t67 -72.5t86 -46t83 -16.5q25 0 50 6t50 17l201 75l39 -110l-172 -72q-35 -14 -84.5 -25.5t-81.5 -11.5 q-74 0 -143.5 25.5t-122 72t-84 110.5t-31.5 142zM463 764v184h141v-184h-141z" />
+<glyph unicode="&#xc0;" horiz-adv-x="940" d="M55 2l328 1434h174l328 -1434h-109l-92 399h-428l-90 -399h-111zM182 1917h125l198 -301h-106zM289 522h364l-168 778h-26z" />
+<glyph unicode="&#xc1;" horiz-adv-x="940" d="M55 2l328 1434h174l328 -1434h-109l-92 399h-428l-90 -399h-111zM289 522h364l-168 778h-26zM420 1618l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xc2;" horiz-adv-x="940" d="M55 2l328 1434h174l328 -1434h-109l-92 399h-428l-90 -399h-111zM209 1692l205 256h113l205 -256h-101l-159 166l-160 -166h-103zM289 522h364l-168 778h-26z" />
+<glyph unicode="&#xc3;" horiz-adv-x="940" d="M55 2l328 1434h174l328 -1434h-109l-92 399h-428l-90 -399h-111zM168 1751h561l47 -102h-557zM289 522h364l-168 778h-26z" />
+<glyph unicode="&#xc4;" horiz-adv-x="940" d="M55 2l328 1434h174l328 -1434h-109l-92 399h-428l-90 -399h-111zM213 1639v157h119v-157h-119zM289 522h364l-168 778h-26zM618 1639v157h119v-157h-119z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1501" d="M29 2l655 1432h725v-117h-465v-537h365v-118h-365v-541h469v-119h-579v399h-512l-183 -399h-110zM381 522l453 -2l2 778l-107 2z" />
+<glyph unicode="&#xc7;" horiz-adv-x="894" d="M137 375v20v641q0 86 30 161t66 114q37 41 59.5 60.5t47.5 33.5q20 10 61 29.5t121 19.5q29 0 70 -10t74 -21l159 -63l-37 -107l-178 70q-20 8 -42.5 14t-43.5 6q-55 0 -104 -25.5t-87 -68.5t-59.5 -98t-21.5 -115l-4 -651q0 -66 22.5 -119t59.5 -90t86 -58.5t102 -23.5 q16 0 33.5 3t45.5 13.5t72 28t115 45.5l45 -116l-165 -60q-35 -12 -76 -20t-70 -8q-78 0 -146.5 27.5t-120.5 78.5t-83 124t-31 165zM387 -381q35 16 55.5 62.5t20.5 119.5v105h98v-107q0 -115 -30.5 -172t-83.5 -82z" />
+<glyph unicode="&#xc8;" horiz-adv-x="831" d="M162 2v1432h577v-117h-460v-537h360v-118h-360v-541h464v-119h-581zM170 1917h125l198 -301h-106z" />
+<glyph unicode="&#xc9;" horiz-adv-x="831" d="M162 2v1432h577v-117h-460v-537h360v-118h-360v-541h464v-119h-581zM367 1605l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xca;" horiz-adv-x="831" d="M141 1692l205 256h113l205 -256h-101l-159 166l-160 -166h-103zM162 2v1432h577v-117h-460v-537h360v-118h-360v-541h464v-119h-581z" />
+<glyph unicode="&#xcb;" horiz-adv-x="831" d="M162 2v1432h577v-117h-460v-537h360v-118h-360v-541h464v-119h-581zM182 1639v157h119v-157h-119zM587 1639v157h119v-157h-119z" />
+<glyph unicode="&#xcc;" horiz-adv-x="425" d="M-57 1917h125l198 -301h-106zM160 0v1434h106v-1434h-106z" />
+<glyph unicode="&#xcd;" horiz-adv-x="425" d="M160 0v1434h106v-1434h-106zM180 1618l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xce;" horiz-adv-x="425" d="M-45 1692l205 256h113l205 -256h-101l-159 166l-160 -166h-103zM160 0v1434h106v-1434h-106z" />
+<glyph unicode="&#xcf;" horiz-adv-x="425" d="M-47 1639v157h119v-157h-119zM160 0v1434h106v-1434h-106zM358 1639v157h119v-157h-119z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1134" d="M160 0v1434h147l535 -1293h26v1293h107v-1434h-199l-487 1192h-25v-1192h-104zM262 1751h561l47 -102h-557z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1064" d="M139 352v717q0 45 17.5 110.5t62.5 126t121 103.5t192 43q115 0 191 -43t121 -102.5t63.5 -125t18.5 -110.5v-719q0 -45 -17.5 -108.5t-62.5 -122t-122 -99t-194 -40.5q-115 0 -190.5 40.5t-119.5 99t-62.5 122t-18.5 108.5zM250 350q0 -82 31.5 -130t76.5 -73.5 t93.5 -33t80.5 -7.5q33 0 81.5 8.5t92.5 34t75.5 73.5t31.5 130v719q0 82 -31.5 132t-75.5 78t-92.5 37t-81.5 9t-81 -10t-93 -38t-76.5 -78t-31.5 -132v-719zM273 1917h125l198 -301h-106z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1064" d="M139 352v717q0 45 17.5 110.5t62.5 126t121 103.5t192 43q115 0 191 -43t121 -102.5t63.5 -125t18.5 -110.5v-719q0 -45 -17.5 -108.5t-62.5 -122t-122 -99t-194 -40.5q-115 0 -190.5 40.5t-119.5 99t-62.5 122t-18.5 108.5zM250 350q0 -82 31.5 -130t76.5 -73.5 t93.5 -33t80.5 -7.5q33 0 81.5 8.5t92.5 34t75.5 73.5t31.5 130v719q0 82 -31.5 132t-75.5 78t-92.5 37t-81.5 9t-81 -10t-93 -38t-76.5 -78t-31.5 -132v-719zM492 1618l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1064" d="M139 352v717q0 45 17.5 110.5t62.5 126t121 103.5t192 43q115 0 191 -43t121 -102.5t63.5 -125t18.5 -110.5v-719q0 -45 -17.5 -108.5t-62.5 -122t-122 -99t-194 -40.5q-115 0 -190.5 40.5t-119.5 99t-62.5 122t-18.5 108.5zM250 350q0 -82 31.5 -130t76.5 -73.5 t93.5 -33t80.5 -7.5q33 0 81.5 8.5t92.5 34t75.5 73.5t31.5 130v719q0 82 -31.5 132t-75.5 78t-92.5 37t-81.5 9t-81 -10t-93 -38t-76.5 -78t-31.5 -132v-719zM270 1692l205 256h113l205 -256h-101l-159 166l-160 -166h-103z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1064" d="M139 352v717q0 45 17.5 110.5t62.5 126t121 103.5t192 43q115 0 191 -43t121 -102.5t63.5 -125t18.5 -110.5v-719q0 -45 -17.5 -108.5t-62.5 -122t-122 -99t-194 -40.5q-115 0 -190.5 40.5t-119.5 99t-62.5 122t-18.5 108.5zM230 1751h561l47 -102h-557zM250 350 q0 -82 31.5 -130t76.5 -73.5t93.5 -33t80.5 -7.5q33 0 81.5 8.5t92.5 34t75.5 73.5t31.5 130v719q0 82 -31.5 132t-75.5 78t-92.5 37t-81.5 9t-81 -10t-93 -38t-76.5 -78t-31.5 -132v-719z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1064" d="M139 352v717q0 45 17.5 110.5t62.5 126t121 103.5t192 43q115 0 191 -43t121 -102.5t63.5 -125t18.5 -110.5v-719q0 -45 -17.5 -108.5t-62.5 -122t-122 -99t-194 -40.5q-115 0 -190.5 40.5t-119.5 99t-62.5 122t-18.5 108.5zM250 350q0 -82 31.5 -130t76.5 -73.5 t93.5 -33t80.5 -7.5q33 0 81.5 8.5t92.5 34t75.5 73.5t31.5 130v719q0 82 -31.5 132t-75.5 78t-92.5 37t-81.5 9t-81 -10t-93 -38t-76.5 -78t-31.5 -132v-719zM276 1639v157h119v-157h-119zM681 1639v157h119v-157h-119z" />
+<glyph unicode="&#xd7;" horiz-adv-x="925" d="M113 274l278 279l-278 278l71 72l279 -278l278 278l72 -72l-278 -278l278 -279l-72 -71l-278 278l-279 -278z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1064" d="M139 352v717q0 45 17.5 110.5t62.5 126t121 103.5t192 43q115 0 191 -43t121 -102.5t63.5 -125t18.5 -110.5v-719q0 -45 -17.5 -108.5t-62.5 -122t-122 -99t-194 -40.5q-115 0 -190.5 40.5t-119.5 99t-62.5 122t-18.5 108.5zM250 350q0 -82 31.5 -130t76.5 -73.5 t93.5 -33t80.5 -7.5q33 0 81.5 8.5t92.5 34t75.5 73.5t31.5 130v719q0 82 -31.5 132t-75.5 78t-92.5 37t-81.5 9t-81 -10t-93 -38t-76.5 -78t-31.5 -132v-719zM346 -135l250 1704h123l-250 -1704h-123z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1093" d="M158 354v1082h106v-1082q0 -82 29 -133t71 -80.5t91 -41t92 -11.5q37 0 86 11.5t93 41t73.5 80.5t29.5 133v1082h107v-1082q0 -59 -18.5 -123.5t-62.5 -119t-120 -90t-188 -35.5q-113 0 -187.5 35.5t-119.5 90t-63.5 119t-18.5 123.5zM289 1917h125l198 -301h-106z" />
+<glyph unicode="&#xda;" horiz-adv-x="1093" d="M158 354v1082h106v-1082q0 -82 29 -133t71 -80.5t91 -41t92 -11.5q37 0 86 11.5t93 41t73.5 80.5t29.5 133v1082h107v-1082q0 -59 -18.5 -123.5t-62.5 -119t-120 -90t-188 -35.5q-113 0 -187.5 35.5t-119.5 90t-63.5 119t-18.5 123.5zM483 1618l198 301h125l-217 -301 h-106z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1093" d="M158 354v1082h106v-1082q0 -82 29 -133t71 -80.5t91 -41t92 -11.5q37 0 86 11.5t93 41t73.5 80.5t29.5 133v1082h107v-1082q0 -59 -18.5 -123.5t-62.5 -119t-120 -90t-188 -35.5q-113 0 -187.5 35.5t-119.5 90t-63.5 119t-18.5 123.5zM284 1692l205 256h113l205 -256 h-101l-159 166l-160 -166h-103z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1093" d="M158 354v1082h106v-1082q0 -82 29 -133t71 -80.5t91 -41t92 -11.5q37 0 86 11.5t93 41t73.5 80.5t29.5 133v1082h107v-1082q0 -59 -18.5 -123.5t-62.5 -119t-120 -90t-188 -35.5q-113 0 -187.5 35.5t-119.5 90t-63.5 119t-18.5 123.5zM281 1639v157h119v-157h-119z M686 1639v157h119v-157h-119z" />
+<glyph unicode="&#xdd;" horiz-adv-x="886" d="M31 1434h114l281 -660h35l280 660h115l-324 -783h-28v-651h-123v651h-25zM377 1618l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xde;" horiz-adv-x="878" d="M160 -510v1944h2h100h2v-447q82 43 141.5 50t94.5 7q57 0 106 -22.5t86 -62t58.5 -92t21.5 -111.5v-484q0 -59 -21.5 -111t-58.5 -91t-86 -61.5t-106 -22.5q-43 0 -107.5 10t-130.5 43v-549h-102zM266 145q59 -31 114.5 -45t121.5 -14q35 0 65.5 14.5t53 39t36 56 t13.5 68.5v498q0 74 -49.5 126t-120.5 52q-49 0 -118 -17.5t-116 -54.5v-723z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1036" d="M131 0v1081q0 45 15.5 109.5t56.5 123t115.5 100.5t195.5 42q117 0 190.5 -42t114.5 -101.5t55.5 -125t14.5 -110.5q0 -86 -38 -166t-120 -108q70 -25 111 -67t63.5 -89t29.5 -93t7 -79v-94q0 -47 -14.5 -112.5t-55.5 -125t-114.5 -101.5t-190.5 -42h-106v111h102 q37 0 83 9t87 38.5t68.5 83t27.5 139.5v88q0 88 -25.5 141.5t-62 82t-80 37.5t-79.5 9h-47v111h45h8q94 0 141 60.5t47 164.5q0 88 -27.5 141.5t-67.5 82t-86 38t-81 9.5q-37 0 -83 -9.5t-88 -38t-70.5 -82t-28.5 -141.5v-1075h-113z" />
+<glyph unicode="&#xe0;" horiz-adv-x="825" d="M96 272v115q0 59 20.5 111.5t57.5 91.5t87 61.5t108 22.5q14 0 43.5 -2t63.5 -8.5t69 -17.5t59 -30v70q0 47 -17.5 93t-46 83t-67.5 59.5t-84 22.5q-16 0 -58 -10t-87 -21q-53 -12 -115 -28l-29 96q68 16 125 31q49 12 96.5 22t67.5 10q66 0 123 -30.5t100 -80.5 t68 -114.5t25 -132.5l2 -586l38 -37l-73 -73l-56 55q-66 -37 -136 -51t-111 -14q-57 0 -107.5 23.5t-87.5 63t-57.5 93t-20.5 112.5zM158 1507h125l198 -301h-106zM199 264q0 -37 13 -68.5t35.5 -55t53.5 -38t66 -14.5q31 0 70.5 11.5t76.5 25.5q43 16 88 37v336 q0 2 -18.5 13t-50 24.5t-74.5 24.5t-90 11q-35 0 -67 -14t-54.5 -38.5t-35.5 -56.5t-13 -69v-129z" />
+<glyph unicode="&#xe1;" horiz-adv-x="825" d="M96 272v115q0 59 20.5 111.5t57.5 91.5t87 61.5t108 22.5q14 0 43.5 -2t63.5 -8.5t69 -17.5t59 -30v70q0 47 -17.5 93t-46 83t-67.5 59.5t-84 22.5q-16 0 -58 -10t-87 -21q-53 -12 -115 -28l-29 96q68 16 125 31q49 12 96.5 22t67.5 10q66 0 123 -30.5t100 -80.5 t68 -114.5t25 -132.5l2 -586l38 -37l-73 -73l-56 55q-66 -37 -136 -51t-111 -14q-57 0 -107.5 23.5t-87.5 63t-57.5 93t-20.5 112.5zM199 264q0 -37 13 -68.5t35.5 -55t53.5 -38t66 -14.5q31 0 70.5 11.5t76.5 25.5q43 16 88 37v336q0 2 -18.5 13t-50 24.5t-74.5 24.5 t-90 11q-35 0 -67 -14t-54.5 -38.5t-35.5 -56.5t-13 -69v-129zM359 1208l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xe2;" horiz-adv-x="825" d="M96 272v115q0 59 20.5 111.5t57.5 91.5t87 61.5t108 22.5q14 0 43.5 -2t63.5 -8.5t69 -17.5t59 -30v70q0 47 -17.5 93t-46 83t-67.5 59.5t-84 22.5q-16 0 -58 -10t-87 -21q-53 -12 -115 -28l-29 96q68 16 125 31q49 12 96.5 22t67.5 10q66 0 123 -30.5t100 -80.5 t68 -114.5t25 -132.5l2 -586l38 -37l-73 -73l-56 55q-66 -37 -136 -51t-111 -14q-57 0 -107.5 23.5t-87.5 63t-57.5 93t-20.5 112.5zM159 1282l205 256h113l205 -256h-101l-159 166l-160 -166h-103zM199 264q0 -37 13 -68.5t35.5 -55t53.5 -38t66 -14.5q31 0 70.5 11.5 t76.5 25.5q43 16 88 37v336q0 2 -18.5 13t-50 24.5t-74.5 24.5t-90 11q-35 0 -67 -14t-54.5 -38.5t-35.5 -56.5t-13 -69v-129z" />
+<glyph unicode="&#xe3;" horiz-adv-x="825" d="M96 272v115q0 59 20.5 111.5t57.5 91.5t87 61.5t108 22.5q14 0 43.5 -2t63.5 -8.5t69 -17.5t59 -30v70q0 47 -17.5 93t-46 83t-67.5 59.5t-84 22.5q-16 0 -58 -10t-87 -21q-53 -12 -115 -28l-29 96q68 16 125 31q49 12 96.5 22t67.5 10q66 0 123 -30.5t100 -80.5 t68 -114.5t25 -132.5l2 -586l38 -37l-73 -73l-56 55q-66 -37 -136 -51t-111 -14q-57 0 -107.5 23.5t-87.5 63t-57.5 93t-20.5 112.5zM115 1341h561l47 -102h-557zM199 264q0 -37 13 -68.5t35.5 -55t53.5 -38t66 -14.5q31 0 70.5 11.5t76.5 25.5q43 16 88 37v336 q0 2 -18.5 13t-50 24.5t-74.5 24.5t-90 11q-35 0 -67 -14t-54.5 -38.5t-35.5 -56.5t-13 -69v-129z" />
+<glyph unicode="&#xe4;" horiz-adv-x="825" d="M96 272v115q0 59 20.5 111.5t57.5 91.5t87 61.5t108 22.5q14 0 43.5 -2t63.5 -8.5t69 -17.5t59 -30v70q0 47 -17.5 93t-46 83t-67.5 59.5t-84 22.5q-16 0 -58 -10t-87 -21q-53 -12 -115 -28l-29 96q68 16 125 31q49 12 96.5 22t67.5 10q66 0 123 -30.5t100 -80.5 t68 -114.5t25 -132.5l2 -586l38 -37l-73 -73l-56 55q-66 -37 -136 -51t-111 -14q-57 0 -107.5 23.5t-87.5 63t-57.5 93t-20.5 112.5zM147 1229v157h119v-157h-119zM199 264q0 -37 13 -68.5t35.5 -55t53.5 -38t66 -14.5q31 0 70.5 11.5t76.5 25.5q43 16 88 37v336 q0 2 -18.5 13t-50 24.5t-74.5 24.5t-90 11q-35 0 -67 -14t-54.5 -38.5t-35.5 -56.5t-13 -69v-129zM552 1229v157h119v-157h-119z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1320" d="M96 272v115q0 59 20.5 111.5t57.5 91.5t87 61.5t108 22.5q14 0 41.5 -2t61.5 -8.5t68.5 -16.5t59.5 -29v97q-6 43 -24.5 85t-46 73.5t-63.5 51t-77 19.5q-16 0 -58 -10t-87 -21q-53 -12 -115 -28l-29 96q68 16 125 31q49 12 96.5 22t67.5 10q76 0 140.5 -39.5 t107.5 -103.5q35 66 99.5 104.5t142.5 38.5h69q57 0 108.5 -22.5t90.5 -61t60.5 -92t21.5 -114.5v-68q0 -86 -31 -144.5t-84 -95t-123.5 -52t-150.5 -15.5q-33 0 -66 2t-67 6v-123q14 -82 76.5 -130t142.5 -48q8 0 52 9t93 20q57 12 127 28l25 -108q-76 -16 -138 -27 q-53 -10 -101 -18t-58 -8q-37 0 -76 9t-73 24.5t-61.5 35t-41.5 39.5q-8 -4 -17 -12q-8 -6 -18.5 -13.5t-24.5 -15.5q-66 -41 -135 -55t-110 -14q-57 0 -107.5 23.5t-87.5 63t-57.5 93t-20.5 112.5zM199 264q0 -37 13 -68.5t35.5 -55t53.5 -38t66 -14.5q31 0 70.5 11.5 t76.5 25.5q43 16 88 37v98q-2 10 -2 20.5v20.5v199q-6 4 -25.5 15t-50 23.5t-70.5 22.5t-85 10q-35 0 -67 -14t-54.5 -38.5t-35.5 -56.5t-13 -69v-129zM707 496h241q37 -2 69 12t55.5 39.5t36.5 59.5t13 71v86q0 49 -18.5 83t-48 54.5t-69.5 29.5t-83 9q-39 0 -74.5 -12.5 t-62.5 -35t-43 -55t-16 -73.5v-268z" />
+<glyph unicode="&#xe7;" horiz-adv-x="706" d="M113 303v428q0 70 25.5 128.5t68.5 99t101.5 64.5t125.5 24q33 0 69 -8.5t66 -18.5q37 -10 72 -25l-25 -88q-31 10 -63 19q-29 8 -59.5 14t-59.5 6q-90 0 -154.5 -58.5t-64.5 -156.5v-428q0 -49 17.5 -89t48 -68.5t70.5 -44t85 -15.5q20 0 51 5t60 11q35 8 71 19l33 -94 q-41 -14 -78 -23q-33 -8 -70.5 -14t-66.5 -6q-68 0 -126 23.5t-102 66.5t-69.5 101t-25.5 128zM305 -381q35 16 55.5 62.5t20.5 119.5v105h98v-107q0 -115 -30.5 -172t-83.5 -82z" />
+<glyph unicode="&#xe8;" horiz-adv-x="833" d="M113 301v453q0 61 21.5 114.5t59 92t88 61t109.5 22.5h70q57 0 108.5 -22.5t90 -61t60 -92t21.5 -114.5v-68q0 -86 -30.5 -144.5t-84 -95t-124 -52t-150.5 -15.5q-33 0 -65.5 2t-67.5 6v-123q14 -82 76.5 -130t142.5 -48q8 0 52.5 9t93.5 20q57 12 127 28l24 -108 q-76 -16 -137 -27q-53 -10 -101 -18t-59 -8q-66 0 -125 23.5t-104 66.5t-70.5 101t-25.5 128zM166 1507h125l198 -301h-106zM219 496l242 -2h4q37 0 67.5 15t53 40.5t36 58.5t13.5 70v86q0 49 -18.5 83t-48 54.5t-69.5 29.5t-83 9q-39 0 -75 -12.5t-62.5 -35t-43 -55 t-16.5 -73.5v-268z" />
+<glyph unicode="&#xe9;" horiz-adv-x="833" d="M113 301v453q0 61 21.5 114.5t59 92t88 61t109.5 22.5h70q57 0 108.5 -22.5t90 -61t60 -92t21.5 -114.5v-68q0 -86 -30.5 -144.5t-84 -95t-124 -52t-150.5 -15.5q-33 0 -65.5 2t-67.5 6v-123q14 -82 76.5 -130t142.5 -48q8 0 52.5 9t93.5 20q57 12 127 28l24 -108 q-76 -16 -137 -27q-53 -10 -101 -18t-59 -8q-66 0 -125 23.5t-104 66.5t-70.5 101t-25.5 128zM219 496l242 -2h4q37 0 67.5 15t53 40.5t36 58.5t13.5 70v86q0 49 -18.5 83t-48 54.5t-69.5 29.5t-83 9q-39 0 -75 -12.5t-62.5 -35t-43 -55t-16.5 -73.5v-268zM375 1208l198 301 h125l-217 -301h-106z" />
+<glyph unicode="&#xea;" horiz-adv-x="833" d="M113 301v453q0 61 21.5 114.5t59 92t88 61t109.5 22.5h70q57 0 108.5 -22.5t90 -61t60 -92t21.5 -114.5v-68q0 -86 -30.5 -144.5t-84 -95t-124 -52t-150.5 -15.5q-33 0 -65.5 2t-67.5 6v-123q14 -82 76.5 -130t142.5 -48q8 0 52.5 9t93.5 20q57 12 127 28l24 -108 q-76 -16 -137 -27q-53 -10 -101 -18t-59 -8q-66 0 -125 23.5t-104 66.5t-70.5 101t-25.5 128zM155 1282l205 256h113l205 -256h-101l-159 166l-160 -166h-103zM219 496l242 -2h4q37 0 67.5 15t53 40.5t36 58.5t13.5 70v86q0 49 -18.5 83t-48 54.5t-69.5 29.5t-83 9 q-39 0 -75 -12.5t-62.5 -35t-43 -55t-16.5 -73.5v-268z" />
+<glyph unicode="&#xeb;" horiz-adv-x="833" d="M113 301v453q0 61 21.5 114.5t59 92t88 61t109.5 22.5h70q57 0 108.5 -22.5t90 -61t60 -92t21.5 -114.5v-68q0 -86 -30.5 -144.5t-84 -95t-124 -52t-150.5 -15.5q-33 0 -65.5 2t-67.5 6v-123q14 -82 76.5 -130t142.5 -48q8 0 52.5 9t93.5 20q57 12 127 28l24 -108 q-76 -16 -137 -27q-53 -10 -101 -18t-59 -8q-66 0 -125 23.5t-104 66.5t-70.5 101t-25.5 128zM172 1229v157h119v-157h-119zM219 496l242 -2h4q37 0 67.5 15t53 40.5t36 58.5t13.5 70v86q0 49 -18.5 83t-48 54.5t-69.5 29.5t-83 9q-39 0 -75 -12.5t-62.5 -35t-43 -55 t-16.5 -73.5v-268zM577 1229v157h119v-157h-119z" />
+<glyph unicode="&#xec;" horiz-adv-x="370" d="M-92 1507h125l198 -301h-106zM131 0v1024h109v-1024h-109z" />
+<glyph unicode="&#xed;" horiz-adv-x="370" d="M131 0v1024h109v-1024h-109zM133 1208l199 301h125l-217 -301h-107z" />
+<glyph unicode="&#xee;" horiz-adv-x="370" d="M-74 1282l205 256h113l205 -256h-101l-159 166l-160 -166h-103zM131 0v1024h109v-1024h-109zM131 1274v160h109v-160h-109z" />
+<glyph unicode="&#xef;" horiz-adv-x="370" d="M-76 1229v157h119v-157h-119zM131 0v1024h109v-1024h-109zM330 1229v157h119v-157h-119z" />
+<glyph unicode="&#xf1;" horiz-adv-x="884" d="M88 967l74 73l61 -61q113 63 213 63q92 0 172 -38t121 -130q25 -51 29 -103t4 -107v-664h-109v727q0 104 -55 159.5t-125 55.5q-39 0 -99.5 -12t-135.5 -62v-868h-105v924zM129 1341h561l47 -102h-557z" />
+<glyph unicode="&#xf2;" d="M115 281v473q0 94 34.5 151.5t84 88t102.5 40.5t92 10t92 -10t102.5 -40.5t84 -88t34.5 -151.5v-473q0 -94 -34.5 -151.5t-84 -89.5t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 152zM160 1507h125l198 -301h-106zM207 295q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5 t64.5 -7t64.5 7t71.5 29.5t58.5 62.5t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444z" />
+<glyph unicode="&#xf3;" d="M115 281v473q0 94 34.5 151.5t84 88t102.5 40.5t92 10t92 -10t102.5 -40.5t84 -88t34.5 -151.5v-473q0 -94 -34.5 -151.5t-84 -89.5t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 152zM207 295q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5t64.5 -7t64.5 7t71.5 29.5 t58.5 62.5t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444zM365 1208l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xf4;" d="M115 281v473q0 94 34.5 151.5t84 88t102.5 40.5t92 10t92 -10t102.5 -40.5t84 -88t34.5 -151.5v-473q0 -94 -34.5 -151.5t-84 -89.5t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 152zM166 1282l205 256h113l205 -256h-101l-159 166l-160 -166h-103zM207 295 q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5t64.5 -7t64.5 7t71.5 29.5t58.5 62.5t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444z" />
+<glyph unicode="&#xf5;" d="M115 281v473q0 94 34.5 151.5t84 88t102.5 40.5t92 10t92 -10t102.5 -40.5t84 -88t34.5 -151.5v-473q0 -94 -34.5 -151.5t-84 -89.5t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 152zM127 1341h561l47 -102h-557zM207 295q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5 t64.5 -7t64.5 7t71.5 29.5t58.5 62.5t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444z" />
+<glyph unicode="&#xf6;" d="M115 281v473q0 94 34.5 151.5t84 88t102.5 40.5t92 10t92 -10t102.5 -40.5t84 -88t34.5 -151.5v-473q0 -94 -34.5 -151.5t-84 -89.5t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 152zM166 1229v157h119v-157h-119zM207 295q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5 t64.5 -7t64.5 7t71.5 29.5t58.5 62.5t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444zM571 1229v157h119v-157h-119z" />
+<glyph unicode="&#xf7;" horiz-adv-x="931" d="M116 369v131h703v-131h-703zM404 2v180h141v-180h-141zM406 657v185h141v-185h-141z" />
+<glyph unicode="&#xf8;" horiz-adv-x="858" d="M115 281v473q0 94 34.5 151.5t84 88t102.5 40.5t92 10t92 -10t102.5 -40.5t84 -88t34.5 -151.5v-473q0 -94 -34.5 -151.5t-84 -89.5t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 152zM207 295q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5t64.5 -7t64.5 7t71.5 29.5 t58.5 62.5t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444zM262 -180l207 1430h123l-207 -1430h-123z" />
+<glyph unicode="&#xf9;" horiz-adv-x="884" d="M125 362v662h106v-725q0 -53 15.5 -93t41 -66.5t58.5 -41t68 -14.5q66 0 132 23.5t103 50.5v866h105v-922l45 -43l-74 -73l-61 61q-59 -33 -127 -48t-121 -15q-74 0 -145.5 38t-112.5 130q-25 51 -29 103t-4 107zM166 1507h125l198 -301h-106z" />
+<glyph unicode="&#xfa;" horiz-adv-x="884" d="M125 362v662h106v-725q0 -53 15.5 -93t41 -66.5t58.5 -41t68 -14.5q66 0 132 23.5t103 50.5v866h105v-922l45 -43l-74 -73l-61 61q-59 -33 -127 -48t-121 -15q-74 0 -145.5 38t-112.5 130q-25 51 -29 103t-4 107zM367 1208l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xfb;" horiz-adv-x="884" d="M125 362v662h106v-725q0 -53 15.5 -93t41 -66.5t58.5 -41t68 -14.5q66 0 132 23.5t103 50.5v866h105v-922l45 -43l-74 -73l-61 61q-59 -33 -127 -48t-121 -15q-74 0 -145.5 38t-112.5 130q-25 51 -29 103t-4 107zM176 1282l205 256h113l205 -256h-101l-159 166l-160 -166 h-103z" />
+<glyph unicode="&#xfc;" horiz-adv-x="884" d="M125 362v662h106v-725q0 -53 15.5 -93t41 -66.5t58.5 -41t68 -14.5q66 0 132 23.5t103 50.5v866h105v-922l45 -43l-74 -73l-61 61q-59 -33 -127 -48t-121 -15q-74 0 -145.5 38t-112.5 130q-25 51 -29 103t-4 107zM182 1229v157h119v-157h-119zM587 1229v157h119v-157 h-119z" />
+<glyph unicode="&#xfd;" horiz-adv-x="768" d="M45 1024h105q53 -225 95 -382t70 -257q33 -117 56 -192h24q18 76 49 192q27 100 69 257t105 382h105l-274 -1024h-13l-84 -512h-104l84 512h-15zM316 1208l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xfe;" horiz-adv-x="858" d="M131 -512v1944h2h100h3v-447q82 43 141 50t94 7q57 0 106.5 -22.5t86 -62t58 -92t21.5 -111.5v-484q0 -59 -21.5 -111.5t-58 -91t-86 -61t-106.5 -22.5q-43 0 -107.5 10t-130.5 43v-549h-102zM238 143q59 -31 114.5 -45t120.5 -14q35 0 65.5 14.5t53 39t36 56t13.5 68.5 v498q0 74 -49 126t-121 52q-49 0 -117.5 -17.5t-115.5 -54.5v-723z" />
+<glyph unicode="&#xff;" horiz-adv-x="768" d="M45 1024h105q53 -225 95 -382t70 -257q33 -117 56 -192h24q18 76 49 192q27 100 69 257t105 382h105l-274 -1024h-13l-84 -512h-104l84 512h-15zM125 1229v157h119v-157h-119zM530 1229v157h119v-157h-119z" />
+<glyph unicode="&#x152;" horiz-adv-x="1480" d="M139 373v717q0 45 17.5 110.5t62.5 125.5t121 103.5t192 43.5q96 0 164 -31t115 -78v90h578v-117h-461v-536h360v-119h-360v-541h465v-118h-582v79q-47 -43 -114.5 -71.5t-166.5 -28.5q-115 0 -190.5 41t-119.5 99.5t-62.5 122t-18.5 108.5zM250 371q0 -82 31.5 -130 t76.5 -74t93.5 -33t80.5 -7q31 0 75 7t87 28.5t76 62.5t41 111v792q-8 70 -41 113t-76 66.5t-87 32t-75 8.5q-33 0 -81 -10.5t-93 -38t-76.5 -78t-31.5 -131.5v-719z" />
+<glyph unicode="&#x153;" horiz-adv-x="1368" d="M115 276v474q0 94 34.5 151t84 88t102.5 41t92 10t92 -10t102.5 -41t84 -88t34.5 -151v-474q0 -94 -34.5 -151t-84 -89t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 151zM207 291q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5t64.5 -7t64.5 7t71.5 29.5t58.5 62.5 t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444zM647 301v453q0 61 21.5 114.5t59.5 92t88 61t110 22.5h69q57 0 108.5 -22.5t90.5 -61t60.5 -92t21.5 -114.5v-68q0 -86 -31 -144.5t-84 -95t-123.5 -52 t-150.5 -15.5q-33 0 -66 2t-67 6v-123q14 -82 76.5 -130t142.5 -48q20 0 65 8t92 19q53 12 115 28l25 -106q-66 -16 -123 -27q-49 -10 -98.5 -18t-75.5 -8q-66 0 -125.5 23.5t-104.5 66.5t-70.5 101t-25.5 128zM754 496l241 -2h4q37 0 68 15t53.5 40.5t35.5 58.5t13 70v86 q0 49 -18 83t-48 54.5t-70 29.5t-83 9q-39 0 -74.5 -12.5t-62.5 -35t-43 -55t-16 -73.5v-268z" />
+<glyph unicode="&#x178;" horiz-adv-x="886" d="M31 1434h114l281 -660h35l280 660h115l-324 -783h-28v-651h-123v651h-25zM188 1639v157h119v-157h-119zM593 1639v157h119v-157h-119z" />
+<glyph unicode="&#x2c6;" horiz-adv-x="811" d="M143 1282l205 256h113l205 -256h-101l-159 166l-160 -166h-103z" />
+<glyph unicode="&#x2dc;" horiz-adv-x="1017" d="M205 1341h561l47 -102h-557z" />
+<glyph unicode="&#x2000;" horiz-adv-x="974" />
+<glyph unicode="&#x2001;" horiz-adv-x="1948" />
+<glyph unicode="&#x2002;" horiz-adv-x="974" />
+<glyph unicode="&#x2003;" horiz-adv-x="1948" />
+<glyph unicode="&#x2004;" horiz-adv-x="649" />
+<glyph unicode="&#x2005;" horiz-adv-x="487" />
+<glyph unicode="&#x2006;" horiz-adv-x="324" />
+<glyph unicode="&#x2007;" horiz-adv-x="324" />
+<glyph unicode="&#x2008;" horiz-adv-x="243" />
+<glyph unicode="&#x2009;" horiz-adv-x="389" />
+<glyph unicode="&#x200a;" horiz-adv-x="108" />
+<glyph unicode="&#x2010;" horiz-adv-x="741" d="M125 662v131h491v-131h-491z" />
+<glyph unicode="&#x2011;" horiz-adv-x="741" d="M125 662v131h491v-131h-491z" />
+<glyph unicode="&#x2012;" horiz-adv-x="741" d="M125 662v131h491v-131h-491z" />
+<glyph unicode="&#x2013;" horiz-adv-x="948" d="M121 428v111h702v-111h-702z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1503" d="M121 428v111h1257v-111h-1257z" />
+<glyph unicode="&#x201a;" horiz-adv-x="382" d="M84 756q35 16 61.5 54t26.5 112v104h119v-106q0 -115 -47 -184.5t-125 -102.5z" />
+<glyph unicode="&#x201c;" horiz-adv-x="647" d="M100 1044v107q0 115 47.5 184.5t124.5 102.5l35 -123q-35 -16 -61.5 -54t-26.5 -112v-105h-119zM369 1044v107q0 115 47 184.5t125 102.5l34 -123q-35 -16 -61.5 -54t-26.5 -112v-105h-118z" />
+<glyph unicode="&#x201d;" horiz-adv-x="638" d="M76 1163q35 16 61.5 54t26.5 112v105h119v-107q0 -115 -47.5 -184.5t-124.5 -102.5zM344 1163q35 16 61.5 54t26.5 112v105h119v-107q0 -115 -47 -184.5t-125 -102.5z" />
+<glyph unicode="&#x2022;" horiz-adv-x="606" d="M92 506q0 43 16.5 82t45 68.5t67.5 46t82 16.5t82 -16.5t68.5 -46t46 -68.5t16.5 -82t-16.5 -82t-46 -68.5t-68.5 -46t-82 -16.5t-82 16.5t-67.5 46t-45 68.5t-16.5 82z" />
+<glyph unicode="&#x2026;" horiz-adv-x="1030" d="M115 10v180h141v-180h-141zM444 10v180h142v-180h-142zM774 10v180h141v-180h-141z" />
+<glyph unicode="&#x202f;" horiz-adv-x="389" />
+<glyph unicode="&#x205f;" horiz-adv-x="487" />
+<glyph unicode="&#x20ac;" horiz-adv-x="952" d="M86 512v90h147v156h-147v90h147v231q0 59 21.5 110.5t58.5 89.5t86.5 59.5t106.5 21.5h67q55 0 104.5 -21.5t86.5 -59.5t58.5 -89t21.5 -111v-47h-105v47q0 82 -57 126t-133 44q-43 0 -81 -8t-66.5 -28.5t-46 -52.5t-17.5 -81v-231h313v-90h-313v-156h313v-90h-313v-225 q0 -74 48 -126t120 -52h65q70 0 119 52t49 126v47h105v-53q0 -59 -21.5 -110.5t-58.5 -89.5t-86 -59.5t-107 -21.5h-67q-57 0 -106.5 21.5t-86.5 59.5t-57.5 89t-20.5 111v231h-147z" />
+<glyph unicode="&#x2122;" horiz-adv-x="1138" d="M117 1384v50h348v-50h-148v-591h-49v591h-151zM575 793v641h80l119 -400h14l121 400h80v-641h-49v532h-12l-107 -344h-80l-106 344h-12v-532h-48z" />
+<glyph unicode="&#xe000;" horiz-adv-x="1024" d="M0 0v1024h1024v-1024h-1024z" />
+<glyph unicode="&#xfb01;" horiz-adv-x="948" d="M51 924v100h182v160q0 72 18.5 123t50.5 82.5t76 47t95 15.5h37v-111h-27q-57 0 -101 -30.5t-44 -112.5v-174h479v-1024h-108v924h-369v-924h-109v924h-180zM709 1274v160h108v-160h-108z" />
+<glyph unicode="&#xfb02;" horiz-adv-x="999" d="M51 924v100h182v160q0 72 18.5 123t50.5 82.5t76 47t95 15.5h37v-111h-27q-57 0 -101 -30.5t-44 -112.5v-174h371v410h106v-1174q0 -84 42 -115.5t101 -31.5h27v-111h-37q-51 0 -95 15.5t-76 47t-50 82.5t-18 123v654h-369v-924h-109v924h-180z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.ttf b/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..d5a74aa443599e53c460081f4b2324fab92944f4
GIT binary patch
literal 42136
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

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.woff b/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.woff
new file mode 100644
index 0000000000000000000000000000000000000000..ed785d30386afa962bc77e1d6a080d98e0ffc5ad
GIT binary patch
literal 21960
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

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.eot b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.eot
new file mode 100644
index 0000000000000000000000000000000000000000..e22984c8074248543b6c0886af2e8037ca751861
GIT binary patch
literal 24029
zcmb4~Wl-Hv+pah6uyKctySuyl#@*fBDei8?-L1Hl;%>zqiWPS$QsnFR&YAbmIe$(v
znf2t(_1r5fvt}h(nQR*Z0ImiA0OY?F8t|_~f`)>EhJu8Ih5#@^0RCx;s&D`R=wJBX
zB@F@q`rjQE$M1#z75^L11JnV|08fA$z#L%t4^#)30-ONu|030Yn)AO>5nv0j2G{^R
z{^g(o!2c-gf4sv#&h4KP3eftexc$qp{YN|f<Jkbr09F78fEyt2&qMv6^8Y4S|4{<}
ze4YO}oBt=*>%ZB|0G|IGb^KS0{XhTzWvu@BI{d4}48Z;`;`-0V_m5)zcNYBrAFTlW
zUu^&Y#MNa~|9eUPPXGnTo&yNX00b5R!Y3Frr?KPy4%!no_KprgF68cKCXC*UDo*rC
z*HED={KE-u&LRe>@CWj-r{mvbrr{trnH_TaN$6SWsuTEs=-S?Fytq|-&ol5CNOim$
zlaaa=t6SnYkeNapa#2mKr?c`}A*+;0#7Ihjt%=02VzU*~wt2E4w4wic?Sn|aNtrx;
zA(&90R0Q{%-ne)FpoVsh<_VV9BjR-hnV4O09#V8|bK_9^IG;1@x?G2JN&qS{c^Ll=
zRK23h6&xHot6wI_8;oNo*;oH*EHf&3ecx-FZ6qh_KYLEJYBHdr8l8wCiL@zJ%0T@@
zlQ9v}lwfpF{>N&t*iIdGdN!-`@w)*ekadSoW0<OW)O&0{{8LO4{jt?&njg+OWFtd@
zep;JjX7uT51l@2V{yO~rqZnaQ#z7h&60ELP@=Mj9X`iE%K-|m{uiek3+J-5FTnrAa
z19B7}tg=7B?@XTZ1q$Vb;EI(%&~;E{pm&XCUzWnaOWp~J&s1*Wk;<hI9ZpY5f;t$3
zOg~i*-@d%UB_36!iPe4oEEZ_5lyn~g@iTjZJiLP5o8<98>U9YE*2~mH&_FNQXz&^b
z$+PoRIomeD49U-Q09+GkPANJb+&`LgVzCIBFlo=1hzvJ!@+*b>oAIPb8T7%EB=Bdb
z8Dl{c->T;_A&dAL>-q{M86-M^l^Xs_*Yte;t-UwL^P=~<IPXeR58F2i(cooxDISp!
zL$w#;EqPT1s<;t<4ZLVN=5^Cc6f-zQkac3GwnQKTMXg6l-e$G0$R>Ju=cD!G#4khi
z2m8gY6meg7@mWcu0k_ae<`pD-yrYO_PaaI<Sw_|h$tex*jAUl1`v>=K;bGQqPFDPX
zzoKTj&5w7WZ24HCe6`}qFd0<G=9Kz)EQ%D(QayL13$TC4-aeEH`YaM*VNAxJ3#&bw
zPjwJdPms);(3kOvoeJCV*`Quow{0fZkPnlX+^BOV4kP4PcjNV>TN&w&x1I*0Rr=<$
z=xMKyQ!DYe;4mofpOPM~K$F{hk%exJVnQG&Pr1(@`k;Rely~5$*Ht5F!;w#MzUpQq
zfjc^%JeQw-<Y0$%_vy}moV(-}+@@(>IFSg5mX*hueX{%EwRIbmQvfW3ysgF8ZiKah
z5U_TCk+5VMzjgI;qrEaGzLJ+;Z@mZWF4a<)Hb9m*HRdaodd&awAPLI0xNizo+N5qC
z&1I9jpYaSo={aPSaUK-;E@&gVWDaAW7pZb;E$&zmrGzkpp~eBWlekE@oByEFZ(Lnp
z?k|sq2YHC8z0+KQjhuV3k6f#YQyy5z##1~HjoDqJ@K1^Diya8ebQm;d5T@_(0dI*&
zX-XL_kcT8iMW{b-i(M&+S%R%m@;*8E#snMOjlQER2ET{1@Ml6!l3Hm%5VE%i+Y`?*
zoZ+Jq?3xSYy?nMZ-8+#|T2W$rL1z=dh{1K_bT6Q(f<UJi=cOiH?Ka#NMe`q`C6D1H
zwdLtu!Ly4fxyz(`4;t<-_r_I?5HDKB1HqXF&n<`Z=SvVu(MAa-lx}E^APX(TMG@Nc
zsBu&V_>S^~<(-FraL}As7^d0<5S89h_42P&EN62kBU_G_|K^Ftprwie#Gu1}b@cy1
zEe~?^JLS=@r<#xeBY{h3N46l)(U|7JRV5O>=yG;M$DMI<7D)6-opTAC>vL-~=8mkz
z!zrw=;to;7UKe%e>EniAeZ@ZCZ{r-!2?ML4Feo;N^!YKC2Tf_xY9fA7+LVM?CfU{%
z7gGuPh;W94BIK(_CM2eB-t4`!<DS7QJ5G+nSin71Lhhl()tj^3W?2n(iva35td!UE
z?c#AaWHB=ILp<L_X|doo5Or{xoqGngfXPc0F|0p?d(0a9!^%xyus|3-XqY4b0sd#}
z5N~KWSP7gg`olvfpS<aoBeP^0_Hu%nw3IY}R<AhSV*`>eYdZEjhp(O|r(#^DVhITA
z?=CO&*Vm8;n&$CVVF+Ca-sQ$h!sC*!dUKtL$Yd07Df-n^_xH3m@cA#LuE9A^k<e!8
ztFevq?a}J0%1KTf_f#mcn&H25MIw_vCXD~i%>BSeff87{IU~jiKlU1KE^zUMsyWNj
z;TJ*2W}BeDHWFrxFKOA1F|oI`+YgQ9Ey|1}k4#NKg@$Y)UXmIeTtr?rP=^1-Lv(pN
z0uPCR1<L#}2!RLnX8mvA_SD~#uWmXL#7m3J1{=Q7Yl70XKua3-*^yvp6HaEUrl%Io
z$e+gHAyqaVT9!8LwLY>?w6Fr9ZYDgC0GPG)z|dtm#_euzb>3&zf+1K(XLQhESR+%#
z;5=7)nycI%fT01y>rTTh#o)A(T+!#D>F135-0G3qv>!EV;;tK`y$2m+E+WogVxIVK
zkU(;{pO@4YxAZH#!^!82Ikc@1%_qcV7x{6t5dkk&mBPZ7_T)QE{H3E-a<F-+<@PWe
zl%yK>!H_Dc&BJWnn#-$fDhFlohxnoa<Y(YR&T*LN$^LjwRR<+G+X0nRWcmcDiZwnV
zSVsEO>D<S4`k@S!ToG7~2bh%|wGOq*&g<Q}Hr&M>S3g`sN8~b|0OejF?}pGxo#>uy
z)*`hBY5mZF;`ohEj>ghV-pYlT8O{zo5OKt$7BlS;UBGb4>41f+h|hjT%B>opOm$L&
zhx4$ege;^pSTXK|->G$giUr6N{dktF?R%IDkKUbuj;EK^%^;N}ig&Ysqo5tpPpozb
zep2Ewn3V_T4skZTnZ=L*)=EFB%R1poeuRIS0*+dd41k#<Tv|=>q?srCE#?h!y<EfL
z&XP_WC*)<rP<_bgtwlB_+6ydW_IRfR?k`>WzwFiB8RXsm9lY<t#ZG{Bn|_r-7O{`)
zApD+_$_LX+*p_ryvfsv@%9p*fcyEasfK-%OeKUkHG$e*VP4}Kq5UZNslWV_uGu<KT
zA$BZ_BpgFlVv|_^E23VSJ?AUpU@aXx!qSn%Anz4POF1`VTyFheCs%JFsHdqQrLHA-
z{c~!jEJ1JHTUue}VYaW!?W4$QYNuf}eYsTAMW_j}pKuj+m$?J}nEdQh2_hl<MTK_p
zi%}3){FPOinAJ{k+F&#@<?MqON(VM~#%}bF7Y%OV;K>xhIt44v%o*}~WGmkcVE;^+
zYdY9dY&axXs3pS^y^bW&5JSpjbTLN;WLV11H9&g)E%g;5<n3J+#zqU;|K>LA(YMME
z#ApxxxnqIjW;VkS<+<US@n;Q95U60`j<2ujyoBF7|CMEWeP<3U`*`4`7&2YE3?{X1
z5a#`dlP{%(X&>^%y1Bi$%#CmwN+6q$?e`xd=<s7)hAiKTGFLH)w{Oqr^eto4%P}xr
z6?a0sMaoI-rllt(H{PQSRS$8-rt7*iLSKY9OIDqP_kV6mT@-e^b4b@og!Y|>i!xuH
zhP3W3VbDDkrdbRwJPKrJg%Y4tA#Q<Kn4sT^vww2Z^j+oQ-eKFZ9{5-Y=MOvk;*tO6
zMuCIAWP`S+vA@+)sZ#stjKjkDSJrhEaZlA$rPJ=TeLv9eYikY{B?*D6UwIeMrw{Pr
zxwK_&BUj6FzjUvv13KWcHhY(MiH6IC)pOQqVWe8G4DPJLPvrc@UnoI=Sa6L(S@0Z;
z(&umDuF&?&nlDI=m`jWfj}9G1W%oKRPBq{9dv|Lr-?QegKB{AKw&dz5VSbrJm%489
z0qXMpXaJaLC_D;6bu91>fMF1_xR(?o@=U0*G+;JxBFz4Bq+6q27}Nxh(5iz$M<6Xv
zn&|~1(}^^x5H7zurUt>FN{k0JsKM$rFg^Gt&8y6n^VeHhj3i?Hdf3@pww9&BK|MNO
ze{3vIAIx?_ukXZIf*+d>AXGOjG+wRqx7n~ALQ)Vjn`mA<Ub_2i2e`aUu|$#%-GSl9
z%cc^!5~guE-|Ixc>|bUYx=gW;KzWj+XPPaHMc{ZeMM$?+nLlWU(tpx)br@pePm0QY
z&^c%xbG&G<S%CNiP44G)lENB72epX_gIa^f25t_J>|}gXgQ{~lg4{&P3aS{DJzaxn
zfxA9MPrImIFq8zlJGjBn(PA-Z5C8xPEB@Vwok(M}AIswmB^qvkv{$AQeBsyu<}5g6
zu)`*bcg!c><VzRdTtc6;lo7kC@Z+~z?@&}@>&%*0H}zl1&sRlByOO3jg-Eb$)Gmlr
z*S;aJSf?7d$uzd7oCw8VzWHLpZusUZZ4&D;@3U<Q*anI<r5?+AZFFiidbtODn^ovm
zUQ;D&uO)~d(b|zM8zB>O{#IsHB6?C3lp^`;Qe%z<uZv*HM>#Ue5RMjk8v?_uGZ|yi
zOk1&YnK*|t?<{Cvw~2BhY<&ZZP!MX5#GTPaTaFU!kYLnsAn3bev^sD<RL0MD!y?%^
zu7xWrpk&aRG;cO(N8jw}%-ty#=Hv|TwF-Zv2$j;LWp??v*Rg!oV~QMywzHXguMSO}
zWI5nf41K$USVqN6*a#0|h3TD7ZIi`VYC46++AYI5zH>P$m8PY2Gb{PJ2ZJX5O{?-*
zVo(;f_R>I%PiVqmuXfdcxTYmNnGv?(WfO9-3ERF#{t~J*yr*_66tPlM>iLD4=y$yQ
z<!L75lR1>(Da0mR=c>U-N&owZSUxY3G;^c^4ZDmqs)iHPWEZ4Hh`k-u--5$=8_2-{
za;hfs<D_{HZ6UcH=|kDUJO#1@OTvWjV)Jo5ry<GX>oT0w^4F}bw<SHa-E=3G;n*P%
zV%ak5FE<lA9S9?epKUWl_=$stq=Xu>Deq<dSlWwKZlAfS`6QiaEw9cS#<I}Eoci??
zL-}r^!h_T|0F&STB8i+%opSu45i<2g?uNecuyxmsd_U#Us@6*A0TU<(eXk^3dnZ#6
zaXk>5H$DmFA{jG^j(e0DD5VgpICGtvSZ2xZP-5uS3KqnG4ty<?Y=o>_EUVxJwZ`RY
z%wedpQX1rJY^c}-(m?N0El!q$-Dm%u1BcQ(6cqCp;9t!3LI3HMzpJRYh$a&9Zget6
z*-m0tLBj2SQvtk67$ro6qM@q~=?xmYjb0PEY)5+n0<*r~231RtUunY_RmCK~Saw<U
z9Z-M3ND+iHD+hEr^8Y+O`H*1jr$KxUm=qm~Mb`idhd!*pv4t4x_D;CIe;NxBq6b%>
zt80GME>A*zm-JFU`R)=PnR+BEwNsMD?1uh@iIl-9A<!q6^;TLz1zCgF@`Y?Fr^mf`
z*U_Ct7K(lrGW9zRs0~}lBilBgOamV|<jmiTP`cX9{yP$Q$I^Kh<8Q3o54GTtKf7Jb
z6ttq5axGmDT*9PkTIc#{uhcNDRlko@5}H15WQi|0TN7`cFy1IbMs9Qx@S7m7j9?;H
zZ{&o@7xYrr=ojD+0?6Ol^#0zk&rlW~@}q>6eK1OJ|I!H80KY}ayl7fL%<ULlI}<)9
zm620>gxkU%)Nuk9oJ;p$BU{;EPT4H|Qg^P<Qt`mJV=ui$sBsBA;j_78%pGc9DePGc
z<$tm$5*AzII%wGS>#eVN8YAF1D{BlJTvZCeCz{B&A5KL+CrtLEk%#{6WR8emx`>+v
zW6SSLUerh%AaJ|zO=L{wafh=Xwer^PrW1wyJb|+CZKQT@79PqnJ=G1(fgyj+jL0to
z>Nj!F3@fIKV(iXl$gC}M3Eh*J`L{F!C9Iw@3d5b^9Sb7LacZ`_e7M81i|!}ybl?vC
zlCjs7GnW^!<C<DNNMGdi-TgLS?6sq(^%AxNSwMf-wT_i|yEYKKsb7-vk0?fBn6VX<
zFbFbzb+O-LeU4)(5iOGI5FL=Rzr4zE;<B0jsAD-~wYk?DWcAPx36AF6vSc{dXy;F)
zzJcHHf`gCgdp<~7WTgw{`eVgOgDc(nK!6b?xZ6&A&Z}>CDX1idXmxO#Dmoj0X0F3$
znp1u!xddj-#%M%roCni-i4IvsD&DzJ;dJW${memQ6PpuvwP`(lvCtsKf;WVdl%S-P
z;8a5j_CB5tBB{>wfb6G7D>h_JnNa?*`k|8R!7XOT@49?if6Uf`tPq;vG6)32rvHjp
zD6*B`AK%YIPpjeyOLId5vIK$Pg1zArR&CgKpBb^TQC<gMheufRf3i1*lCMw#bL)xJ
zlHnckfv7DHV6M9qbow2O6@-(uD!Sifp!6PquP7^V0Nd_J(l;A-6jm8!7eq+fDTqw>
z1Z&a;%o<BY^q8#TK{eh_^sJ$w0T84C0+k#_??f3AH(NLBo#+B&Rl|db7CdyrZ)IDU
zegNetURBh^vpkU2HzGcYS4Ec9gBo1r8Gd1`7-v-WraJs67?ueQnLq4qGi_-xs<yO+
z4T&(f%a4>^cA%rV8r@SmGk`irzk@>K&dXyszi!X^%o@mCk~Ox*TvY?0tE4mMq<Ts-
zYZLD^!HO#(OZ>s<?T2`>%>|omacB&qy7RcJv??ci9)$3BSzkSy316BBspo?+JRa|6
zeH4k3bspRTxaL)}4}wL+%AwX1S%MN1hctc49$g_5`DR8gayzd(h&+%M_0V{0qjN=E
zH;ejEBUy|kY*$HcchNkdJ|1E%o@GMp0<A?Tb2&#|4|4@mZ>F)i>F10=A+~RRM*jlu
zMEm4(%y^~~jyN9Sk}E4yFxH0g7QKBh#Qsrl4#j&>Fhq}1CVX9oQyDSrn1Gb#PA9*!
zdP4ShkMp~y`M6Dpt>HIRvY4mzDZzf+fx(1`#cw3_JFJ-3t`h1b0y^4I$Gr28si8UT
zSuWa(okg!t5b23Gr2}D6cgJ7MRi>qi8!shdBi)+iq-o=|j?9#O46>pVOlLxznv|(N
z!V}1h{FP8+!><%h&4pH>*ZLuGM83$>e)(w963>(x6Y--i34osj>$+6gir~X)%eac{
znbx`38&;<HeTGY;fTIJ5d9q}P*5YU7b2289?TN<0H^^TY(s}wC|B$go%QcXs2`hoG
zV8l>nAOu4t(4mgjFLa-Y@AD~9FGhA#=lRINH<?yXn`oFk$<bd-;Yuyt?dA?MnSW1I
z((^KLZE3nJyCbufxs|BTIqGQmGDBePR(O>ZYZMJL4K<1_kz+|!kCfq3O!(2Jqy0n{
z4OY;IJV99qK;AAWqZv8ynd%5_<q*(IfCADuYRbg=i<9$jlswaD&c^|Sf=8Jt;l5Uk
znW^T=7w<INpcUq*Mq%eVN!uN_K=DwFfsrk@(jrw;icw8Y8Z|VR#<H0eq>jbW{0VG(
zG7aPwnvw)6P!%XCIy>DW7>MRcF^jX164SX41R*dPdK^P>^HWY5j~TN9<^h`TI%6=D
zAw0ha<or_sG>*G;M#HL?C@>h}DIX?FNH|Dm6;c8rz^Lh_O;=T0;uqwKCQ2*j>y&sl
zCm!(r0T0TC>nbSxol5tG@N|<;^+kQWJ8*0ef^wIZPJFBDxR)>qcZB5!*L}-D`1;G0
z+?R0lu~oE1GK~uuweY;}W3(oX-YDGmVU#7r5c~`!{$meD1Bd=t?qA|Ad0Lg@n1>5x
zb5S9OdGHnH0`|t?qdW329YslFOp+jZE>idcqX^}t4@(-whq&c(;6lkJf$3eiFSW=>
znshovqaN;IMCjs#Ysxs$y@!!HNijF~ERLAU;N&9JZjuwg)azOf*`QpfT0;#K*I;{!
z8Hpurz1;<y^vFv|t^r2mUL>6o?i3|;5Lp4Qw+0zYp}M4m@@m-*dNch?UupNZsYb6J
zWFvv%h|R4oR0Z2vVqaiTG(`q3B5mi$DeP%%ht$nsN^C6VJW!JS4ITZgixd9}1UM82
z)I}2)QXSBK!+?fH*<%6V%W$Rq=6P4@rM%Z9s)Kir!jkIJi}`VnQq;g-1czV^17J{q
zc<1dnD?5IFebWRzv`n|<?>Fz90&}t6@GNgZ@;_8bkQ#AhIWEU*0e91_-`cSTQg|Y>
z8}G3i=$WT%ct#>Nzy5~2BW~75?u|2llCd%@y#=VFhhJo{k7S_17P`WahDnwo*6xsl
ze^&+by_tHTB>gZS4gogIsBV&pePNNer(pRZ;Q2_<*<$S_E61w)w@4%8peqg}S%(0T
z7qeAu49o8kQ~PTTw&E9rB3&Jb484~%IQVT)6xCgnq1<<iQrx6-&4+2wp)@B*NZ9O2
z2Ynx7<FXoBPDlMp%q-pobyIKX>APG*GzmFc^E+5N5+hTjn;V)a1hZdrg3;&Xt)rd?
zhKU2+uJR31%GwDHspKqp?31MGBY8<+K8|z!WAtN6dKh-teGxT9{r<CYrY_kqo2i0C
zqN91WaL$g6nOhuRAEppKras1rhKoSv-o0L8O}jR#m<)sWG><{twMtS{1mX;LATEA@
zRq%mZGuG)Nf~8vnrmat1DZ3L6N>XwW4h1e_>GY?`QKJSsPiUhZKL6QP&vy*i+K3VD
zw*7YH>;$o*u5|Sez3*}3>9pY9?j8~2tuwLg^K`Zed1TZqLXqs<;(GVNVH0QIdPoRo
z5^%wk>ikhLIeSV;t;Vd!N~R@H-W{6F9d7w}DXw#j{ICQ^rj6oypguh^q>>$}XN#T%
zkeXb!G4Y^hlO_)eF-g#8HJl@jbT}_wRfP29)RU;P-)T#>6f0fFIzE%}=cuu~jLo>s
zR>NC^gynryfXUW2CN)PP+)Vf?Ag=2DCL}+G(VY!(Vb#{xvRZMJ^@Gl<-TO(S1PYp4
zbQPxCijRWchuCbr-xf>6gES%O*WiIHO%AnK6aBe;h$g9~KTgrM046Gxu@WSMrR2|E
zZF9+J00A+7>pF{$yKHncuyQK83}|HXsJRsBr4|LNmk7IMU(^gt!)T#9Vdn#{`mNYw
z>b%!CD534~C5%M2ln2KT(w#Hgw1`~+BLv*!AUUkmu+XqA4=aoY)mKv!oF2qX6(Qnp
z45K2|I>?IyQn2j>c0>#S-HfvVmm^Y9kUwn+<X>oCECENn_wxByTFzp*7B}Hg`i;z3
zsCfF?pE%kS_Q&}dGTiKU%!I60fM%ywL%61t58;DLbW&?eXk~1kG!N3V_Ad8K;lK{(
z_0`+{tjVM5Hx&73R8p9P8Px9IppjA*))pucMRkmblujeIags1D?!1#K+_2;ht3JS?
z!i&V~rNI`3^iaW*wC%9bM+m!Q)%+3@GHLUA3Zm_s8D8kNP4Nr?D@g`<Wex$RLKgH{
z#z1)LZCRvS8lNp4HbM&YdAoeX?+^m}lAKWs7mCyt#B+u8(T>q<)!4JN@%I{KP)vOU
z(M68rgqfN(eLRQsJ68^B<j+60j>EcK^8Y57Ic4|Qp&K3f^$1Ni3i}8^qT3^k@Nf`0
z6SH%jaWeSA)8Ih$MZT*f#Ytq&ob;gSv%q)yHA#$6K#|1sh{>S_MFyr0VwalfBOD;Q
zO2%hGXt0YSknm9NFvpKafAHZHFB;_LQaC4_JS?za)aT6G*bn$Kcwn-PWuvvjH4f8(
zrR^#_s9LBYJ!m_JMpgkK-8^+jGOV|G&W%}p<P+F0d?16~8@?@pj=n6k&sO_7{N?=}
z3L(?J2`R6lSXLIa`y27fdFV?@a0tc<V_oTU&VUW8*~j!9rn4|3;45x6qWlh%PIp|f
zy;<#K^CRTXE^^44{)FHS$tzx>O2o*gKS!F7DnNt+ks@WTa&*udp0o`oTHGk|a8&T*
z&{@O`N1!Xi3GE92F7oRQcIC1j_m@3Cif#cn@^+MWuXivxN|}OH9k5N8J^C89UaAV;
zn}=OV(=e<5b^+|-@vCDex;LeZm^<OwoN?=ru$|)$>xY_GtSZOF6?uT#w_VQgoCF?v
z4`Il<Tx&+>i|=R=b)TpltPRQR)R51J+N_k=#I)BHa&~RfMO{4KPW+H)S$SdVe`%~g
zmCsfVn!R-jnA0*JoXMX$R^V5zVFY+`<48X#XbLZnfX#%xzpO39zHcv$D4v{MsdC;I
zatL}<f#gntXm(V_t+X9D*YMHu@e~B<%4>ozhHIoLdsaRFlnt^KJ1&OQ)YH038^W9Z
zWZopmwo93SSxL@}zxw6Yt;o^Xdq{&Y82Gp8mxfXJ;LKDyuwUwFvjg18t4?`LOz1S6
z%<7FfLK;(3`qvYDEi-QEVCv&SMKG+;MpSkpJ3obmgb_KOnX<=KQ$|%e9-IZAhMOBI
zuKXPXLhOaLb;)VL1ceK{2Gl0WYtclKwmiMg;LXAc0RkM_3f5rpI}4m&g#1Sb)%Y4$
zMnfL9TbAvb8LV{j2dt0q<LXYlR6&aH0ZrI=SMWF)3yib<KUl9I&GFA|Bk8r*@A$By
zse#dveCQUcL1;6k!SE6iND!UevjX!K*6S3(5w}zeEcD4OgVe?vP%*J$X5Z_iS}5FL
zayN`^a!fj?Kc@q58fgEP-Q*sYXPYNSMPpTkI(Q~v0RNDi$BY}Vi%^2>WTdBUXIrYK
z4KU}%=S|_67n^H^p}9|=t=iWIVqjfx3NB_vLnas)kUWa{jqpzThtkPB7ESX}V3eMf
zqr!QG$}6Wh@acGL`xd@AunrI2au86CxyYT_4-)k+pt0sT-`CVqA346-6BF7RapFNO
z2qso0QREVB6^DgSPzjjxWyFKsb<mqg`K<(LIS9yerj?yZdy|CZhwIPHLL!SruR#dm
z5s>r6NmCeHrC~~wW@zwMiEGPz+bA3`aDov_N>XYJ4%MRwwB4&vifimsEyiEFBHaRQ
z1Ca}X=m`CI1P8QK+Yr-`EP}*|1KMZsPZBXyD8C$Q{P2TV8<S7zte0h!0q`WB2XYOW
z3Ng(#ea-5BaoCAjx?2CVMdtIW;G${H#XkiXf<myD5lU_2{ZtfO1rULv!9{cwp*@%w
zlA&ZM8V+5?&=LTQdL@i;aW`p3XFZlwi6b@sNg0zlmwiWSJL<r)IgB7z2{*{_H`l51
zqXuZ`e!meYWlK}5g^%5<-*DfcO!09LZ)3$QmIG9sP39#|V=Y3hWP0c<pLH^NTBWq&
zF=yO9=r4{))#g8tq*6j(slzf>vD856_Z~Q_7XCM?hyqg#fnGN`DSBSvlfAI6Qxh`M
zrGFau8Ic_9=RcqXyY7`X%`JUH6!`-V;1bjiBZoZasRw{eZJgxmAnZ+uWje0A(Jnv7
z^aBPnME>m_OYsVyVdThTllil?O4y7Dh0Vw-7I&k2DNQxCHt+2QhkAr65<4c7Rb@t!
z4m?mLAtuh^FNO(Mrr37kZx+?k=S_!fAL(IFT?Yf(-w&?)arD`g@L1KeJsXiB>ikZi
z0-i(Mi*)k}%y?NtNSE&X#N}-Yq9CM!sZ2|YUa29!!G3)cg-Z_`)^Drofu!O5(fOz&
zfQohP%H%Gu7&ME1adgNFM+$<3n6&#Do!Q6$4cQ0m-{0Mue6}>d><*&yjY-&lu4D>%
zs|K!oV<%-kj#M@7s%~=d<f5W6rbb^kDy_<5mo8~ttqvnw{cs5<FVf~WFm>uqbAjHZ
z#AgFElDh!PP~sYjqvxu)gqrvQQA$<y4k1t1VW=OFHTp$AGR<yXlHgFn*%U>%ikxHT
zE#9;X!*2P=So!H`lcJI04J1a29Ll>Yc6Wi-ovmgY$6_eVV5v$F(9L4NY8Qya3p2tQ
zi!Zwq4gM0PKpy2^O)*FO7J10%l>`Z|ej7#6-mgwb1b1|ruh|Ckz`J%Ot@$|^=5{xS
z;085lW*`|FPEN3s+KiCdcLs7t2g_t0QJn0%31xaF*OFz1epbfE_qq=dZM8z*`(Yo8
z#&>eBfzx&6S_}K|#D*QS;#1$eys+gASrsNQ4dk#cpILA*YP;$OD5D%+dsq9ZT*Y_R
zzV;bo#}JqVFqU+dTo?&$i6E<WD)Lo;MxivOoKR-9A%riTWqaS7e3Lo}um(&(%1~(1
zP{Eaz>xT(I(vTv*PbVr@lgOi}+lM~ku-`BUadq6~BapbeaI0QR0n#+Du8iu=5OmqH
zCLZ_gWZ9FfqzKV=HwO$m(?OOZ?%{I3CFKbYU#pwrU{1l7vO0nIs$zG4lX^);?;@Kw
zV~f2zCoHBdI@n5Iz<~TQWOQIJrFmkEDp7Gy-Q~YNnySzb{}yP7pj)cm@5|8*W$;Fo
zmcVPq`}7M8Gdt`Fx;zozO%%c9DI7g!7>mB;S(Oo4(pe3LhpZWrr(G3L@-POu{xo%U
z6+`SdC+W-&8=<9c0?Y*^D=~=`x<#k|d$T%nG=|q2cNt!R>4y9OBY9ZfFtF>*&`EeR
z$=xMp9sx-S+<djXwVIYrCU=ey1F5}sARR>95wmgK{X2B^YuQ7f#pVwM7c?_s<z{ve
zahpMP$%%?7$jmLIJhpGqrtV2JrDrF14j2=G!g~Vqy{}eeV9U;W3*rh?77ks(Zc5DT
z9zXN}W3(eyAM9y)>xY>{CF8JVnG}Gf5-L^l9WUy#Za#nF>T7#7(88Z3_Jr6}4=8oe
zDeS43B^6|Dwbx0F9_>{Zp8&5h8mZq8Cyd2gRraAKon<&}qk6i>P>cYYklD=We=?75
zn`;@~K8qc4*LHRaW;nqJ*2)U)K!<U%kz`vj{tR{lli6uQL|IU$D<35l9LXxoc6W){
znPAtiFi*zFF7WE1zraXdY1#b#8<JPkh=+IQgFQA2B;86vje}a)Kul1I!!uO&f`eVs
z!dTmxF5zL~M}C5RtEl;FaDS5|NutO!J=soJ(lU0rxfN>%mKyu!sJ(}$ZaxC?ivtLb
z+2ks&q!&ulh!@>R!}@CL{kCRey}+Qq0xk0J<VVf=qzzgNr*fvIHm;|vuqT*C)0T{g
zwXqN(n535^cZ_jx@I$X6W_TC#k5$j>woS)DVfCD?&!_4!5h0vWJM$5sUQ46W;~>R|
zTs3_@udr=tPLQ0$aE(3yBLrz1HN{LR;m<^V<BC$3mW`n^*!ZzOtEVuFA2#>+`$h#7
z|IP?yg&m(sFvZD9;dvQtqDeB!08o>mVA#G5MB!PUsqYTPqV<vC+o%&G4jnf!rj6^z
zEV}M$Lo(Q-1Zd#X@&!|EtQ61Fc__}{76ra8u7&-weVk4$t40&<J0l82`60sP%uhy7
zCxN!fXiOp6?E9>IgZDr!j3~}(pp6s3I4!?w0-+C~sgw^5#jtya(Ded$KE0VYSpFx#
ze=CvZnQs_`m`D|Q=CKE7j#&*MRYe<L9C^Lb-Z6O^*tPdA5D=9X<vQ#182end`#X}L
zo{agr%q;A0bWsXT467*x`8WT#r4}Hv#}5IXP0%b%5p`2~()cHwBCmkGc|SNw2C5yH
zKKUV9yLH0M3`(@2jz$;dsLc1`k6l4==-y{%YiJU4Uc(wL!ZKD0JM$LB>Ay{6mLrd>
zib+CPD$!4c`8S#QH2f1EXFtq)ygKRhcK$J}ziOE4spz~6;e;QcyQ&%JDgi~1xqntv
z`1`$~E?iRjLHI~VlqEWZKnSz~V4WHhn{!t-WO<%OPd-;1h`q}7(WyuAmMX|_B&u%A
z)^uEkpfO#L<Zl2HSzM4!pL}W1_Wb*soA!H4S_Q}`Idrb4{lbj$uSyPmI0RWmD7db8
z5?}W2ZNZ#U=%JIasna1Cu1a7#OB|Z2ID4;+;Q-1a5&AB8lN`c@yMsX-Xh|G?ky2Je
zm;l5or-WlMltN3+w<*?RSZY&8lvG8_Q}9GZhDZ(WP)IXvWkr&Au+f1@Uki>kQ8I~o
z92&B=<VQZpaIhhtqSSrFmJEc9_-!hUr#e3!+28Y~|D?*w(l3{-gEfsZ5FDAe?gEv+
z*`3KV10QE$nig?~(BTqFJ;i{M<qT{=s?a6nav?|ho-!GEfv7OvDm~83;RT-`rsfR+
z5WB?>foWG8M*jmp0s%R$sDv2zt=f{kiv|zAmS+;8#4G8v&n-xkXHKDd-DYb~-S*}%
zxtgdyGZtdf=9$uKh$UoHX=2S?V|Xq#2ppKpyTnqzh^>ZAyHT_+*TL6b?MiIMZo&@=
z7RXISyqKBP?Rp!h5FGK_H8z#*)BIFCKj~{4O>+dOT-J8xnpaHWBuK<8Nx<!|hs4+-
zQIT~+w@cutNd|mFrl<|q*5cd^6J%UrA;=S_{3?iVVJ25<nq?(gIR6{XC^f2`r=nQN
zZ8t}DBPcAEr-J)IWXoZV(tp@_?l<{GCtG}P2jPAm3$(=D9fi!bK_U#O$%JqqRYNYJ
zHNXs$AnC_ZrpP72_Fja`(=LKE8B0?+Crp497A~bL914o^9h2@FKTq%ta<;tXm5uRj
z2?R_$o<Us-@Wc#zsDvgsiars74q2stB^$u<^mFuOoDwQ?M7m#v;OMx`Wl8J}p3a5(
z^SsNJiR6f6@0qL!V(p7P0kamb4I%ysuv6!P58(XG1BT_sc;T6(Cw-h>Gp_*ktcV*H
zpr1)HYGFEd#M}P%yz!jbZ;eNs&uNF(IA&A<&A5BfGDZl|;u-(*ql@iou)wB0xvb}}
zg8NBu&{qYtR|Op|7IWW`R;S;qG9wZn<2Zobrbn1uCEUIisvqDi70mB0yU4E=VoVf!
zjH<#2F&vDNnh8e4qQ-yOybHY*BQo=+Gs;x<W;CG<o>i#2mwj3Lp9Z+Y2UsM90)j;c
zY!zhB2NSnO&?7Ir)cypyz9I)t$Pv_)yIjH2&~edzPd(GM#=-C6R}v?edI>|D3Aecu
z7$P90nwj%|eN_B%Gk?QaQj}A=Sx{G!r@C0w#1hIe+vZ!W=b~fe)Dj=lp|0f>Tfm!(
zmxSyVPq!!O!0ALMaZc4Zm+s(`-At79h{zd2rvj1G<%&Lm7V?RBWF8$t6oV{LI$A2|
zn&mc&Q%+^6*q&VPM8&F0l;EI3U5j&V0sA$|c2Qd>^-sEDypdJ0C9@k7=|$MWX8(J-
z0wdcxxSVKfLbCY2iP+>;^Qg2PJzK0;uDirgOrBZ2sD#o5!+#MK+T=t^t~761z$KcT
zB`=zTYi~!L=r{00@b@S1z1we&*ue<H%SIiUDl~t-;ENy^tBXj8F{PofGhYTiWp%lp
z+(Pmx)S*y&hb-`p%o;9Ak|i=-mWPRn2N7=BLlPdFaJgDNw%)NMjA>;JHGGL_t`Du?
zOVdVy|N4>Zg*GkJ*GkNAIx9DICn!w?3NiUp>;5)*btATTYfX%VNrAAJP%8@kc$ip#
zREK>(T;vV=ph~?>m>3OL1kWxC8+K+n9z^QX2SNs|K@&;A5MBFX>Bf3U!<5*ou&as|
z;5VbV*6{WcrgyXf0wa>iY$J_4X4-oX@r7lTnlE=;E)#&pGf_ec8QTEKv@`VlNZjq%
zj3%=$hLmd+nzWLBetB#6T<piNluTGz^fNLT7%C?krN2O3A6`)<T>SODcLE?gkywC?
z0n1;9`ZS$A#4H^tX@m8%Y;;m6$&DSYv6_S_Orw`*bpEd=K{Jv1nsmS-bld(9&6ls`
zx@60tPEc2V6$vZOk*L#rO5y6qm32Z#khT)`aH_a=e{g&9r>WUm0{3tF4u=eW){!Mz
zZ9)#>ur7(gz$<)Q<j%jjr`#lMzojgsdWPF;ad>uNl8L}H3cI)2pJJy@*^y_4mM4p7
ziOCmJBSi}{p0uwpC}GeDrNI_tSeT_y<rC%VkC9+QxBNP};LC8C93{N^Fg%D(xF^{7
z%pn|U#6feU-1#H%BMXRa?H4-to26$EV)M){fPT_2rLO44wr+-3gk?Js1P}eRYX>$4
z+0pM3pq?DN>Z2B8gmW^csgxBf#MM@`JImJ|8ab?E;Zm@j_scP)v)8dqoISK8Vm|0Z
zq?|tky*e3NJnnGo_%Jy`A{DG}D@LMWtG@J0R&KOjE;0wyv-!{b+TOXUvU3)D@v!q%
zP^vhbjz7!J-sy^zLCS^KJ<VV?RVhi)C{Wtq@#=eQYfeILjQBx*e8Dh*dK&>bAoKZs
zNBp`l35czsgF!li=&e~fLr0nb7Q)q6HJ<ZoW>6=%%o;s|XO!#7*sJ(ZUt!;uBnI!v
zafAN=hyRV==i{X|;<9FE^yyUC(z59Rkw}C*q8sL`|DIvi)!BY=%~q+Ff3J9bES%_t
z+h3-ItgUMR#rWx>M?E*AY?Cm4eQ7{+VQa?7-H>1NK0RK9`*+XFk=dhri<(ur)@5d*
zpN#NCo~TxrRulWBYDMQVKziMDw_2;Xz?9Y9&_SX!JZ(iBd63BfS3ND>e%g_Y;HsJy
z4X19&az(~8rgdmDYYuM(-${tI$j6StQw2H6Z#-JjyKCBjTQhIBJ^48hwEa_<;7evv
zB@@M*R!>m@V%`{;KU5d?df=FD^0)&n9Ao8>lQ#26h;v%{Q<u!n%o6qf?B>%N1^3a^
zQF^~e)ont*XB_G_8u_LBw>?<SPJu8|w#Z*AUpRk43S%sA9(n0y0E~8e0u9*|Q6HW=
z!*3Y|e%mr&=#f)q8tRD7A86$foRHol#F1~#xJ2h~cnM6L-Mh^3tC76G-hR-m_RO-;
zh<-rpP|eA8BUlb#@7mUdt~T)<)c=(i>0W|94(|Mb5}rJ-!3%M=1Lz}RL4*xW4sH74
z${^%p|M4nSi`Wdn!!U33f9MB>40{*}Fjy#cn;|~)5;Q=_>)g!=IU=V#`(Zi!kQaaK
zup3hETqUqswo4{Pd_`Yum*XN}QUBsbh^OZx`&^ZNak%DkeIwf^z9GaYQ;~_tf?oV1
ztsRe;WPYL7@9ta$1%_MtE!9qaEq|lr4c^ESST>@!zrwCSlvyY2%d|`{i;rZHx|dfu
z9&fy3oV&W2R+apVeMgC59PjbUaqUwx89*hIC^)T_=or6wcxHmu$`2h1KbxsCV;I<+
zJ@XgQfu#I*-zcr|OsTgeXmV7ec#(h6fzMN3iiv8#w;=1+ww&9<TdsU)F<tgwqOL2s
zp?nL3I*)r~#eo9+*&oS?e*F_p-qjuRtXE)si_)uHNTOPS{weR3+3Dz;n%stR(Z$Ly
z^Rj>UF*0)qgG$5J|5|jU(ePzo^Ot7Rw^pjKQ&4dwhu-C8x*rJ~zfL_0RGG$D|NCMB
zKiSf;ym3gc&PV3Cv4K0GP{wUA?(N&-y~;16WX5^g!cIzeuPl|&DJ7)Aof_-&;q5%h
zcI56-cFdtgxn3OYX6hE7_QldD|DwTvzp^@D^HvaM7Ag?hy3ZE+uR~$bFR1#Srg(XC
z(?x6WPikvbK0-M>jTs5owZu5}(&*Ah!a@gI)Pq5VR~Z}AQYDB3Xy6e#SCf;$i=*$Y
zY0yu|FJX*&Bhdo0-#W0cbz6vB`EVS=mDTJlOKiC3IO!5A!gbi}X@AAT<^`6(z6Syj
ztn{5z@*E70TRS7MtFX}hEV8khyWmzgwirp}>GlUAminnf-h^leMBjCAa!nW3$l@T#
ze&Ta=8v7e&7tJYQZ-*g+ISBBqj`4KGr8|Hs-WK7c0GLLwb`WfE93c3YvBJk=Av!WS
z2Amyr5aH3G|AbFdrqrZ@FdIbq#4XXXX&OR}e_W9EQmu3*(z_$J<m}Z$<+{1%zQ_ar
zBOqhQQyfVP=1uo2--GUSq#lMU+=Cs|k5tkusK8{z`cDPRw?9g*Oe{gceeEw%X0JkG
zc1n9rMLVy0Rz`2fS>M~`MERQWDsT#&Jkm%#>W$5aKekarFx)o3c#Y~ca8Cs2u5Q9U
zRhM;dZ!Ai>Ee<w_1=>lJ<4G6~|E&IFz$CdH#X(3h&tKn<2+LOsbetF7Qpe_X-@L^S
zU(m@V^9@B~MSL9RSI1n7eO|#4e`|{I)!AZ+Wj&bVGv7F(jN+CLa%GgCG`Xf_Pf>>0
z46i!6v~-{&z4$H?*s4{=bYrzqOJ;~*294uSR!bsYkd}H7L-}YBSB#N%kMN`JC`brX
zo#AeK&j!`1$ub06Qh|G+W3pgH76~gRjpPpBGOyuy!ZJ_v54fzju^7RX{(MLd;cXRW
zK6aWbDIbC-C7xoj4SVNxejGFMz*AiO!;s!qZw>mpE+uCz#$>(OIB1x#UFFdj!7QSW
zj|qzLZlms*vH-<1g2NuaCBv^KjyF~!?h^5!%8XFB(r#NV1QE7>PwmD|CE$-txw>Oz
zr>FJ_>ho1h*$aD88D)lq1apjJMF3~mrNS<?8+=9xR)ec0I^c}5wh1J}4mLH|mj>&c
z1eX;L7l7QPZ4yA)!ptMuE(InBHl4xz$F#Y~Chb3K+o@M`J@xoiP#T1(Q>)AJSAO=k
z4$HAE=ON*IH{tc{ZWg@$^XtHVPYg2I4L-3g!*+T%51&9Ho4P7SUa{#fFB(&N&^zIZ
zno$?Yv`;6q0y|+9i0D~#vSyP<``o_NORd;uEz~%nHF)LigP?l`DhVB5$jlC{o(3K4
zT_K*Vn9`)4Z&AjrJV&~m-bYx`0E@j{6EA8vLwDMs(He(c<6qzn)w|`J*`TQBjWMap
z`uW_~2Yv({N$1@9&V=>hj-%pD9)O|b%OLMr5)4#S*9N8dQ|mClz-(Z_gol(9x@=Pl
z6{i6SwkDL4#fzmvl=69Cps$wU-db!>wY=3W(brD%SeN%%J@bD$5w@yhB4qbwrJh!p
zPMd7<@iWTvsJcwEtsUTN6riw)&XMg~K<X_0U_4gBb5Ogkp{or${lO&%FB^FF+X!me
zp?WZ<&t(YBTsGnHQ3FX0E4eR>+GX9LpwjYJJack1R?yySi86?_0q1n0>ytPp`fKeE
zV&RvA0=n9t*Xqs(Tj>><&HN<@Dv$}kXixu?j6vV|%54kuTW%^x06|Gr>O^GJu2yu5
zQf944kAax)ZQ>C&c(VHr+@fV>8>)6tuZl|`IeBDNgUoK2>R^8-rF>Ba_AI#2q4}{V
z@l!JYm3^(B`7=xySut}c=nj8EkJ9!Q?I;(2Qz4oz=m%ijA~;f9NKJQ&MUBj@3+oj(
z4#Rm!;tB$e)L%ptoN*#U9w$E1SBsOm8oS%VH5Mk!SR6v|Pp&m3kaq_<(zaPxaz_6=
z>dyT!RHue0%i`Y(b{k6nT@kd9Hp&Ugc--Bwfjbi$0x7GnX<o@OQ4x$X%)@8J6^Jn7
zYm4Fg&O%Yx65q7+)%}9EP9y>*+?Ri31A80aD#pICX|N~9ecNn<K;r6RClBBBY~Ww6
zbFY_i5QV&CXX+hJnf2yzJ3KX|)c)h>6R+8o^9Mo_M~sk)pjp#si{3KQIDP>xIe3pi
zd^^h%W<M%>uX|^FuAMs>RKp{KIUwbs!M@>v>VzK4TtP@A20C3N4&Sbd1@G>_u6W~%
zmzLof>ar==EV08D-#PB;5@Ya?t&_>ziI>-7l_SS6M1xx}s~YKOR0%zb&GsXAlTQm;
z$<!Iik{dW_Xj8W2++M~>f)vWp{HU_SL|=4R=Vj|~BH({&m#6-|qeXZPRkq>aR*vvN
zmMWHOoT4~=Tkrbyq&m;BlqlE-KgIT4sc~FY8I@~QrPeBFiH046_Qx4Zk@dt=;7LEg
zh%&80wvAGPCM%>@aF)VgxSq4LI=UJtfnmsa3WsRR{Rg&6{`u%(-2+7(8Yg`l-*l&5
z&sax&A9XUPtx%s&4lS+oZ_0On>YA*G-%AY(ZL5kmhc{vKn*p}yRZKdz6eZG;x*v80
z8MxD%lozQjECZXUKAOhnwMag=dood5NRy8i^~cVZAw39T&xJWO8m(~p-oRg4P;Gf|
z*KzMgTDyO{b~28TRhYc*x>9$}sAN0q-@ck*>R=x^DSxM<t=lx#<+F+jSb=V@ue!Wj
z*Wz~vIbD_0m!6@m`fEg%B68XMEThiXQ{5^hT;>eeaL4OB<$8T_x6F2DHTrVf3;uK8
zsnSsJ>bUQJn$r?{xFmmZUJu6Gww9W0aVq1Mw2QOi<DDR1B1SAD&yd89)g84eCV5c4
zaTKH9rQIx+9ZZ9}3o6dNriAC!4=P3bq71cIzfYgtD|S{+bPn5367_drtlucP2l@3W
zyP!tUrw7eH|L8bZxtn*xQn8Ix#*quO8CgakY7<j%M3`M-NtdD^(@r11)of<SWC3|K
z1;VA#;oY#Xdi3@T*%;Ttk5pW8Ro@rfUHvY1j`vZga%PJM{(@!WJniu+fMo}k=c;0%
zqe<YJj6Kvp-Ud)o16~x6)3Z`kqH(I&paBXRfVwY0rzq>_awrP&1P>jPqtGX0XBnok
zW;zBMp970t>Ly!PENVRIVJ#xbFtwF;y?3x9rVCCXvv2w(Tbso^CCy%$A9;pA3ZqF?
zFl#+wIzbaKuzjh7lH#-u8Q*&jiFVXxIc|@^i^s2xAipm&T^TnUREDQ8)HoWyceqc>
zyVY;+CJ5^jA~xP4;{wItTEMdfq2M|RxyfatSTs@3H;?Rk3!QDQyZWqOm}Y2$X)Wr&
zv~_uEN`Ag;!XWr8so`S-+j7hfk;Wq+!okh#2n*)8*FaajsD1qROD_Zzgb9E`xSr!G
z7bhMfVtZ!Ag?Bo%SkVT)?j4;NUlP40+7(1Pd;y7rlEO#Otoq*De^JBbP`Bub&5Y?a
zX>~~-%+kP#h$P{IhDa$%lN*oRh~>9kRc|!`i9$JwjaR9n6I&8vC&cs8KbuN<NeMIS
zSd^$8hXBjys4j7=A!=PWrm6Sy)`xHQE~D*F=VRJ+%s07vBR`*ZZnE`Lfxo<U%8XJl
z9K^f`zFmsGEE$2w5|i}(K?w@g5D{y<vh&xjNWlqECwRY_=8~NM#9f9$sBsmB1qYHO
zDrh*Z6EP{Ed-YBQ5PtGpk;PtIx2L1(82su)9*jdO+eN;y3y7H`^Tx}q<=ip668q+q
z4;!S%JuO<mNqda?r~=s`Dkl`qOS>FDh&ddZ){r$weuiBv#9jdq4W$$1bUCfh;H&YV
z#(-Gzs@LiwI?_D8WpO*fGXerVPZp*wlwhINVks%hsYamuF-{<{*<j#rq|h&%vTJh5
zEVfWF6;0xPgs-R#i6O_JM_h-ZSX4wd!;TEm5D=vt@`(G=Ye~AqXv+MWnZX0`c_ZN0
zBnIc=GvzEYM;=4h;DMnOJDEMByLZ1TMNO1u&&b08`4|bv<8tj5{l9kO@@qXVE<mW!
zL*$I=ntRK$C=Oh%idRXPxagPMxk>mG!62>Z%G>|73T{#?`vz2?{FWlN%L8YrKKUvW
zOVIbpzi(z(5~bpX%^Jm3B@)OyeP1c_^@>N+41Pmsx}UK-8UPd@jjvd->S4ag4wFnX
zq5Xpn(rGW6q2XIrK_P38B^bV0CVHZ&iJPRsa(FEGfFp`i{!HOK?oFmKP<alsSi;9)
z;b=Mjb5|dRXPqoVmIBO+J(WY#2;>e-LFN@`voLpzhdJwm1VVRwyS=S|ZEZkHo77$b
z?c?pQUWhdk`%X|>xKr&hEW(Fp9UH&|lRG9ah}61=T7N^n>B6glQ4IvJioJSX<}AjL
z{QRqE@+vDMJx8QDv5jxfbW_gtm1rumTcE-oHI)dxOYU+W6U@<3?x<tU??9k<q`J$h
z1#RAmwTe$&QL?X97Y9Jy$ECUa^G)Y)dlXn#j0wwEY^Ms4YIeOE<|kuk#|XxP2#^)!
zkZgZ4?v{GBJL~);L|Mjbh{bf<_!f=v1HA;RG|X6fA(e!(UjwVT9Vv%ea$h*|*<3ir
z^PA)=ojMt$^S~3mX;T?v*u@F6qV?G!ofkC(S_=+YSu9@c{{#UY{^B@pUyBQ?bMPjJ
zz5S=}t{%4dtXyrj&V`zoM8j)xehs4M@T}p=)(gVGf+1U;!(lEMlmTD>nM9I|PZ@!J
zQPayD(Z%Gs(w2KHhG)V<W<iZ_v;=n62O9nOL<R$qh0ymO0-FGS@IXr&5bek6091vB
zAWS=eNN1#gXv30@V}f}t6BO!&u|1hEf*ivO#eQNz!-%(fY_u6<!Q|S`?H;CAmf`j?
z5fG+fAaZJE3N;B#AsB?F|G1Ji!KKH?4`WtC)dnOIU5iQoj~8nRktIjnSn{JZQ>yRG
zBxDw916t7q){xDVA2MdoiYU<Z+2V?$x7FbCVc1v_zh*`TqUIuxjJP56jRym3$4LKT
zD6F=d-ccHggw-AFLGhDu)QkOZ+{%2LxmT0NPz9hRiv;ww7Fm@Sux&F?u^Abht4D;p
ztY?H^DDMk4Tdf6Evj=^i*rD-#BAaqesHFwm|KtKP$9n<n31c*+%+LY2h8*lrk9W5?
z8|YOBjn(R)d|atpp=qJh$v``Q)@Q4WKNRE2=Vn%}I9@N(=t*j`^&Ku_5mlH?S4xvM
zgPN@(K=N%+-`%kDOC>K~?sYJLBS<7x?OL(Uh@c@^ts6?0XJl^>!#=UNkhx6Ll+4wH
z^2<y%<>IGBh26AT4pc@^Xj$XQ(MWz=n^lXMj4aBV+8~iV3Fw7pX83!ET06)Q%`>h$
zR^>Dwi!)wTkOSiH{nO$x5J)JE_nR(0(b<TE)(j^^nDs%1P1s4%ox&G1i7R<r=EA`d
zAC2=*F$V^~OPf4cZ9F*GIFNGEGmIL+M5r82S|u_|8w8cSH<aT@)WxL5=Yhn{n(kkH
z!}uGR0xXd0Pa&&=$I%Y40}7vy0>ocbZHn_uAbivUP*$npXuJF%@6yBBiP^x<?f@B=
zYkz_~XUCWap+)_6yn?{9Hh2R<ITdVIBCf#Cdef*WIZZfD5wwVIm9hI3FkcBNfDhjE
z^d-#;5ouu~>PSdB$h7d<LXS@x*`vrqb{k%-w4mIIq;Lrb8l^$rus-a2Iu)SEY_O+_
z$H@X2i}1NX?_y>&S$}~h*Dx~jj8~a~h|{Gx(7pkNCMU$jC820<6$WC2qeu2HtLV35
zC#M=gmi5%0%N-~{ceE!m4E3{oKp0><!WhpQ*9T-XgL2Elz{#MB%r;I_8%;3!^{CJr
z|9vEbmW4EQ0!qwv{$0*D-GEwrR#xqM9mdblBJFZ4eB^iOhH*l+71xB4-i5+Y{LK68
zGb_DhsN^k=ZlJN&PGN%j(N_=db|D|*^eOKP0++vB7<pY&85jdyyob!tmZToL9BL8%
zByBwCTBXtpC3yRwLe=axy=4}f5+_Z(Bvaxp#4B!X9G|0!%I;8!4RPK29}c&i8eD)?
zOpuBxLW4WFtUidE-UgM1tOz72xdpb!49=RzkwSV0TuKy!Tf%an2sq+t&D}`@|02*P
zd?^02|KoHCQ@ubz4H5!=cO%y214c$mr6>8Mc8D$cDCXr3+@rM1H8Q<*FblDwX3!TO
z#aw_D!`t7jn?O5luJkFTW3+FwD$22&0c7I~Nkhbn*x~8VlR7=(Je6~T$^uYR)^bGv
zmC)7;l{1UZkJc;~&(*k*Y;4Gn$)l%BNcW+9Sv}_S1h!&gygD_b77ahg*(3xPnGHP^
zr>1lHgeruNSbq?hJoQ=7H6ZD16m*w>IE;m;FY`-n+;N%AjOYv`A(yR_BeHG|lZ9^U
zUtV-;i_u*m55rHTmPTe;YcA>q(^?N3hR<kI315J)(FXx{S9;n;5$7Q0_-;l@vKno;
zK$<{FCqQ-fEhtK4rw=qFu|+jeK&g_25h(^kl%Y(%$RUt9zQNghyDIo1a_e;9+Ls2D
zJxB01C=lmCngYMaoorT-RG3J7K&p6x7S|l2_h|QJVhm8%vqildCoU|F9Cr*A8E;XJ
z32~ta_BYIQ%*qxg9f7tlV+%Q4Agso~E@PP`lo=Oqt`L~eU0@-+0LgGsWsjk1jy{A!
zNEpi|uZ#FZiC?(MxjDct<}f&lk)3UM>Q|Gz5iju@kD}OT`1C5*z;V!m_@$X5aumof
z7A<F8EQ{n5>3dZWpx;M%eAS~s1B^wfp;Wba?O$yX4Y5@S)3(sir>-=R$V}i>MD9|y
zM&w=+=RnbH@>>IP&0agUHsRuG7)!fHn!7ugyRP(x<2_YXy}7|<2g+H_T@4y>N>zM!
zO6FZX(ODF#FQf;e?%>5a?SgLbYHB(R6|nV**wPNXoyYFAMu(?j)<p-pp%9x}lt;kF
z9;#YWaC6yH&GV)#!+H0}L+d4_>Aw<dO*kwVbGNLb_Vx*A{(OU(yn~e}POg|Y4>+F+
zo&pvPCrj{?sH8xrVhPP7p8%$Ojo~3A-B`0V;Zz0z1G6}#b!8y~#y}GmGCv#SjwLk-
zT(!`EAE0d*G!jDLPmoi~_xy7m6?6(1sO%0BHUv#LF&!+vhiG89YCE*dyMxMV^&Sj#
zl<k9n_XPx879>`!S#JhS`38}z&au#GT_S>p)GR~*g9VYKZ1L%2r{Iv7fCs>aZg%|$
zl5L7e_5ySefsO!CMYdoSLL7S13@GUC7(k*yva<%#D18m_N0!~gwZ0WB#K2|~3(`J#
zUcNC{Mm%+@^k6^=>DbX$mC0I;a{>;E7OagkPk0uKl@HPwnBWIDH^j-<P%%XqhN)Oy
z=CzmEHNn{}6@C@BQzeK6W$%Rq04}OY!K}tszR@j?O`+Z|sueRKpK$qBy@7&-oa!jc
zfri{^K;A%NI64jY*UZ6}alX_|gURHSG{cF5f50B@Q`gJtStt%yjw+E9vDw2lG#==h
zbm*oqL=G=`C?TvbLzf7_g8fCOuc<Hra<^K_h_Qy9CneLW<OXe)w@UvDL2p@mEU0!3
zQ?gkYw-UfH?%OrW8HN|zeYe+qs~5zG<n7cI<X=OShc^+qsKlg8|2}Z5gMZz3LM_n|
za6lO9fJhWMoH#vpmpD)l;zn|jWRHyx0h2XMn?KYjRS*KIPIdyQ$~FwDX9hx=rkepy
zm&O7zwz>ZX<V6Gbh|W)4%-l5o?-X!K3DQ?W76t>HDJ@ju4Y8Ulk)@}M_%>c{i@FZH
zR-_%{%1<5`6}n2P^YBroa5VBrg3UMpisFDQ<O&Af*DNlV!ulz|(hSRa(p<mhOAp?O
zJAS^gZc4WnI;DKHzi(R%yC2k`+T<GPz+h+gl2dC7=EPeMepX~YAi&TJ^W_BwwC)g9
zYidA&@!$g3tZw--XG)?+R4Wb<*6z|V(GphnlDr?}b3vM&<gRTtf(&P?5EJfeZlP-d
z+=wjS<Of+yZAxQvM6)&2s|%Tqt+Uw=m^sIhrLd?fg^A**KmbvCc_D&f_=15m=kdY3
zY{}1&!RCGKZHeB$TGz6t-N!Me=R{7Dn6#sdkZ7fv3*X>@GvRn4V7OF&0J5qZ(JJ5p
zFwMXVXCR;z1~#XUg(+wx&H0wbj1{$qo0ot6v?Pc<JFHwp0Rxs3z#FDIQD*GyI2pP=
z@(2%fk%LWE(jc)qb-hXQb!|{8%Q(wu$Dr(vlX1w65CTQqJ0L~uLewhkb*E)kQ}HlL
z0V7G!4>c%Qp;n+#)MEGmRx;!Sr+F*UV?7Th<v@THCSPUBrc2=7!C9gPGR5vLLkgN&
zxmy!m3Q<P}9|daA+!L}~D}eA(wbz-m_E$yEW5FEea$A^J7B4DJq%{EB;bwtL&%3x3
z3=o`vSlZ06jCeHQ0>x#!cys_k?_di8Nx*{%Vwo48U7!MT0D!Zrv?F)~1XQ>^0EyrM
zb9!mgtgB?ZHdOBdyg20epk#VQ*Ao{RDmJZ_=nH1DT0~av3_}G;QpSWLD_RW)8s)<w
zCmQ%wj<L9N-DRMlu&LwBE+=uMR5pQ-vxFFv#Q0Ub+xMx9(!dyqbv7}568j*u2;-@-
z7&Hj<weDaL3R(n4mPJC2KqT=5H<DmSvyxLiH@xNrh=Xurp#(#U#z{P<XgA%7f(eKw
z45D5Xq2mN0l*Fzbl<fS;iCE<NWJ)Ldv(kP605RW$%Koe?6SsH-FDDFCvbas{iP=4X
z&>xry?uPa(o8&&mS9_Xt3oL$Ohw21?I{F{I&>)Efhw3r&1Jua0G6g(?fJhAhGXD;z
zVTw`rxg7)1b}`uHIZ9FmLflEEH`h1#Bj8E=X`n?6Vr32yiBrB|za%!>Wv5j{jh(}r
zLtuDK(H`)E=?*p#1DoxJ`m3M%r6~u2ToHfT0U((<$&NzJyQS)|8T|83yT{1R6IV^R
zdm0Zhp?RhP4fDyT$N7@TT~I*Ij2$uNX2vqh!x3O2Ht}FclLw73I7bf-&Aq(5l}FK3
z2Fs5IydsS^(@={LxQQf$i)V4U8_7Y|{L-BC_zY)eaR*KoIW5Z<KI{ZqtHgx5ASm=G
zVW#mIcD5|aR=+TK6RZx9ktNd&M6z)Zb){)FXI2U++~dxTfk>@ZV0C<2V^g0+GdpAS
zvZ6r{Fwn*uVI(eLwnBt<14U4f9{o|gxmIs0fN#nZR3nt5?wX4%ovG!_*z2XFJwK{D
zyJXss0aN$c7qkK}4lL4J!MRwFTdsu!2n#svRKq_#m)XT}><0*}bl~}k14%H%TtBg@
zk*NeVhNm9xDD4>i{A49)`%WQaTKPHxT=CeK=0uNL`nu7H&6=Iv&rf+#BBm_~G@Oj1
z1ZTe{JUEcRDPz>6<i%q?y3$i4f?tc1n$<K;S*&A{p|MB}P|+fa8_wiPLQSL0Z#LY~
zqX$SvyY)4Xqn3A3BzAYeF%=-eiMb@jF{{_>hl3-G+%itKR>ukB;e{m0Bxs31YYaP3
zA@fxDq!bEQNL^Go)%_$1hwVY|EgnfE>qVV_v<u7O7;j34aY-ytq_H%WQ*J1-$FGj7
z`f7~)`-!4$F=+m|KH!(;j8vQfc2;;!lpciQK|CrHIMIzrd@mGP#X_O7R-xKR+f6Eq
z;X=el6i=GAx1X(&V5dV3SKkIv8JU1SO%+J<#{E7qZ%lXF_C&kZVi*}4C1ciUgZl^u
zH;MAXjL}JaZlypVa|38t#}!YTc;z}TB5X6+V^ZWWJ9iM}=>_5Ph|CSY(SvIdJW!5!
z5SPOF?fo5+gRC2zyMru-XEze_l7Gq09Pp+{mlhTn^7stI7$OH}qAp*!EfGRcHo%4a
zy?a^@fyvWq<ZA$4<i=fq$H7Jwfl8q53J}0>fdxLV?;;EMZ4lq!F8_=qyw9qbtv30I
zm@32qo`Az-5+iSFvhnam$_UFgYc?!_v(|$t#Gcx=x}?Y&W(d<<NjQ$-a7SLPyT~ln
z#|Iv@fuy=gTduYlS8+Pk7vxYkrOA2>1br@IFPa(z1JLY64xT3j7CGf}ryOv`WDU)z
zyz4?r2)tS{ew;W1>9HXvyD|VqtU_B8L^gkp=^=`*vBN&Sl58!CDUf+sBmpl-YIX?f
z%!7Y+1V%KOcmN7;7=!_-+Jeu6zL;l@mH<X<Hgo0B^sd@L(9zUUo0&fd8%z2^a^w_2
zAEx*zVGoirU9_%1#u1{NVV$s0?XMUG&q6GY_e0>5rm$c%006OIIhs`_>hXh3J0zuK
z;JHWZT;YbvMq11#7=C!7>^LE*oP`k?r)c{H^432fsj_-yYd9TB=P9ES!~m;UBi=68
za<sARW<4{SI4C!xI=nO(IQZ!bbPb9;(=NfhX(@vNjFG%z@!BdEyfieF5$lhUdNeiz
z{Q*;hpmtd)-`-+}=GgHRy||cU&umd;V2xv;vww$HF_zXKB~8LqED0f?EBnx}J+#;h
zI4iXxM7!)15_cEV0Z2OLO>JnCy_(K6fu{ct%UuJZI{RuwwF8FYVxj^u`G62yBLIQ*
zuQb9sRGf?M+|>iUqWKzA>YTI~Sab-yKhHTiOZnv4jl(0_RUe6w0Mw(1V;pP@2&Wtp
zapIXWZ-Bg?%s9vKqn=*jr3W40KsYF1IjMwva($wo0aQ?uj!ryRyQUq*MAE_<z6wC~
zmSV;($~-9|KJi!~A(00o9ZpLy;Gt$FG_Vt}UX)Cb0u!)4noE4o^O90ri>&z~g{RuM
zKxF#QL8okweL%1=kx)C^3Z&A!p`+xh0U&}+m_$*JOK_z35G(|MN8LPxB*PMC>q5)m
zB9X^x0Y$2)(~}KRt+Yz}l{7$Dg=2~gaQ`6E?}C5`$B8h&n^5K!)rQw$69-%Iz*2`}
zAwyN_;p}2#81uC0880Fd7dx><gdCaysPsIjI92@B5F_r+2|kRlzYJZwIkb{(i%m(9
z0ZlFG5U#Hp9Z8F*dOg^`njvD!)m?%7(_E2Qgg7hy*w}3GBjd1uiX^6Pc<>k=a$?#9
z-SP<?5fNB)_L3Enq~XynK|8$Qai`^~Y8SOxdi!Q-<*`W`_W2xEnwXYYX=h&5V*FNH
z_JcFHvl8!S6zelHAw)QsIy@^*9ccCd_pQ1SgT8((*X#f-QQHGZCYBUiX5vLIsn_r;
zmYM@20waj2(e=<TzL|s>S$HskvJQzFBb3T`v{rbxS50@i!<Ndb)WDG?GRx_B<<??g
zb9ld-B+8WPCk{B34ZwH5rhGhtU^>t=FjkunlL8&R0gMdJ-+t?DBfv-JxC6SM_dOc8
zrxEo^N0I&yp6$GZrP-1Hy3QyUVkLEq#}Vb9xwPFnhZL%YL_f|K1T7>8K$lLDr4{$<
zk*Xg>3kY3OTMYALJn%J*hV9q)Hb=o_7A4sY8BlIqrl-3I67@_>GX{|fAx9$Pe58<z
zr53~TQ|3302bw_it`+l@$9A`hucTYJV>V~EB@T%n21CDp77xW4_oARQ?xRY*x~Pgm
zt<~iSAw>QaaxbWp<szE2c!1VA9fgxf#EVq1Se>XwOetXQs5NO+gNi^qMag|AJxw#y
zL@Ig^Y~<caO&2DOqfmt-&}8&RS_4*7v5;}73C@YEnQ<iVPRA4NNFH1<kX#QSl;(8^
z^<e5>o{CH)LuBwI^1d@!$bdt8p^^<i`ymwBXpyUd96Rtv`V&sivYZ3b(O~_skjML6
zjdG}~a+od{@R-*j>0BjI2-lKKyuYib5j4~bK*fVw6paUNwn8@Qhc7fWfx%>6%9bT$
znh?PR#MkGMbT>Uviq<ol*<0@a=di2kI6?c;TTmhxM9qnRiny)$m;&X|)gRwW#LQ$f
zQ$fL@L-NUGqb{w9tR1aeumO75Yv@wybWrclnm<z`PU@G?$l1kEoTU@<y@3&@Z-n1F
zlgFTxsLwarr8-Xz>0H`mjzrQ#t_*}S93i4UGPY3tuGR6N&qv_g3G$Hza(I`XZG+ZK
z&ZE&2uNx1Uf-Ff*2yWygstpGK*lJ{5x4<*<SSzHXyEwV&EQc4V!Y&RW8Ww$05X|z(
z4k>nyf#-9?>3g8_+TR@p{539yh%!cDp5T^6TTtLa5FaK1H7Vi*Hz3avY20uz<?n@B
zSl(L_qWNPgc;%G2n~y&`2Q70Ekc7rk-4Jo>>Jhe5%+(OMIJwcs9`1aric!raB}W=T
zsX*~8RzaV;3f<Qe=F;0Q5H=@=9B<eEi0@M`uH#Hfc>Yv{Y0e^n5OFvH=KwHyttxR*
zKoKD=rOE-p_$3-oA3O*FuFjdGl;%DdB%R$z1DO$yAmYM_mPEGVTVAJS16L>v04%IE
zzs;xe`WRPja)*<c@gW@0`e20W!z2Q<mo-A3;8IZ>#fffkQA~4}@kqdzl*~va{ze0J
zHag-X(sLnyir4(1hp(@jYVa`ANp=d|`WIDHrqAE?*&JBnWcns?4}e_?U@>Q`_&Fsy
zW$^yR^YgSTKq~QhPc)>Ep8lHRFJ*#AOs&NC>yT3^L{G#5wc!}-NdX7bED}LBtfo}Q
zJg_4Rt0~wpHY#`tIsNu7Dc@|lA!4$nia{R%6_!05SC=YCQ~jpGxg$$wl}jsoG34JN
zAT@GF;!2V%YfO^fAvkSjo+Vvzgg#Z4=PIy*Sb=vdg+Z5gVgWAIp>dY*dq_ugf-7cZ
z6hWXpv{*%kNIRY2(Bj+xO+jo97EBgYrp;%bVGdMWR$#;VBj7X&;05Af+rRFBF{%?n
zDxWSH58r^4*f=}XZi*jlJp?q|4=I*G2LbEgHVk>UIqh=U4<>2|Xkj*A2lXNz{c@)=
z0Mofw?>O&OF+l|Dg$7PK2zr5CIQ2{ca!7|ZUJgieAp?W1GRyA9?0dr+t2w2WK?k%A
z@EM@lnN)i!3h{_&>pj_uDUp4iRu+QpWs|lQ%}ph(A)^@np+8+02rJ4%bDft)%}jv@
znMN)5KcYy(!%+b@!K`#)HrCOgFu*D;_qAGGyAoSKnBXYEsD&0s6hI4f;hyL!vC78>
zC@o?gr2SY`%?)wG$w|fRfQrz(trUUbE~;=si?qRTT8E>VZFHPVi>smK6xrNI5x7iJ
zR~}L^`82%(WJ#9^fxK*SpobE?B9V8)V+?3%#L*caJ<zD6Kd%l<vqL3MS#vR+4k&DN
zxf>03Qb;Wa_WB3M&e6pYg$LKKFtaGpS0b0F<D;80U0uI-$Mz3ci>wGebYSQhpDxyE
z?e(85ppo!LsH?7L^5}&EtX&BpPfNkTe3F(#=dG8O<eO;z>?3L^phjvX^iA{@9UuxT
z{}N;Uvnp4pm_BYeK+<n8P2eP+#zlcU$&Ll{J8UnXdQU*xqV68GB>Dl`?uW?GwCaKM
zKYHA~J$2Q3rAl)ovdhWelt;X+E4}1@l48}IMCoom<ml@P1i{lkD@1+7=|(UeFNgAr
zem?wHYc8rp?^?~k+o5q)Bx(&KWa?{`CXr;Deoa%5WUd+TTf_tty0!xjW(Q~LlD!E0
z6ZI@{EGA@(Mhq;&KmFn`Q8XB`Bo0kIN~8)Mjx4VES~i1(w9VH$W>akd)8z~dX2^L2
z0JYsw{Cwsvxg{u&e5QS*t58!^&JYg?7Y}VIh13%OWqMhRRZ3eC4sg1a7{`gS^r9K_
z_al;=8~rUgA&jd|<T@k*%VlobLb82~0C7ar%@dP>s5-r5xv1LXC`06$e?ZYeJouw@
z9dsc5^q~J6x3?x*{vWq9--~{ox+l_uAOZyJczzAAXar?i|EfrUOA!MIL6VPi5H@Zs
zL<%Hj&(2;wdsEBGU<;(F^C4KqBz6kLi3tuE@x=k$xEv-8tJ|u_ubA{1iYs!4y1rv5
zWks%3w6UtZr)i<{!I`;^{F93clp{th-YG+N=l}ZzUyuv&ZjK=xX`6OfuG!|}b9(|K
zyE405Z3M&5P{&~7RcK<At69eB(lz%1o^(C)i}Ni?4KB)&;VM9s3J^{NcDKsQMpJxd
zVZ7zO6cu*A0YT`|!000H@)>!I3e@%_#EJL1(S};>l7K}#lQ4(Hd9YAg6fMeLF;a#H
zgs}IlV_w3lOsI~9St%HV@=S2ki=dv{2h{!%ttAxOj-KU<qg|pYl62FK=|-Wh{V2*t
zgpnmTU6!hQO>h+eQe{3O4N>i45^zmBTcvzoYN*=gFT9YCqU$VPOP-@dRd3S}JmU~F
zeU!Q#Asdvrm6s4MqiwocZq`%BPBFBiUXc6WnCV`?hq4WFUpVFR)CP1pXfeANGXh_a
z)_3pTor}a$5|>D{s9CeDksa?d>N7Il5V?MEeUiH}(Y^$d1f>XQRc8!TEyHJVs&S)M
z=-T(6RAWBQU8;28_z!+2>!z2)_XnpEnCJ}$PhAD4zfMtsqK5sf4TjoO#B&2-4!GH;
zWm1D;cex%m4m;|@!H4`=26f5CvBmgc0@>S#Yd&rrb^UNjda*wCk?>8jZ2YAw2k^ug
iDO)EQIR3u@sB`nPzB28w-ZT@zVm;|7;e;W_Ce;9LgAVxs

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.svg b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.svg
new file mode 100644
index 00000000000..6cdfecda080
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.svg
@@ -0,0 +1,245 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="source_sans_prolight" horiz-adv-x="980" >
+<font-face units-per-em="2048" ascent="1536" descent="-512" />
+<missing-glyph horiz-adv-x="407" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="682" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="0" />
+<glyph unicode="&#xd;" horiz-adv-x="407" />
+<glyph unicode=" "  horiz-adv-x="407" />
+<glyph unicode="&#x09;" horiz-adv-x="407" />
+<glyph unicode="&#xa0;" horiz-adv-x="407" />
+<glyph unicode="!" horiz-adv-x="530" d="M178 68q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68zM219 1227v145h94l-2 -145l-12 -860h-68z" />
+<glyph unicode="&#x22;" horiz-adv-x="737" d="M170 1419h104v-141l-18 -301h-68l-16 301zM459 1419h104v-141l-18 -301h-68l-16 301z" />
+<glyph unicode="#" d="M74 438v74h178l43 348h-180v74h188l51 397h72l-51 -397h305l53 397h70l-51 -397h168v-74h-175l-43 -348h177v-74h-187l-51 -438h-72l52 438h-306l-53 -438h-72l54 438h-170zM324 512h307l43 348h-307z" />
+<glyph unicode="$" d="M121 135l49 64q59 -53 141 -98.5t189 -45.5q129 0 197.5 70t68.5 182q0 100 -44 162.5t-109.5 107t-142.5 79t-142.5 79.5t-109.5 109.5t-44 169.5q0 63 21.5 118.5t59.5 97.5t91 68.5t117 32.5v203h80v-203q100 -6 163.5 -47t116.5 -96l-53 -58q-29 29 -56.5 51.5 t-58 39t-67.5 24.5t-84 8q-106 0 -172 -66.5t-66 -168.5q0 -90 44 -144.5t109.5 -94.5t142.5 -73.5t142.5 -82t109.5 -121t44 -189.5q0 -147 -89 -235t-226 -101v-202h-80v202q-106 8 -194.5 54.5t-147.5 103.5z" />
+<glyph unicode="%" horiz-adv-x="1648" d="M82 952q0 205 77 313.5t212 108.5t211.5 -108.5t76.5 -313.5q0 -207 -76.5 -316.5t-211.5 -109.5t-212 110t-77 316zM162 952q0 -172 56.5 -265t152.5 -93t152.5 93t56.5 265t-56.5 263.5t-152.5 91.5t-152.5 -91.5t-56.5 -263.5zM405 -25l754 1399h78l-752 -1399h-80z M989 401q0 205 77 313.5t212 108.5t211.5 -108.5t76.5 -313.5q0 -207 -76.5 -316.5t-211.5 -109.5t-212 110t-77 316zM1069 401q0 -172 56.5 -265t152.5 -93t152.5 93t56.5 265t-56.5 263.5t-152.5 91.5t-152.5 -91.5t-56.5 -263.5z" />
+<glyph unicode="&#x26;" horiz-adv-x="1177" d="M74 342q0 68 23.5 123t61.5 103t88 90t103 81q-41 86 -65.5 171t-24.5 163q0 66 20.5 121t57.5 95t88 62.5t113 22.5q111 0 168 -69.5t57 -176.5q0 -66 -26.5 -121t-70.5 -103t-100.5 -92t-113.5 -87q72 -129 171 -250t203 -213q72 92 125.5 204t87.5 241h88 q-41 -139 -99 -265.5t-140 -230.5q72 -57 137.5 -95t124.5 -61l-31 -80q-133 47 -289 170q-74 -76 -163.5 -123t-204.5 -47q-80 0 -151.5 26t-124 74t-83 115.5t-30.5 151.5zM166 348q0 -68 24.5 -122t65.5 -92t97.5 -59.5t117.5 -21.5q84 0 160 40t139 106 q-109 98 -210 221t-173 254q-45 -35 -85 -72t-70.5 -77t-48 -84t-17.5 -93zM344 1077q0 -68 20.5 -140.5t55.5 -145.5q51 37 98 73.5t84 77.5t58.5 85t21.5 97q0 33 -8 65t-25.5 56.5t-45.5 39.5t-68 15q-90 0 -140.5 -65.5t-50.5 -157.5z" />
+<glyph unicode="'" horiz-adv-x="448" d="M170 1419h104v-141l-18 -301h-68l-16 301z" />
+<glyph unicode="(" horiz-adv-x="571" d="M180 569q0 270 72 496.5t199 431.5l55 -33q-123 -195 -184.5 -423t-61.5 -472t61.5 -472t184.5 -423l-55 -32q-127 205 -199 431t-72 496z" />
+<glyph unicode=")" horiz-adv-x="571" d="M66 -326q123 195 184 423.5t61 471.5q0 244 -61.5 472.5t-183.5 422.5l55 33q125 -205 197.5 -431t72.5 -497q0 -270 -72.5 -496.5t-197.5 -430.5z" />
+<glyph unicode="*" horiz-adv-x="808" d="M143 1241l19 62l194 -54l15 209h65l15 -207l194 52l21 -62l-185 -74l111 -180l-55 -41l-131 170l-136 -170l-55 41l113 180z" />
+<glyph unicode="+" d="M70 637v78h379v411h83v-411h379v-78h-379v-412h-83v412h-379z" />
+<glyph unicode="," horiz-adv-x="448" d="M98 -256q70 37 113 99.5t45 148.5q-8 -2 -25 -2q-35 0 -60.5 22.5t-25.5 63.5t27 63.5t61 22.5q47 0 76 -39t29 -107q0 -113 -59.5 -198.5t-151.5 -134.5z" />
+<glyph unicode="-" horiz-adv-x="612" d="M82 471v80h450v-80h-450z" />
+<glyph unicode="." horiz-adv-x="448" d="M137 68q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68z" />
+<glyph unicode="/" horiz-adv-x="731" d="M18 -328l625 1782h78l-623 -1782h-80z" />
+<glyph unicode="0" d="M98 659q0 328 101.5 501t289.5 173t290 -173t102 -501q0 -330 -102 -507t-290 -177t-289.5 177.5t-101.5 506.5zM190 659q0 -301 82 -453.5t217 -152.5q137 0 218 152.5t81 453.5t-80.5 448.5t-218.5 147.5q-135 0 -217 -147t-82 -449z" />
+<glyph unicode="1" d="M172 0v80h307v1085h-233v62q80 14 142.5 34.5t109.5 47.5h73v-1229h285v-80h-684z" />
+<glyph unicode="2" d="M80 1141q74 82 163 137t210 55q176 0 272 -100t96 -266q0 -98 -43 -195.5t-120.5 -205t-189.5 -229.5t-247 -265q53 4 109.5 7t109.5 3h447v-82h-803v57q162 164 282.5 294t201.5 237.5t121 199t40 177.5q0 123 -68.5 206.5t-216.5 83.5q-90 0 -167.5 -49t-137.5 -123z " />
+<glyph unicode="3" d="M59 160l54 63q29 -33 63.5 -62.5t78.5 -53t98.5 -38t121.5 -14.5q66 0 122 20.5t97 58.5t63.5 91.5t22.5 118.5q0 68 -25.5 123t-81 95t-141.5 62.5t-208 22.5v80q113 0 191.5 22.5t126.5 60.5t69.5 90t21.5 112q0 111 -71.5 177t-192.5 66q-92 0 -168 -42t-133 -101 l-53 62q68 66 153.5 112.5t200.5 46.5q76 0 141.5 -21.5t113.5 -61.5t75.5 -98t27.5 -134q0 -129 -70.5 -208t-178.5 -116v-8q61 -12 114 -42t94 -73t64.5 -99t23.5 -126q0 -86 -30.5 -154.5t-84.5 -116.5t-127 -74t-157 -26q-78 0 -141.5 16.5t-113.5 43t-90 59.5t-71 66z " />
+<glyph unicode="4" d="M33 391v53l608 865h82v-840h195v-78h-195v-391h-88v391h-602zM143 469h492v479q0 45 2 112.5t6 113.5h-8q-25 -41 -51.5 -80t-55.5 -84z" />
+<glyph unicode="5" d="M53 152l51 63q29 -31 64 -59.5t78 -51t96 -36t121 -13.5q66 0 125 25.5t103 72t70.5 111t26.5 144.5q0 160 -86 248.5t-233 88.5q-76 0 -130 -23.5t-114 -64.5l-63 39l47 613h604v-80h-522l-41 -473q51 31 106.5 50t126.5 19q82 0 156 -24.5t127 -74.5t85 -129t32 -185 q0 -104 -36 -185.5t-94.5 -137.5t-133 -85t-154.5 -29q-78 0 -140.5 15.5t-112.5 41t-89 57.5t-70 63z" />
+<glyph unicode="6" d="M106 594q0 205 40 346t106.5 229t154 126t181.5 38q92 0 158.5 -34.5t117.5 -92.5l-55 -61q-43 53 -100.5 80.5t-120.5 27.5q-78 0 -147.5 -32.5t-123 -108.5t-85 -200t-33.5 -304q68 84 152.5 133.5t176.5 49.5q174 0 269.5 -103.5t95.5 -302.5q0 -90 -28.5 -165 t-78 -129t-114 -85t-137.5 -31q-199 0 -314 160t-115 459zM201 516q6 -104 29.5 -189t64.5 -145.5t101.5 -94.5t140.5 -34q57 0 105 25.5t83 71t55.5 105.5t20.5 130t-16.5 130t-50.5 104.5t-88 69t-128 24.5q-70 0 -153.5 -44t-163.5 -153z" />
+<glyph unicode="7" d="M90 1229v80h805v-54q-117 -156 -193.5 -299t-123 -291.5t-66.5 -310t-29 -354.5h-98q8 199 33.5 363.5t73 311t119 281t169.5 273.5h-690z" />
+<glyph unicode="8" d="M82 336q0 66 23.5 123t61.5 103t84 82t93 61v8q-37 25 -70.5 54.5t-59.5 67t-42 82t-16 97.5q0 70 26.5 129t72.5 101t108.5 65.5t134.5 23.5q84 0 149.5 -25.5t111.5 -71.5t69.5 -108.5t23.5 -136.5q0 -53 -18.5 -103t-46 -93t-60.5 -78t-61 -58v-8q43 -27 84 -57.5 t72.5 -69.5t52 -90t20.5 -117q0 -72 -28.5 -134t-81 -108t-126 -73t-161.5 -27q-90 0 -166 28t-131.5 76t-87 113.5t-31.5 143.5zM172 340q0 -61 24.5 -113.5t67.5 -91.5t102.5 -61.5t131.5 -22.5q70 0 126 20.5t96 57.5t61.5 86t21.5 104q0 76 -34 128.5t-90 92.5 t-128 69.5t-148 60.5q-100 -59 -165.5 -140t-65.5 -190zM246 1014q0 -70 29.5 -120t78.5 -88t111.5 -66.5t128.5 -53.5q84 68 128 142.5t44 160.5q0 55 -18.5 103.5t-52 85t-84 58t-113.5 21.5q-55 0 -101.5 -18t-80 -50t-52 -77t-18.5 -98z" />
+<glyph unicode="9" d="M88 926q0 88 28.5 163.5t78 129t114 84t137.5 30.5q197 0 311.5 -158.5t114.5 -457.5q0 -207 -39.5 -348.5t-105 -228.5t-154 -126t-182.5 -39q-92 0 -159.5 35t-116.5 92l55 62q43 -53 100.5 -81t122.5 -28q78 0 147.5 33t123 108.5t85 199.5t33.5 304 q-68 -82 -153.5 -131t-177.5 -49q-172 0 -267.5 103.5t-95.5 302.5zM178 926q0 -72 16.5 -132.5t51.5 -104.5t88 -68.5t129 -24.5q70 0 153.5 46t163.5 153q-6 104 -29.5 189t-65.5 145.5t-102.5 93t-140.5 32.5q-55 0 -104 -25.5t-84 -69.5t-55.5 -104.5t-20.5 -129.5z" />
+<glyph unicode=":" horiz-adv-x="448" d="M137 68q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68zM137 850q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68z" />
+<glyph unicode=";" horiz-adv-x="448" d="M98 -256q70 37 113 99.5t45 148.5q-8 -2 -25 -2q-35 0 -60.5 22.5t-25.5 63.5t27 63.5t61 22.5q47 0 76 -39t29 -107q0 -113 -59.5 -198.5t-151.5 -134.5zM137 850q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68z" />
+<glyph unicode="&#x3c;" d="M70 635v90l841 336v-88l-475 -185l-272 -104v-8l272 -105l475 -184v-88z" />
+<glyph unicode="=" d="M70 430v78h841v-78h-841zM70 846v78h841v-78h-841z" />
+<glyph unicode="&#x3e;" d="M70 299v88l475 184l272 105v8l-272 104l-475 185v88l841 -336v-90z" />
+<glyph unicode="?" horiz-adv-x="823" d="M76 1237q59 68 139 114t186 46q76 0 135.5 -23.5t100.5 -65.5t62.5 -99.5t21.5 -125.5q0 -70 -25.5 -128t-62.5 -111t-79 -105.5t-76 -109t-53 -121t-9 -141.5h-82q-12 84 5 152.5t50 127t74 109.5t78 101t61.5 103.5t24.5 116.5q0 47 -13.5 91t-42 77t-72.5 52.5 t-104 19.5q-76 0 -144.5 -34t-119.5 -97zM295 68q0 45 25.5 69.5t60.5 24.5t61.5 -24.5t26.5 -69.5q0 -43 -26.5 -68t-61.5 -25t-60.5 25t-25.5 68z" />
+<glyph unicode="@" horiz-adv-x="1667" d="M106 414q0 201 67 363.5t178.5 278t259 178t309.5 62.5q147 0 267 -47t203 -132t128 -204.5t45 -265.5q0 -131 -35 -230.5t-90.5 -167t-122 -101t-129.5 -33.5q-82 0 -136.5 37.5t-62.5 117.5h-4q-53 -59 -115.5 -101t-134.5 -42q-47 0 -90 17.5t-74.5 52t-50 87 t-18.5 122.5q0 74 25.5 155.5t74.5 149t120 111.5t161 44q109 0 170 -98h4l18 82h70l-74 -387q-70 -276 123 -277q49 0 101.5 31t94.5 89.5t69.5 142t27.5 192.5q0 131 -40 239.5t-114 184.5t-179 118t-239 42q-141 0 -272 -57.5t-232.5 -163t-163 -254t-61.5 -330.5 q0 -150 45 -269.5t126 -202.5t195 -128t251 -45q102 0 186 26.5t158 71.5l33 -61q-176 -111 -383 -111q-147 0 -273.5 48t-218.5 139.5t-144.5 223.5t-52.5 302zM582 412q0 -117 47 -164t116 -47q102 0 222 137l63 354q-37 57 -70.5 79t-80.5 22q-70 0 -125.5 -36t-93 -91.5 t-58 -123t-20.5 -130.5z" />
+<glyph unicode="A" horiz-adv-x="1062" d="M8 0l477 1350h95l475 -1350h-101l-157 463h-535l-158 -463h-96zM291 543h479l-86 252q-41 121 -78 231.5t-71 235.5h-9q-35 -125 -71.5 -236t-77.5 -231z" />
+<glyph unicode="B" horiz-adv-x="1169" d="M193 0v1350h364q203 0 323.5 -80t120.5 -248q0 -106 -59 -185t-180 -110v-8q150 -23 236.5 -103.5t86.5 -222.5q0 -98 -35.5 -172t-101 -123t-158 -73.5t-206.5 -24.5h-391zM287 78h272q203 0 317.5 75.5t114.5 239.5q0 145 -112.5 216t-319.5 71h-272v-602zM287 756h231 q209 0 299 67.5t90 200.5q0 131 -95 189.5t-282 58.5h-243v-516z" />
+<glyph unicode="C" horiz-adv-x="1140" d="M104 678q0 160 42 289t118 220t182.5 139t235.5 48q119 0 208 -49t142 -113l-55 -61q-55 61 -129 99t-166 38q-111 0 -200 -43t-150.5 -122t-95 -191.5t-33.5 -253.5t32.5 -255t94 -193.5t148.5 -124t196 -44.5q104 0 186 41t156 125l55 -59q-78 -90 -173 -141.5 t-228 -51.5q-125 0 -228.5 49.5t-178.5 140.5t-117 221t-42 292z" />
+<glyph unicode="D" horiz-adv-x="1226" d="M193 0v1350h311q156 0 271.5 -47.5t191 -135.5t113.5 -210.5t38 -276.5t-38 -280t-113.5 -215t-190 -137t-270.5 -48h-313zM287 80h207q137 0 236 44t163.5 124t95.5 189.5t31 242.5q0 131 -31 239.5t-95.5 186.5t-163.5 121t-236 43h-207v-1190z" />
+<glyph unicode="E" horiz-adv-x="1038" d="M193 0v1350h737v-82h-643v-510h540v-82h-540v-594h663v-82h-757z" />
+<glyph unicode="F" horiz-adv-x="960" d="M193 0v1350h735v-82h-641v-537h540v-82h-540v-649h-94z" />
+<glyph unicode="G" horiz-adv-x="1222" d="M104 678q0 160 43 289t122 220t189.5 139t243.5 48q68 0 124.5 -14t101.5 -38t79.5 -52.5t61.5 -57.5l-55 -61q-53 57 -127 97t-185 40q-117 0 -209 -43t-156.5 -122t-99 -191.5t-34.5 -253.5t32.5 -255t96 -193.5t155 -124t205.5 -44.5q92 0 172 27t129 76v420h-321v80 h411v-535q-63 -68 -164.5 -111t-234.5 -43q-129 0 -236.5 49.5t-183.5 140.5t-118 221t-42 292z" />
+<glyph unicode="H" horiz-adv-x="1294" d="M193 0v1350h94v-592h721v592h94v-1350h-94v676h-721v-676h-94z" />
+<glyph unicode="I" horiz-adv-x="477" d="M193 0v1350h94v-1350h-94z" />
+<glyph unicode="J" horiz-adv-x="931" d="M76 174l71 47q51 -86 113 -123t148 -37q123 0 183 75t60 241v973h94v-983q0 -82 -18 -153t-58 -124t-103.5 -84t-155.5 -31q-115 0 -198 51.5t-136 147.5z" />
+<glyph unicode="K" horiz-adv-x="1128" d="M193 0v1350h94v-750h4l653 750h111l-430 -500l489 -850h-108l-445 778l-274 -313v-465h-94z" />
+<glyph unicode="L" horiz-adv-x="942" d="M193 0v1350h94v-1268h620v-82h-714z" />
+<glyph unicode="M" horiz-adv-x="1431" d="M193 0v1350h131l282 -793l107 -299h8l104 299l281 793h133v-1350h-92v887q0 84 4 181t8 183h-8l-104 -297l-291 -807h-82l-291 807l-107 297h-8q4 -86 7.5 -183t3.5 -181v-887h-86z" />
+<glyph unicode="N" horiz-adv-x="1288" d="M193 0v1350h98l567 -953l154 -268h8q-4 98 -8 196.5t-4 196.5v828h88v-1350h-99l-567 952l-154 269h-8q4 -98 8.5 -191.5t4.5 -191.5v-838h-88z" />
+<glyph unicode="O" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t225.5 48q121 0 223 -48t176 -139t115 -219t41 -288t-41 -290t-115 -222t-176 -142.5t-223 -50.5q-123 0 -225.5 50.5t-176.5 142.5t-115 222t-41 290zM203 680q0 -141 32.5 -255t93 -194.5t146 -125t187.5 -44.5t186 44.5 t144.5 125t93 194.5t32.5 255q0 139 -32.5 251.5t-93 191.5t-144.5 122t-186 43t-187.5 -43t-146 -122t-93 -191.5t-32.5 -251.5z" />
+<glyph unicode="P" horiz-adv-x="1128" d="M193 0v1350h368q113 0 202 -19.5t150.5 -64.5t94 -117t32.5 -176q0 -199 -127 -296t-352 -97h-274v-580h-94zM287 659h250q209 0 308 74t99 240q0 86 -25.5 142t-75.5 91t-127 49.5t-179 14.5h-250v-611z" />
+<glyph unicode="Q" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t222.5 48q123 0 225.5 -48t176.5 -139t115 -219t41 -288q0 -152 -37 -276.5t-103.5 -216t-160 -145.5t-205.5 -65q47 -102 136 -155t216 -53q47 0 79 5t58 13l21 -82q-27 -8 -71 -15t-95 -7q-170 0 -284 83.5t-165 210.5 q-111 10 -203 64.5t-158.5 146t-103.5 216t-37 276.5zM203 680q0 -141 32.5 -255t92 -194.5t144.5 -125t187 -44.5t186.5 44.5t145 125t93 194.5t32.5 255q0 139 -32.5 251.5t-93 191.5t-144.5 122t-187 43q-102 0 -187 -43t-144.5 -122t-92 -191.5t-32.5 -251.5z" />
+<glyph unicode="R" horiz-adv-x="1132" d="M193 0v1350h385q100 0 182 -19.5t140 -62.5t90 -110.5t32 -164.5q0 -162 -93 -253t-253 -113l371 -627h-109l-365 621h-286v-621h-94zM287 698h266q180 0 275.5 73t95.5 222q0 152 -95.5 214.5t-275.5 62.5h-266v-572z" />
+<glyph unicode="S" horiz-adv-x="1052" d="M88 178l59 66q74 -84 176.5 -133.5t221.5 -49.5q154 0 245 75t91 196q0 63 -19.5 106t-52.5 75t-78 55.5t-94 45.5l-205 93q-43 18 -91 44.5t-88 66.5t-66.5 94.5t-26.5 129.5q0 74 29.5 134.5t82 104.5t124 68.5t155.5 24.5q123 0 219 -48t158 -114l-56 -63 q-59 63 -139 101t-182 38q-135 0 -216 -65.5t-81 -175.5q0 -59 22.5 -100.5t57.5 -71t76 -51t77 -38.5l205 -90q55 -25 106.5 -55.5t90.5 -71.5t62.5 -97t23.5 -134t-31 -144.5t-87 -114.5t-136 -76t-178 -28q-147 0 -261 56.5t-194 146.5z" />
+<glyph unicode="T" horiz-adv-x="1058" d="M53 1268v82h953v-82h-428v-1268h-95v1268h-430z" />
+<glyph unicode="U" horiz-adv-x="1284" d="M186 518v832h95v-822q0 -135 29.5 -224t78.5 -143.5t114.5 -77t137.5 -22.5q74 0 139.5 22.5t116.5 77t81 143.5t30 224v822h90v-832q0 -158 -39 -262t-102.5 -166.5t-146.5 -88.5t-169 -26q-88 0 -170 26t-145.5 88.5t-101.5 166.5t-38 262z" />
+<glyph unicode="V" horiz-adv-x="991" d="M2 1350h100l250 -789q18 -61 36 -116.5t34 -109.5t33.5 -109.5t38.5 -116.5h8q41 123 72.5 226t70.5 226l250 789h94l-440 -1350h-103z" />
+<glyph unicode="W" horiz-adv-x="1562" d="M49 1350h101l167 -795q25 -111 48.5 -220.5t46.5 -219.5h8q23 111 49.5 220t52.5 220l213 795h94l213 -795q27 -111 53.5 -220.5t53.5 -219.5h8q23 111 45.5 220t44.5 220l168 795h94l-303 -1350h-104l-246 926q-18 80 -35.5 152.5t-36.5 152.5h-8q-16 -80 -35.5 -152.5 t-38.5 -152.5l-241 -926h-105z" />
+<glyph unicode="X" horiz-adv-x="972" d="M29 0l403 698l-377 652h103l223 -398q27 -47 50.5 -88t57.5 -96h9q29 55 51 96t49 88l221 398h96l-376 -656l405 -694h-102l-236 414q-29 51 -58.5 102t-64.5 113h-8q-33 -61 -60.5 -112.5t-56.5 -102.5l-233 -414h-96z" />
+<glyph unicode="Y" horiz-adv-x="901" d="M-2 1350h100l205 -422q35 -74 70 -145.5t73 -145.5h9q39 74 75.5 145.5t71.5 145.5l205 422h96l-405 -803v-547h-95v547z" />
+<glyph unicode="Z" horiz-adv-x="1087" d="M94 0v55l778 1213h-708v82h825v-56l-776 -1212h784v-82h-903z" />
+<glyph unicode="[" horiz-adv-x="571" d="M201 -311v1761h327v-64h-256v-1638h256v-59h-327z" />
+<glyph unicode="\" horiz-adv-x="731" d="M10 1454h78l627 -1782h-82z" />
+<glyph unicode="]" horiz-adv-x="571" d="M43 -252h256v1638h-256v64h328v-1761h-328v59z" />
+<glyph unicode="^" d="M135 594l307 778h95l309 -778h-88l-158 416l-106 272h-9l-104 -272l-158 -416h-88z" />
+<glyph unicode="_" horiz-adv-x="1024" d="M25 -162h974v-78h-974v78z" />
+<glyph unicode="`" horiz-adv-x="1095" d="M367 1450h106l189 -279h-78z" />
+<glyph unicode="a" horiz-adv-x="1021" d="M133 246q0 162 153.5 248t481.5 122v20q0 46 -7 92q-9 56 -35 100t-72 72t-117 28q-100 0 -182.5 -39t-131.5 -76l-41 68q27 18 65 40.5t84 41t101 32t115 13.5q88 0 147.5 -30t96 -81t52 -119.5t15.5 -148.5v-629h-76l-10 127h-4q-76 -59 -163 -105.5t-185 -46.5 q-59 0 -110.5 16.5t-91.5 49.5t-62.5 84t-22.5 121zM227 250q0 -106 61.5 -151.5t145.5 -45.5q86 0 164 41t170 119v334q-152 -18 -255 -45t-166.5 -64t-91.5 -84t-28 -104z" />
+<glyph unicode="b" horiz-adv-x="1114" d="M188 0v1473h91v-426l-5 -193q76 63 162 108.5t178 45.5q197 0 295.5 -136.5t98.5 -365.5q0 -125 -35 -223.5t-95.5 -167t-139.5 -104.5t-165 -36q-72 0 -148.5 32t-145.5 85h-5l-10 -92h-76zM279 182q82 -70 157.5 -98.5t132.5 -28.5q74 0 137.5 33t108.5 92.5 t70.5 142.5t25.5 183q0 90 -17 168t-54 134t-96.5 88t-143.5 32q-74 0 -153.5 -42t-167.5 -120v-584z" />
+<glyph unicode="c" horiz-adv-x="919" d="M106 489q0 123 37 220.5t98.5 163t142.5 100.5t171 35q102 0 171 -37t118 -84l-53 -64q-47 45 -104.5 75t-129.5 30q-76 0 -140.5 -32t-112.5 -90t-75.5 -138t-27.5 -179q0 -96 25.5 -176t71.5 -137t112.5 -89t146.5 -32q78 0 144.5 33t117.5 80l47 -62q-63 -57 -141 -94 t-172 -37q-96 0 -177 35t-141.5 100.5t-94.5 160.5t-34 218z" />
+<glyph unicode="d" horiz-adv-x="1114" d="M106 489q0 119 35 215.5t95.5 164t139.5 103.5t167 36q90 0 156.5 -32t140.5 -89l-4 180v406h90v-1473h-78l-8 127h-6q-59 -59 -140.5 -105.5t-179.5 -46.5q-186 0 -297 132t-111 382zM203 489q0 -98 21.5 -178t62.5 -136t101.5 -88t137.5 -32q82 0 157 42t153 120v584 q-78 70 -146.5 98.5t-140.5 28.5q-74 0 -137.5 -34t-109.5 -92.5t-72.5 -139.5t-26.5 -173z" />
+<glyph unicode="e" horiz-adv-x="989" d="M106 489q0 121 36 217.5t96.5 163t137.5 102.5t159 36q176 0 276 -119t100 -336v-36.5t-4 -37.5h-708q2 -92 28.5 -171t74.5 -135t115.5 -88t151.5 -32q80 0 144.5 23.5t120.5 64.5l36 -69q-59 -35 -129.5 -66t-179.5 -31q-94 0 -177 35t-144.5 101.5t-97.5 161.5 t-36 216zM199 549h626q0 190 -77.5 285.5t-210.5 95.5q-63 0 -121 -26.5t-104 -76t-75.5 -120t-37.5 -158.5z" />
+<glyph unicode="f" horiz-adv-x="538" d="M68 905v70l135 8v219q0 147 63.5 221t179.5 74q72 0 144 -33l-25 -73q-31 16 -60.5 22t-58.5 6q-78 0 -115.5 -58t-37.5 -165v-213h227v-78h-227v-905h-90v905h-135z" />
+<glyph unicode="g" horiz-adv-x="997" d="M106 -201q0 66 39 127.5t107 110.5v8q-37 23 -61.5 61.5t-24.5 96.5q0 66 37 111.5t69 68.5v8q-47 41 -84.5 110.5t-37.5 160.5q0 76 26.5 139t73.5 109t110.5 72t135.5 26q41 0 73.5 -7.5t55.5 -17.5h333v-76h-229q47 -41 78 -105.5t31 -142.5q0 -76 -27 -139t-73 -109 t-108.5 -72t-133.5 -26q-41 0 -85 10.5t-79 30.5q-33 -27 -56.5 -59.5t-23.5 -81.5q0 -53 39 -91t149 -38h211q166 0 245 -54.5t79 -170.5q0 -63 -33 -124t-93.5 -107t-146.5 -73.5t-192 -27.5q-186 0 -295 73.5t-109 198.5zM193 -193q0 -92 84.5 -149t242.5 -57 q82 0 149.5 21.5t114.5 56t73 78.5t26 91q0 82 -58.5 116t-169.5 34h-211q-16 0 -50 3t-72 13q-68 -47 -98.5 -100.5t-30.5 -106.5zM240 662q0 -61 20.5 -112.5t56 -88.5t82 -56.5t97.5 -19.5t97 19.5t81 56.5t55.5 88t20.5 113q0 61 -20.5 112t-54.5 86t-81 54.5t-98 19.5 q-53 0 -99.5 -19.5t-81 -54.5t-55 -85t-20.5 -113z" />
+<glyph unicode="h" horiz-adv-x="1081" d="M188 0v1473h91v-426v-218q78 78 157.5 128.5t181.5 50.5q154 0 225.5 -92.5t71.5 -284.5v-631h-90v618q0 158 -52 233t-173 75q-88 0 -159.5 -46t-161.5 -139v-741h-91z" />
+<glyph unicode="i" horiz-adv-x="468" d="M154 1300q0 39 23.5 60.5t58.5 21.5t58 -21.5t23 -60.5q0 -35 -23 -57t-58 -22t-58.5 22.5t-23.5 56.5zM188 0v983h91v-983h-91z" />
+<glyph unicode="j" horiz-adv-x="468" d="M-68 -444l23 73q18 -6 46 -13t56 -7q82 0 106.5 60.5t24.5 154.5v1159h93v-1165q0 -145 -53.5 -216t-168.5 -71q-35 0 -69.5 7t-57.5 18zM154 1300q0 39 24.5 60.5t57.5 21.5q35 0 59 -21.5t24 -60.5q0 -35 -24 -57t-59 -22q-33 0 -57.5 22.5t-24.5 56.5z" />
+<glyph unicode="k" horiz-adv-x="950" d="M188 0v1473h91v-1086h4l485 596h104l-319 -389l373 -594h-101l-325 526l-221 -258v-268h-91z" />
+<glyph unicode="l" horiz-adv-x="485" d="M188 131v1342h91v-1354q0 -33 12 -48.5t31 -15.5h13t23 4l17 -73q-14 -4 -28.5 -7.5t-37.5 -3.5q-121 0 -121 156z" />
+<glyph unicode="m" horiz-adv-x="1662" d="M188 0v983h78l8 -152h7q66 76 146.5 126.5t162.5 50.5q119 0 182.5 -54.5t89.5 -146.5q86 92 167 146.5t167 54.5q295 0 295 -377v-631h-92v618q0 158 -53.5 233t-165.5 75q-133 0 -295 -185v-741h-90v618q0 158 -53.5 233t-168.5 75q-133 0 -294 -185v-741h-91z" />
+<glyph unicode="n" horiz-adv-x="1089" d="M188 0v983h78l8 -152h7q76 76 155.5 126.5t181.5 50.5q154 0 225.5 -92.5t71.5 -284.5v-631h-90v618q0 158 -52 233t-173 75q-88 0 -159.5 -46t-161.5 -139v-741h-91z" />
+<glyph unicode="o" horiz-adv-x="1095" d="M106 489q0 123 36 220.5t96.5 163t140.5 100.5t168 35t169 -35t141.5 -100.5t96 -163t35.5 -220.5t-35.5 -218t-96 -160.5t-141.5 -100.5t-169 -35t-168 35t-140.5 100.5t-96.5 160.5t-36 218zM201 489q0 -96 26.5 -176t72.5 -137t109.5 -89t137.5 -32t138.5 32t110.5 89 t72.5 137t26.5 176q0 98 -26.5 178.5t-72.5 138.5t-110.5 90t-138.5 32t-137.5 -32t-109.5 -90t-72.5 -138.5t-26.5 -178.5z" />
+<glyph unicode="p" horiz-adv-x="1114" d="M188 -444v1427h78l8 -123h7q72 57 156.5 102.5t176.5 45.5q197 0 295.5 -136.5t98.5 -365.5q0 -125 -35 -223.5t-95.5 -167t-139.5 -104.5t-165 -36q-70 0 -143.5 32t-150.5 89v-182v-358h-91zM279 182q86 -70 159.5 -98.5t130.5 -28.5q74 0 137.5 33t108.5 92.5 t70.5 142.5t25.5 183q0 90 -17 168t-54 134t-96.5 88t-143.5 32q-74 0 -152.5 -42t-168.5 -120v-584z" />
+<glyph unicode="q" horiz-adv-x="1099" d="M106 489q0 119 35 215.5t95.5 164t139.5 103.5t167 36q90 0 156.5 -31t136.5 -84h4l10 90h76v-1427h-90v378l4 191q-66 -59 -147 -104.5t-179 -45.5q-186 0 -297 132t-111 382zM203 489q0 -98 21.5 -178t62.5 -136t101.5 -88t137.5 -32q82 0 157 42t153 120v584 q-78 70 -146.5 98.5t-140.5 28.5q-74 0 -137.5 -34t-109.5 -92.5t-72.5 -139.5t-26.5 -173z" />
+<glyph unicode="r" horiz-adv-x="649" d="M188 0v983h78l8 -182h7q49 92 119.5 149.5t158.5 57.5q29 0 51.5 -5t46.5 -16l-20 -82q-25 10 -43.5 13.5t-46.5 3.5q-66 0 -138.5 -56.5t-129.5 -195.5v-670h-91z" />
+<glyph unicode="s" horiz-adv-x="829" d="M66 111l53 67q63 -53 135 -89t178 -36q117 0 175.5 58.5t58.5 136.5q0 45 -21.5 79.5t-56.5 59.5t-77 43.5t-85 34.5q-55 20 -111.5 42.5t-101.5 54.5t-72.5 76t-27.5 107q0 53 20.5 101.5t61.5 84.5t99 56.5t136 20.5t152.5 -29t128.5 -74l-49 -63q-49 37 -104.5 62.5 t-131.5 25.5q-57 0 -98 -15.5t-69 -40t-41 -57.5t-13 -65q0 -41 19.5 -71t52 -53.5t74.5 -41t85 -33.5q57 -23 114.5 -45.5t103.5 -55t75 -80.5t29 -120q0 -55 -21.5 -105.5t-64.5 -88.5t-104.5 -60.5t-141.5 -22.5q-111 0 -203 40t-157 96z" />
+<glyph unicode="t" horiz-adv-x="638" d="M57 905v70l156 8l12 285h78v-285h285v-78h-285v-641q0 -47 7 -85t25.5 -65.5t50.5 -43t83 -15.5q29 0 62.5 9.5t60.5 21.5l24 -74q-43 -16 -86 -26.5t-73 -10.5q-72 0 -119 21.5t-76 60.5t-40 94.5t-11 120.5v633h-154z" />
+<glyph unicode="u" horiz-adv-x="1083" d="M174 352v631h90v-618q0 -158 52.5 -233t170.5 -75q88 0 160 48.5t158 152.5v725h90v-983h-76l-10 164h-4q-72 -86 -152 -137.5t-182 -51.5q-154 0 -225.5 92.5t-71.5 284.5z" />
+<glyph unicode="v" horiz-adv-x="888" d="M25 983h98l221 -616q23 -72 49.5 -143.5t48.5 -139.5h9q25 68 50 139.5t50 143.5l221 616h92l-364 -983h-107z" />
+<glyph unicode="w" horiz-adv-x="1402" d="M49 983h98l177 -637q18 -68 34.5 -132t32.5 -130h8q16 66 35 130.5t37 131.5l178 637h109l178 -637q18 -68 36.5 -132t37.5 -130h8q16 66 34.5 130.5t34.5 131.5l175 637h92l-283 -983h-119l-172 610q-23 72 -38 140.5t-37 140.5h-9q-16 -72 -35.5 -142.5t-42.5 -142.5 l-169 -606h-109z" />
+<glyph unicode="x" horiz-adv-x="833" d="M29 0l333 514l-307 469h101l159 -250q25 -41 50.5 -81t54.5 -81h8q27 41 50.5 81t49.5 81l154 250h94l-305 -477l334 -506h-100l-175 268q-29 47 -57.5 92.5t-58.5 88.5h-8q-29 -43 -56.5 -88.5t-56.5 -92.5l-168 -268h-96z" />
+<glyph unicode="y" horiz-adv-x="892" d="M25 983h98l237 -618q23 -61 50.5 -135t56.5 -140h8q23 66 46.5 139.5t43.5 135.5l211 618h92l-389 -1106q-20 -61 -50 -119.5t-70 -104.5t-92 -74t-117 -28q-55 0 -101 21l21 80q16 -6 36.5 -11.5t43.5 -5.5q92 0 153.5 74t97.5 187l27 86z" />
+<glyph unicode="z" horiz-adv-x="827" d="M55 0v49l582 856h-518v78h635v-47l-580 -856h600v-80h-719z" />
+<glyph unicode="{" horiz-adv-x="571" d="M72 537v65q53 0 88 14.5t54 37t26.5 51t7.5 59.5q0 98 -8.5 208.5t-8.5 215.5q0 152 56.5 207t167.5 55h73v-64h-67q-92 0 -123 -49t-31 -157q0 -94 6 -194.5t6 -199.5q0 -92 -21.5 -143t-82.5 -70v-8q61 -18 82.5 -71.5t21.5 -141.5q0 -111 -6 -202t-6 -191 q0 -109 31 -160t123 -51h67v-59h-73q-55 0 -97.5 12t-70 42t-42 80t-14.5 128q0 115 8.5 214t8.5 206q0 31 -7.5 61.5t-26.5 53t-54 37t-88 14.5z" />
+<glyph unicode="|" horiz-adv-x="462" d="M195 -512v2048h73v-2048h-73z" />
+<glyph unicode="}" horiz-adv-x="571" d="M43 -252h63q94 0 126 51t32 160q0 100 -6 191.5t-6 201.5q0 88 22.5 141.5t81.5 71.5v8q-59 18 -81.5 69.5t-22.5 143.5q0 98 6 198.5t6 195.5q0 109 -31.5 157.5t-126.5 48.5h-63v64h70q113 0 170 -55.5t57 -206.5q0 -104 -8 -215t-8 -209q0 -31 7 -59.5t26.5 -51 t54 -37t88.5 -14.5v-65q-53 0 -88 -14.5t-54.5 -37t-26.5 -53.5t-7 -61q0 -106 8 -205.5t8 -214.5q0 -78 -14.5 -128t-43 -80t-70.5 -42t-99 -12h-70v59z" />
+<glyph unicode="~" d="M82 637q45 86 105.5 128t119.5 42t107.5 -28.5t92.5 -63.5t85 -63.5t86 -28.5q47 0 86 28.5t76 100.5l57 -41q-43 -84 -103.5 -125t-119.5 -41t-107.5 28.5t-92.5 63.5t-85 63.5t-86 28.5q-47 0 -86 -28.5t-76 -100.5z" />
+<glyph unicode="&#xa1;" horiz-adv-x="530" d="M178 918q0 41 26.5 65.5t61.5 24.5t60.5 -24.5t25.5 -65.5q0 -47 -25.5 -72t-60.5 -25t-61.5 24.5t-26.5 72.5zM219 -244l12 860h68l12 -860l2 -145h-94v145z" />
+<glyph unicode="&#xa2;" d="M127 637q0 106 30.5 189t85 143.5t126 95.5t153.5 43v227h70v-223q98 -4 163.5 -40t112.5 -83l-49 -57q-47 41 -102 68.5t-125 31.5v-788q76 4 139.5 34.5t112.5 75.5l47 -59q-59 -55 -134 -91t-165 -40v-221h-70v223q-86 8 -158.5 43t-125 95.5t-82 144t-29.5 188.5z M219 637q0 -160 81 -264.5t222 -124.5v780q-66 -10 -122 -43t-96 -83t-62.5 -117.5t-22.5 -147.5z" />
+<glyph unicode="&#xa3;" d="M111 600v68l135 6h49q-23 78 -44.5 154.5t-21.5 156.5q0 162 93.5 255t255.5 93q106 0 176.5 -43t117.5 -102l-59 -55q-43 51 -98.5 85.5t-136.5 34.5q-63 0 -111.5 -20.5t-80.5 -57t-48 -86t-16 -104.5q0 -82 21.5 -156.5t43.5 -154.5h338v-74h-322q8 -35 12.5 -70.5 t4.5 -76.5q0 -127 -39 -211t-109 -152v-8h605v-82h-760v55q115 66 166 172.5t51 225.5q0 39 -5 75.5t-14 71.5h-204z" />
+<glyph unicode="&#xa4;" d="M61 291l136 137q-37 49 -57.5 110.5t-20.5 133.5q0 74 20.5 137t57.5 113l-136 139l56 57l135 -141q47 43 109.5 66.5t127.5 23.5q66 0 128.5 -23.5t109.5 -66.5l137 141l54 -57l-136 -139q37 -49 57.5 -113t20.5 -137q0 -72 -20.5 -133.5t-55.5 -110.5l134 -137l-54 -58 l-137 140q-47 -45 -109.5 -68.5t-128.5 -23.5q-135 0 -237 92l-135 -140zM209 672q0 -70 22.5 -128.5t60.5 -99.5t89 -64.5t108 -23.5t108.5 23.5t89.5 64.5t60.5 99.5t22.5 128.5t-22.5 129t-60.5 101t-89 65.5t-109 23.5q-57 0 -108 -23.5t-89 -65.5t-60.5 -101 t-22.5 -129z" />
+<glyph unicode="&#xa5;" d="M61 1309h99l192 -396l66 -136t69 -144h9q39 76 70.5 144.5t66.5 135.5l192 396h95l-357 -688h316v-68h-344v-145h344v-70h-344v-338h-93v338h-340v70h340v145h-340v68h312z" />
+<glyph unicode="&#xa6;" horiz-adv-x="462" d="M195 451h73v-963h-73v963zM195 571v965h73v-965h-73z" />
+<glyph unicode="&#xa7;" d="M102 721q0 98 52.5 162.5t130.5 105.5q-31 31 -49.5 72t-18.5 94q0 43 16.5 86t51 77t86 55.5t123.5 21.5q86 0 157.5 -31t128.5 -78l-49 -63q-49 41 -103.5 67.5t-131.5 26.5q-51 0 -88 -13.5t-59.5 -35t-34 -50t-11.5 -57.5q0 -68 43 -109.5t106.5 -75.5t138.5 -63.5 t138.5 -71.5t106.5 -103.5t43 -155.5q0 -102 -50.5 -161t-128.5 -102q33 -33 51.5 -74.5t18.5 -97.5q0 -55 -23.5 -102t-63.5 -81t-93 -52t-113 -18q-106 0 -188 35.5t-142 93.5l62 57q53 -49 113.5 -80t154.5 -31t149.5 51.5t55.5 122.5q0 70 -43 114t-107.5 77 t-139.5 62.5t-139.5 70.5t-107.5 100.5t-43 153.5zM188 727q0 -80 46.5 -130t115 -86t146 -66.5t143.5 -73.5q74 35 114 78t40 126q0 82 -46.5 134.5t-115 89.5t-146 68.5t-141.5 72.5q-70 -41 -113 -88t-43 -125z" />
+<glyph unicode="&#xa8;" horiz-adv-x="1095" d="M311 1300q0 31 20.5 52.5t53.5 21.5t54.5 -21.5t21.5 -52.5q0 -33 -21.5 -54t-54.5 -21t-53.5 21.5t-20.5 53.5zM633 1300q0 31 21.5 52.5t54.5 21.5t53.5 -21.5t20.5 -52.5q0 -33 -20.5 -54t-53.5 -21t-54.5 21.5t-21.5 53.5z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1517" d="M104 659q0 154 52.5 279t142.5 213t209 136t252 48q131 0 249.5 -48t209 -136t142.5 -213t52 -279q0 -156 -52 -281.5t-142.5 -214.5t-209 -138.5t-249.5 -49.5q-133 0 -252 49.5t-209 138.5t-142.5 214.5t-52.5 281.5zM176 659q0 -139 47 -253.5t127 -195.5t185.5 -126 t224.5 -45q117 0 222 45t185 126t127 195.5t47 253.5q0 137 -47 251t-127 195t-185 125t-222 44q-119 0 -224.5 -44t-185.5 -125t-127 -195t-47 -251zM412 659q0 88 30.5 160t80.5 121t117 75.5t140 26.5q82 0 139.5 -31.5t106.5 -80.5l-47 -53q-47 45 -93 67.5t-108 22.5 q-123 0 -200.5 -84t-77.5 -224q0 -154 74.5 -241.5t199.5 -87.5q74 0 131.5 29.5t104.5 72.5l41 -57q-55 -49 -119 -85t-162 -36q-74 0 -138.5 27.5t-113.5 80t-77.5 127t-28.5 170.5z" />
+<glyph unicode="&#xaa;" horiz-adv-x="690" d="M86 702q0 109 100.5 165.5t321.5 76.5q0 39 -7 74t-23.5 60.5t-43 40t-69.5 14.5q-61 0 -123 -26t-97 -50l-30 55q41 29 109.5 58.5t148.5 29.5q119 0 165 -70.5t46 -187.5v-410h-62l-12 80h-8q-43 -37 -97 -66.5t-120 -29.5q-88 0 -143.5 49t-55.5 137zM166 709 q0 -66 37 -96.5t100 -30.5q96 0 205 100v209q-190 -20 -266 -66.5t-76 -115.5z" />
+<glyph unicode="&#xab;" horiz-adv-x="819" d="M88 477v78l281 330l51 -43l-252 -326l252 -330l-51 -39zM377 477v78l281 330l51 -43l-252 -326l252 -330l-51 -39z" />
+<glyph unicode="&#xac;" d="M70 637v78h841v-490h-84v412h-757z" />
+<glyph unicode="&#xad;" horiz-adv-x="612" d="M82 471v80h450v-80h-450z" />
+<glyph unicode="&#xae;" horiz-adv-x="821" d="M37 1059q0 90 29.5 163.5t81 126t119 81t143.5 28.5t144.5 -28.5t118.5 -81t79.5 -126t29.5 -163.5t-29.5 -163t-79.5 -124t-118.5 -79.5t-144.5 -28.5t-143.5 28.5t-119 79.5t-81 124t-29.5 163zM100 1059q0 -74 25 -135.5t65.5 -105.5t97 -69.5t122.5 -25.5 q63 0 120.5 25.5t98.5 69.5t65.5 105.5t24.5 135.5t-24.5 136t-65.5 108.5t-98.5 72t-120.5 25.5q-66 0 -122.5 -25.5t-97 -72t-65.5 -108.5t-25 -136zM270 856v422h142q31 0 58.5 -6t50 -21.5t35.5 -40t13 -63.5t-23.5 -72t-58.5 -43l101 -176h-76l-80 156h-96v-156h-66z M336 1067h59q47 0 76 17.5t29 58.5q0 35 -21.5 56.5t-77.5 21.5h-65v-154z" />
+<glyph unicode="&#xaf;" horiz-adv-x="1095" d="M316 1241v74h462v-74h-462z" />
+<glyph unicode="&#xb0;" horiz-adv-x="636" d="M86 1157q0 57 19.5 102.5t52 77t74.5 48t87 16.5t87.5 -16.5t75 -48t52 -77t19.5 -102.5t-19.5 -102t-52 -76t-75 -47.5t-87.5 -16.5t-87 16.5t-74.5 47.5t-52 76t-19.5 102zM156 1157q0 -76 45.5 -126t117.5 -50t118 50t46 126q0 78 -46 129t-118 51t-117.5 -51 t-45.5 -129z" />
+<glyph unicode="&#xb1;" d="M70 0v76h841v-76h-841zM70 635v76h379v415h83v-415h379v-76h-379v-412h-83v412h-379z" />
+<glyph unicode="&#xb2;" horiz-adv-x="741" d="M96 1575q37 61 103.5 105t142.5 44q111 0 179.5 -62.5t68.5 -189.5q0 -63 -25.5 -120.5t-70.5 -117t-110 -124t-140 -139.5h393v-70h-522v51q102 94 177 168t123 133.5t71.5 109.5t23.5 101q0 88 -48 139.5t-128 51.5q-55 0 -103.5 -37t-83.5 -90z" />
+<glyph unicode="&#xb3;" horiz-adv-x="741" d="M82 1030l59 45q37 -59 95.5 -95t128.5 -36q76 0 131 44t55 126q0 78 -76 121t-207 43v57q121 0 185.5 51.5t64.5 120.5q0 66 -46 108t-124 42q-47 0 -95 -30t-87 -77l-51 45q43 55 103.5 92t137.5 37q100 0 171 -55t71 -156q0 -76 -44 -126t-110 -76q37 -6 70 -22.5 t59.5 -41t42 -58.5t15.5 -77q0 -55 -20.5 -99t-57.5 -74t-86 -46.5t-105 -16.5q-94 0 -166.5 46.5t-113.5 107.5z" />
+<glyph unicode="&#xb4;" horiz-adv-x="1095" d="M432 1171l189 279h106l-217 -279h-78z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1099" d="M188 -410v1393h91v-618q0 -158 53 -233t172 -75q88 0 158.5 48.5t158.5 152.5v725h90v-983h-77l-9 164h-6q-70 -86 -146.5 -136.5t-174.5 -50.5q-76 0 -129.5 23t-94.5 90l5 -184v-316h-91z" />
+<glyph unicode="&#xb6;" horiz-adv-x="1054" d="M86 924q0 115 35 195.5t98.5 132t151.5 75t192 23.5h90v-850h-57q-113 0 -207 23.5t-161.5 73.5t-104.5 131t-37 196zM764 -164v1514h94v-1514h-94z" />
+<glyph unicode="&#xb7;" horiz-adv-x="448" d="M137 660q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68z" />
+<glyph unicode="&#xb8;" horiz-adv-x="1095" d="M413 -365q86 12 138.5 37t52.5 68q0 47 -39 69.5t-98 38.5l82 156h71l-59 -115q49 -16 86 -47.5t37 -93.5q0 -41 -21.5 -70.5t-57.5 -50t-82 -34t-95 -19.5z" />
+<glyph unicode="&#xb9;" horiz-adv-x="741" d="M193 1565v55q59 12 101 31.5t77 48.5h67v-799h-78v664h-167z" />
+<glyph unicode="&#xba;" horiz-adv-x="737" d="M68 858q0 82 23.5 145.5t63.5 107.5t95 66.5t117 22.5q61 0 116.5 -22.5t95 -66.5t63.5 -107.5t24 -145.5q0 -80 -24 -143.5t-63.5 -107.5t-95 -67.5t-116.5 -23.5t-116.5 23.5t-95.5 67.5t-63.5 107.5t-23.5 143.5zM147 858q0 -123 61 -198.5t159 -75.5t158.5 75.5 t60.5 198.5t-60.5 199t-158.5 76t-159 -76t-61 -199z" />
+<glyph unicode="&#xbb;" horiz-adv-x="819" d="M111 186l249 330l-249 326l49 43l282 -330v-78l-282 -330zM400 186l249 330l-249 326l49 43l282 -330v-78l-282 -330z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1564" d="M152 1215v55q59 12 101 31.5t77 48.5h67v-799h-78v664h-167zM362 -25l754 1399h78l-752 -1399h-80zM917 233v43l363 523h73v-500h119v-66h-119v-233h-73v233h-363zM1016 299h264v178l8 213h-8l-115 -170z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1609" d="M152 1215v55q59 12 101 31.5t77 48.5h67v-799h-78v664h-167zM315 -25l754 1399h78l-752 -1399h-80zM964 674q37 61 103.5 105t142.5 44q111 0 179.5 -62.5t68.5 -189.5q0 -63 -25.5 -120.5t-70.5 -117t-110 -124t-140 -139.5h393v-70h-522v51q102 94 177 168t123 133.5 t71.5 109.5t23.5 101q0 88 -48 139.5t-128 51.5q-55 0 -103.5 -37t-83.5 -90z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1603" d="M82 680l59 45q37 -59 95.5 -95t128.5 -36q76 0 131 44t55 126q0 78 -76 121t-207 43v57q121 0 185.5 51.5t64.5 120.5q0 66 -46 108t-124 42q-47 0 -95 -30t-87 -77l-51 45q43 55 103.5 92t137.5 37q100 0 171 -55t71 -156q0 -76 -44 -126t-110 -76q37 -6 70 -22.5 t59.5 -41t42 -58.5t15.5 -77q0 -55 -20.5 -99t-57.5 -74t-86 -46.5t-105 -16.5q-94 0 -166.5 46.5t-113.5 107.5zM459 -25l754 1399h78l-752 -1399h-80zM956 233v43l363 523h73v-500h119v-66h-119v-233h-73v233h-363zM1055 299h264v178l8 213h-8l-115 -170z" />
+<glyph unicode="&#xbf;" horiz-adv-x="823" d="M104 -100q0 70 26 128t62.5 112.5t78.5 105.5t76 107.5t52.5 121t8.5 141.5h84q10 -84 -7.5 -152.5t-50.5 -126.5t-74 -109.5t-77.5 -101.5t-61 -103.5t-24.5 -116.5q0 -47 13 -90t42 -77t73 -53.5t105 -19.5q74 0 142.5 35t119.5 96l58 -51q-59 -66 -140.5 -113 t-185.5 -47q-76 0 -135.5 23.5t-100.5 65.5t-62.5 99.5t-21.5 125.5zM356 918q0 41 26 65.5t60 24.5q35 0 60.5 -24.5t25.5 -65.5q0 -47 -25.5 -72t-60.5 -25t-60.5 24.5t-25.5 72.5z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1062" d="M8 0l477 1350h95l475 -1350h-101l-157 463h-535l-158 -463h-96zM291 543h479l-86 252q-41 121 -78 231.5t-71 235.5h-9q-35 -125 -71.5 -236t-77.5 -231zM299 1669h118l189 -217h-82z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1062" d="M8 0l477 1350h95l475 -1350h-101l-157 463h-535l-158 -463h-96zM291 543h479l-86 252q-41 121 -78 231.5t-71 235.5h-9q-35 -125 -71.5 -236t-77.5 -231zM454 1452l189 217h118l-225 -217h-82z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1062" d="M8 0l477 1350h95l475 -1350h-101l-157 463h-535l-158 -463h-96zM290 1452l197 217h86l197 -217h-82l-154 147h-8l-154 -147h-82zM291 543h479l-86 252q-41 121 -78 231.5t-71 235.5h-9q-35 -125 -71.5 -236t-77.5 -231z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1062" d="M8 0l477 1350h95l475 -1350h-101l-157 463h-535l-158 -463h-96zM264 1466q2 35 12 69t28.5 60.5t44 43t60.5 16.5q41 0 72 -18.5t58.5 -40t55 -39t58.5 -17.5q33 0 55.5 31t28.5 84h59q-2 -35 -12 -68t-28.5 -60.5t-44 -44t-60.5 -16.5q-41 0 -73 18.5t-59.5 40t-54 40 t-57.5 18.5q-33 0 -55.5 -31.5t-28.5 -85.5h-59zM291 543h479l-86 252q-41 121 -78 231.5t-71 235.5h-9q-35 -125 -71.5 -236t-77.5 -231z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1062" d="M8 0l477 1350h95l475 -1350h-101l-157 463h-535l-158 -463h-96zM291 543h479l-86 252q-41 121 -78 231.5t-71 235.5h-9q-35 -125 -71.5 -236t-77.5 -231zM294 1559q0 35 20.5 55t53.5 20t54.5 -20.5t21.5 -54.5q0 -35 -21.5 -54.5t-54.5 -19.5t-53.5 19.5t-20.5 54.5z M616 1559q0 35 21.5 55t54.5 20t53.5 -20.5t20.5 -54.5q0 -35 -20.5 -54.5t-53.5 -19.5t-54.5 19.5t-21.5 54.5z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1062" d="M8 0l477 1350h95l475 -1350h-101l-157 463h-535l-158 -463h-96zM291 543h479l-86 252q-41 121 -78 231.5t-71 235.5h-9q-35 -125 -71.5 -236t-77.5 -231zM362 1602q0 76 48 121.5t120 45.5q70 0 119 -46t49 -121q0 -78 -49 -123t-119 -45q-72 0 -120 45t-48 123z M424 1602q0 -57 30.5 -86t75.5 -29q41 0 72.5 28.5t31.5 86.5q0 53 -31.5 83.5t-72.5 30.5q-45 0 -75.5 -30.5t-30.5 -83.5z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1642" d="M37 0l745 1350h752v-82h-606v-510h502v-82h-502v-594h626v-82h-720v444h-459l-244 -444h-94zM418 522h416v746h-9q-61 -115 -126.5 -232.5t-131.5 -240.5z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1140" d="M104 678q0 160 42 289t118 220t182.5 139t235.5 48q119 0 208 -49t142 -113l-55 -61q-55 61 -129 99t-166 38q-111 0 -200 -43t-150.5 -122t-95 -191.5t-33.5 -253.5t32.5 -255t94 -193.5t148.5 -124t196 -44.5q104 0 186 41t156 125l55 -59q-78 -90 -173 -141.5 t-228 -51.5q-125 0 -228.5 49.5t-178.5 140.5t-117 221t-42 292zM534 -365q86 12 138.5 37t52.5 68q0 47 -39 69.5t-98 38.5l82 156h71l-59 -115q49 -16 86 -47.5t37 -93.5q0 -41 -21.5 -70.5t-57.5 -50t-82 -34t-95 -19.5z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1038" d="M193 0v1350h737v-82h-643v-510h540v-82h-540v-594h663v-82h-757zM338 1669h118l189 -217h-82z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1038" d="M193 0v1350h737v-82h-643v-510h540v-82h-540v-594h663v-82h-757zM493 1452l189 217h118l-225 -217h-82z" />
+<glyph unicode="&#xca;" horiz-adv-x="1038" d="M193 0v1350h737v-82h-643v-510h540v-82h-540v-594h663v-82h-757zM329 1452l197 217h86l197 -217h-82l-154 147h-8l-154 -147h-82z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1038" d="M193 0v1350h737v-82h-643v-510h540v-82h-540v-594h663v-82h-757zM333 1559q0 35 20.5 55t53.5 20t54.5 -20.5t21.5 -54.5q0 -35 -21.5 -54.5t-54.5 -19.5t-53.5 19.5t-20.5 54.5zM655 1559q0 35 21.5 55t54.5 20t53.5 -20.5t20.5 -54.5q0 -35 -20.5 -54.5t-53.5 -19.5 t-54.5 19.5t-21.5 54.5z" />
+<glyph unicode="&#xcc;" horiz-adv-x="477" d="M7 1669h118l189 -217h-82zM193 0v1350h94v-1350h-94z" />
+<glyph unicode="&#xcd;" horiz-adv-x="477" d="M162 1452l189 217h118l-225 -217h-82zM193 0v1350h94v-1350h-94z" />
+<glyph unicode="&#xce;" horiz-adv-x="477" d="M-2 1452l197 217h86l197 -217h-82l-154 147h-8l-154 -147h-82zM193 0v1350h94v-1350h-94z" />
+<glyph unicode="&#xcf;" horiz-adv-x="477" d="M2 1559q0 35 20.5 55t53.5 20t54.5 -20.5t21.5 -54.5q0 -35 -21.5 -54.5t-54.5 -19.5t-53.5 19.5t-20.5 54.5zM193 0v1350h94v-1350h-94zM324 1559q0 35 21.5 55t54.5 20t53.5 -20.5t20.5 -54.5q0 -35 -20.5 -54.5t-53.5 -19.5t-54.5 19.5t-21.5 54.5z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1261" d="M68 680v63l159 5v602h312q156 0 271.5 -47.5t191 -135.5t113.5 -210.5t38 -276.5t-38 -280t-113.5 -215t-190.5 -137t-270 -48h-314v680h-159zM322 80h206q137 0 236.5 44t164 124t95.5 189.5t31 242.5q0 131 -31 239.5t-95.5 186.5t-163.5 121t-237 43h-206v-522h340 v-68h-340v-600z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1288" d="M193 0v1350h98l567 -953l154 -268h8q-4 98 -8 196.5t-4 196.5v828h88v-1350h-99l-567 952l-154 269h-8q4 -98 8.5 -191.5t4.5 -191.5v-838h-88zM387 1466q2 35 12 69t28.5 60.5t44 43t60.5 16.5q41 0 72 -18.5t58.5 -40t55 -39t58.5 -17.5q33 0 55.5 31t28.5 84h59 q-2 -35 -12 -68t-28.5 -60.5t-44 -44t-60.5 -16.5q-41 0 -73 18.5t-59.5 40t-54 40t-57.5 18.5q-33 0 -55.5 -31.5t-28.5 -85.5h-59z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t225.5 48q121 0 223 -48t176 -139t115 -219t41 -288t-41 -290t-115 -222t-176 -142.5t-223 -50.5q-123 0 -225.5 50.5t-176.5 142.5t-115 222t-41 290zM203 680q0 -141 32.5 -255t93 -194.5t146 -125t187.5 -44.5t186 44.5 t144.5 125t93 194.5t32.5 255q0 139 -32.5 251.5t-93 191.5t-144.5 122t-186 43t-187.5 -43t-146 -122t-93 -191.5t-32.5 -251.5zM428 1669h118l189 -217h-82z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t225.5 48q121 0 223 -48t176 -139t115 -219t41 -288t-41 -290t-115 -222t-176 -142.5t-223 -50.5q-123 0 -225.5 50.5t-176.5 142.5t-115 222t-41 290zM203 680q0 -141 32.5 -255t93 -194.5t146 -125t187.5 -44.5t186 44.5 t144.5 125t93 194.5t32.5 255q0 139 -32.5 251.5t-93 191.5t-144.5 122t-186 43t-187.5 -43t-146 -122t-93 -191.5t-32.5 -251.5zM583 1452l189 217h118l-225 -217h-82z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t225.5 48q121 0 223 -48t176 -139t115 -219t41 -288t-41 -290t-115 -222t-176 -142.5t-223 -50.5q-123 0 -225.5 50.5t-176.5 142.5t-115 222t-41 290zM203 680q0 -141 32.5 -255t93 -194.5t146 -125t187.5 -44.5t186 44.5 t144.5 125t93 194.5t32.5 255q0 139 -32.5 251.5t-93 191.5t-144.5 122t-186 43t-187.5 -43t-146 -122t-93 -191.5t-32.5 -251.5zM419 1452l197 217h86l197 -217h-82l-154 147h-8l-154 -147h-82z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t225.5 48q121 0 223 -48t176 -139t115 -219t41 -288t-41 -290t-115 -222t-176 -142.5t-223 -50.5q-123 0 -225.5 50.5t-176.5 142.5t-115 222t-41 290zM203 680q0 -141 32.5 -255t93 -194.5t146 -125t187.5 -44.5t186 44.5 t144.5 125t93 194.5t32.5 255q0 139 -32.5 251.5t-93 191.5t-144.5 122t-186 43t-187.5 -43t-146 -122t-93 -191.5t-32.5 -251.5zM393 1466q2 35 12 69t28.5 60.5t44 43t60.5 16.5q41 0 72 -18.5t58.5 -40t55 -39t58.5 -17.5q33 0 55.5 31t28.5 84h59q-2 -35 -12 -68 t-28.5 -60.5t-44 -44t-60.5 -16.5q-41 0 -73 18.5t-59.5 40t-54 40t-57.5 18.5q-33 0 -55.5 -31.5t-28.5 -85.5h-59z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t225.5 48q121 0 223 -48t176 -139t115 -219t41 -288t-41 -290t-115 -222t-176 -142.5t-223 -50.5q-123 0 -225.5 50.5t-176.5 142.5t-115 222t-41 290zM203 680q0 -141 32.5 -255t93 -194.5t146 -125t187.5 -44.5t186 44.5 t144.5 125t93 194.5t32.5 255q0 139 -32.5 251.5t-93 191.5t-144.5 122t-186 43t-187.5 -43t-146 -122t-93 -191.5t-32.5 -251.5zM423 1559q0 35 20.5 55t53.5 20t54.5 -20.5t21.5 -54.5q0 -35 -21.5 -54.5t-54.5 -19.5t-53.5 19.5t-20.5 54.5zM745 1559q0 35 21.5 55 t54.5 20t53.5 -20.5t20.5 -54.5q0 -35 -20.5 -54.5t-53.5 -19.5t-54.5 19.5t-21.5 54.5z" />
+<glyph unicode="&#xd7;" d="M104 334l332 342l-332 342l56 57l329 -346l332 346l53 -57l-329 -342l329 -342l-53 -58l-332 345l-329 -345z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t225.5 48q109 0 200.5 -38t163.5 -109l127 170l57 -45l-137 -183q68 -90 106 -212.5t38 -276.5q0 -160 -41 -290t-115 -222t-176.5 -142.5t-222.5 -50.5q-219 0 -365 152l-131 -174l-60 45l140 188q-66 92 -104 216t-38 278z M203 680q0 -127 26.5 -232.5t75.5 -183.5l664 887q-59 66 -137 101.5t-170 35.5q-102 0 -187.5 -43t-146 -122t-93 -191.5t-32.5 -251.5zM352 203q59 -68 137 -105t173 -37q102 0 186 44.5t144.5 125t93 194.5t32.5 255q0 127 -26.5 229.5t-75.5 180.5z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1284" d="M186 518v832h95v-822q0 -135 29.5 -224t78.5 -143.5t114.5 -77t137.5 -22.5q74 0 139.5 22.5t116.5 77t81 143.5t30 224v822h90v-832q0 -158 -39 -262t-102.5 -166.5t-146.5 -88.5t-169 -26q-88 0 -170 26t-145.5 88.5t-101.5 166.5t-38 262zM410 1669h118l189 -217h-82z " />
+<glyph unicode="&#xda;" horiz-adv-x="1284" d="M186 518v832h95v-822q0 -135 29.5 -224t78.5 -143.5t114.5 -77t137.5 -22.5q74 0 139.5 22.5t116.5 77t81 143.5t30 224v822h90v-832q0 -158 -39 -262t-102.5 -166.5t-146.5 -88.5t-169 -26q-88 0 -170 26t-145.5 88.5t-101.5 166.5t-38 262zM565 1452l189 217h118 l-225 -217h-82z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1284" d="M186 518v832h95v-822q0 -135 29.5 -224t78.5 -143.5t114.5 -77t137.5 -22.5q74 0 139.5 22.5t116.5 77t81 143.5t30 224v822h90v-832q0 -158 -39 -262t-102.5 -166.5t-146.5 -88.5t-169 -26q-88 0 -170 26t-145.5 88.5t-101.5 166.5t-38 262zM401 1452l197 217h86 l197 -217h-82l-154 147h-8l-154 -147h-82z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1284" d="M186 518v832h95v-822q0 -135 29.5 -224t78.5 -143.5t114.5 -77t137.5 -22.5q74 0 139.5 22.5t116.5 77t81 143.5t30 224v822h90v-832q0 -158 -39 -262t-102.5 -166.5t-146.5 -88.5t-169 -26q-88 0 -170 26t-145.5 88.5t-101.5 166.5t-38 262zM405 1559q0 35 20.5 55 t53.5 20t54.5 -20.5t21.5 -54.5q0 -35 -21.5 -54.5t-54.5 -19.5t-53.5 19.5t-20.5 54.5zM727 1559q0 35 21.5 55t54.5 20t53.5 -20.5t20.5 -54.5q0 -35 -20.5 -54.5t-53.5 -19.5t-54.5 19.5t-21.5 54.5z" />
+<glyph unicode="&#xdd;" horiz-adv-x="901" d="M-2 1350h100l205 -422q35 -74 70 -145.5t73 -145.5h9q39 74 75.5 145.5t71.5 145.5l205 422h96l-405 -803v-547h-95v547zM375 1452l189 217h118l-225 -217h-82z" />
+<glyph unicode="&#xde;" horiz-adv-x="1150" d="M193 0v1350h94v-240h274q113 0 202 -20.5t151.5 -64.5t95 -115.5t32.5 -176.5q0 -199 -127 -296t-354 -97h-274v-340h-94zM287 420h250q209 0 308 73.5t99 239.5q0 168 -100.5 232.5t-306.5 64.5h-250v-610z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1110" d="M188 0v1090q0 190 95.5 296.5t255.5 106.5q68 0 120 -21.5t88.5 -58.5t56 -87t19.5 -107q0 -80 -31.5 -136.5t-69.5 -104.5t-69.5 -96t-31.5 -110q0 -59 31.5 -96t79.5 -64.5t103.5 -54.5t103.5 -63.5t80 -92t32 -141.5q0 -61 -22.5 -112.5t-62.5 -90.5t-94.5 -60.5 t-119.5 -21.5q-80 0 -150 29t-129 76l45 67q59 -47 113.5 -70.5t120.5 -23.5q51 0 90 17.5t64.5 45t38.5 64.5t13 76q0 72 -31.5 117t-78.5 76.5t-103.5 57t-103.5 58.5t-79 79t-32 120t32 127t69 101t68.5 98.5t31.5 119.5q0 90 -48 147.5t-146 57.5q-117 0 -187.5 -86 t-70.5 -270v-1059h-91z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1021" d="M133 246q0 162 153.5 248t481.5 122q2 55 -7 111.5t-35 100.5t-72 72t-117 28q-100 0 -182.5 -39t-131.5 -76l-41 68q27 18 65 40.5t84 41t101 32t115 13.5q88 0 147.5 -30t96 -81t52 -119.5t15.5 -148.5v-629h-76l-10 127h-4q-76 -59 -163 -105.5t-185 -46.5 q-59 0 -110.5 16.5t-91.5 49.5t-62.5 84t-22.5 121zM227 250q0 -106 61.5 -151.5t145.5 -45.5q86 0 164 41t170 119v334q-152 -18 -255 -45t-166.5 -64t-91.5 -84t-28 -104zM357 1450h106l189 -279h-78z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1021" d="M133 246q0 162 153.5 248t481.5 122q2 55 -7 111.5t-35 100.5t-72 72t-117 28q-100 0 -182.5 -39t-131.5 -76l-41 68q27 18 65 40.5t84 41t101 32t115 13.5q88 0 147.5 -30t96 -81t52 -119.5t15.5 -148.5v-629h-76l-10 127h-4q-76 -59 -163 -105.5t-185 -46.5 q-59 0 -110.5 16.5t-91.5 49.5t-62.5 84t-22.5 121zM227 250q0 -106 61.5 -151.5t145.5 -45.5q86 0 164 41t170 119v334q-152 -18 -255 -45t-166.5 -64t-91.5 -84t-28 -104zM422 1171l189 279h106l-217 -279h-78z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1021" d="M133 246q0 162 153.5 248t481.5 122q2 55 -7 111.5t-35 100.5t-72 72t-117 28q-100 0 -182.5 -39t-131.5 -76l-41 68q27 18 65 40.5t84 41t101 32t115 13.5q88 0 147.5 -30t96 -81t52 -119.5t15.5 -148.5v-629h-76l-10 127h-4q-76 -59 -163 -105.5t-185 -46.5 q-59 0 -110.5 16.5t-91.5 49.5t-62.5 84t-22.5 121zM227 250q0 -106 61.5 -151.5t145.5 -45.5q86 0 164 41t170 119v334q-152 -18 -255 -45t-166.5 -64t-91.5 -84t-28 -104zM304 1171l194 279h78l194 -279h-75l-154 203h-8l-154 -203h-75z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1021" d="M133 246q0 162 153.5 248t481.5 122q2 55 -7 111.5t-35 100.5t-72 72t-117 28q-100 0 -182.5 -39t-131.5 -76l-41 68q27 18 65 40.5t84 41t101 32t115 13.5q88 0 147.5 -30t96 -81t52 -119.5t15.5 -148.5v-629h-76l-10 127h-4q-76 -59 -163 -105.5t-185 -46.5 q-59 0 -110.5 16.5t-91.5 49.5t-62.5 84t-22.5 121zM227 250q0 -106 61.5 -151.5t145.5 -45.5q86 0 164 41t170 119v334q-152 -18 -255 -45t-166.5 -64t-91.5 -84t-28 -104zM283 1190q2 33 10 65.5t25.5 58t43 42t62.5 16.5t68 -17.5t57.5 -39t51 -38.5t51.5 -17 q33 0 51 29.5t27 82.5h61q-2 -33 -10 -65.5t-25.5 -58t-43 -42t-62.5 -16.5t-68 17.5t-56.5 39t-51 39t-52.5 17.5q-61 0 -78 -113h-61z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1021" d="M133 246q0 162 153.5 248t481.5 122q2 55 -7 111.5t-35 100.5t-72 72t-117 28q-100 0 -182.5 -39t-131.5 -76l-41 68q27 18 65 40.5t84 41t101 32t115 13.5q88 0 147.5 -30t96 -81t52 -119.5t15.5 -148.5v-629h-76l-10 127h-4q-76 -59 -163 -105.5t-185 -46.5 q-59 0 -110.5 16.5t-91.5 49.5t-62.5 84t-22.5 121zM227 250q0 -106 61.5 -151.5t145.5 -45.5q86 0 164 41t170 119v334q-152 -18 -255 -45t-166.5 -64t-91.5 -84t-28 -104zM301 1300q0 31 20.5 52.5t53.5 21.5t54.5 -21.5t21.5 -52.5q0 -33 -21.5 -54t-54.5 -21t-53.5 21.5 t-20.5 53.5zM623 1300q0 31 21.5 52.5t54.5 21.5t53.5 -21.5t20.5 -52.5q0 -33 -20.5 -54t-53.5 -21t-54.5 21.5t-21.5 53.5z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1021" d="M133 246q0 162 153.5 248t481.5 122q2 55 -7 111.5t-35 100.5t-72 72t-117 28q-100 0 -182.5 -39t-131.5 -76l-41 68q27 18 65 40.5t84 41t101 32t115 13.5q88 0 147.5 -30t96 -81t52 -119.5t15.5 -148.5v-629h-76l-10 127h-4q-76 -59 -163 -105.5t-185 -46.5 q-59 0 -110.5 16.5t-91.5 49.5t-62.5 84t-22.5 121zM227 250q0 -106 61.5 -151.5t145.5 -45.5q86 0 164 41t170 119v334q-152 -18 -255 -45t-166.5 -64t-91.5 -84t-28 -104zM369 1280q0 80 48 129t120 49t120 -49t48 -129q0 -78 -48 -127t-120 -49t-120 49t-48 127z M431 1280q0 -55 30.5 -89t75.5 -34t75.5 34t30.5 89q0 57 -30.5 91t-75.5 34t-75.5 -34t-30.5 -91z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1605" d="M133 244q0 164 153.5 250t471.5 122q0 55 -8.5 111.5t-34 100.5t-71.5 72t-118 28q-92 0 -173 -39t-130 -76l-41 68q27 18 64 40.5t83 41t98 32t108 13.5q121 0 191.5 -67t94.5 -179q53 113 142.5 179.5t199.5 66.5q174 0 269.5 -119t95.5 -336v-36.5t-4 -37.5h-680 q0 -92 26.5 -170t73.5 -134t111.5 -88t138.5 -32q80 0 140.5 23.5t115.5 64.5l39 -71q-29 -18 -59.5 -35t-67.5 -31t-80 -22.5t-96 -8.5q-66 0 -119 17.5t-96 46.5t-77 64.5t-60 74.5q-98 -94 -210 -148.5t-204 -54.5q-59 0 -110.5 16.5t-91.5 49.5t-62.5 83t-22.5 120z M227 250q0 -106 61.5 -151.5t145.5 -45.5q39 0 86 12.5t95.5 37t95.5 60.5t90 81q-23 45 -33 111.5t-10 136.5l-2 55q-143 -18 -243.5 -45t-164 -64t-92.5 -84t-29 -104zM844 549h600q0 190 -75 285.5t-208 95.5q-61 0 -115.5 -28t-96.5 -78t-69.5 -120.5t-35.5 -154.5z" />
+<glyph unicode="&#xe7;" horiz-adv-x="919" d="M106 489q0 123 37 220.5t98.5 163t142.5 100.5t171 35q102 0 171 -37t118 -84l-53 -64q-47 45 -104.5 75t-129.5 30q-76 0 -140.5 -32t-112.5 -90t-75.5 -138t-27.5 -179q0 -96 25.5 -176t71.5 -137t112.5 -89t146.5 -32q78 0 144.5 33t117.5 80l47 -62q-63 -57 -141 -94 t-172 -37q-96 0 -177 35t-141.5 100.5t-94.5 160.5t-34 218zM391 -365q86 12 138.5 37t52.5 68q0 47 -39 69.5t-98 38.5l82 156h71l-59 -115q49 -16 86 -47.5t37 -93.5q0 -41 -21.5 -70.5t-57.5 -50t-82 -34t-95 -19.5z" />
+<glyph unicode="&#xe8;" horiz-adv-x="989" d="M106 489q0 121 36 217.5t96.5 163t137.5 102.5t159 36q176 0 276 -119t100 -336v-36.5t-4 -37.5h-708q2 -92 28.5 -171t74.5 -135t115.5 -88t151.5 -32q80 0 144.5 23.5t120.5 64.5l36 -69q-59 -35 -129.5 -66t-179.5 -31q-94 0 -177 35t-144.5 101.5t-97.5 161.5 t-36 216zM199 549h626q0 190 -77.5 285.5t-210.5 95.5q-63 0 -121 -26.5t-104 -76t-75.5 -120t-37.5 -158.5zM355 1450h106l189 -279h-78z" />
+<glyph unicode="&#xe9;" horiz-adv-x="989" d="M106 489q0 121 36 217.5t96.5 163t137.5 102.5t159 36q176 0 276 -119t100 -336v-36.5t-4 -37.5h-708q2 -92 28.5 -171t74.5 -135t115.5 -88t151.5 -32q80 0 144.5 23.5t120.5 64.5l36 -69q-59 -35 -129.5 -66t-179.5 -31q-94 0 -177 35t-144.5 101.5t-97.5 161.5 t-36 216zM199 549h626q0 190 -77.5 285.5t-210.5 95.5q-63 0 -121 -26.5t-104 -76t-75.5 -120t-37.5 -158.5zM420 1171l189 279h106l-217 -279h-78z" />
+<glyph unicode="&#xea;" horiz-adv-x="989" d="M106 489q0 121 36 217.5t96.5 163t137.5 102.5t159 36q176 0 276 -119t100 -336v-36.5t-4 -37.5h-708q2 -92 28.5 -171t74.5 -135t115.5 -88t151.5 -32q80 0 144.5 23.5t120.5 64.5l36 -69q-59 -35 -129.5 -66t-179.5 -31q-94 0 -177 35t-144.5 101.5t-97.5 161.5 t-36 216zM199 549h626q0 190 -77.5 285.5t-210.5 95.5q-63 0 -121 -26.5t-104 -76t-75.5 -120t-37.5 -158.5zM302 1171l194 279h78l194 -279h-75l-154 203h-8l-154 -203h-75z" />
+<glyph unicode="&#xeb;" horiz-adv-x="989" d="M106 489q0 121 36 217.5t96.5 163t137.5 102.5t159 36q176 0 276 -119t100 -336v-36.5t-4 -37.5h-708q2 -92 28.5 -171t74.5 -135t115.5 -88t151.5 -32q80 0 144.5 23.5t120.5 64.5l36 -69q-59 -35 -129.5 -66t-179.5 -31q-94 0 -177 35t-144.5 101.5t-97.5 161.5 t-36 216zM199 549h626q0 190 -77.5 285.5t-210.5 95.5q-63 0 -121 -26.5t-104 -76t-75.5 -120t-37.5 -158.5zM299 1300q0 31 20.5 52.5t53.5 21.5t54.5 -21.5t21.5 -52.5q0 -33 -21.5 -54t-54.5 -21t-53.5 21.5t-20.5 53.5zM621 1300q0 31 21.5 52.5t54.5 21.5t53.5 -21.5 t20.5 -52.5q0 -33 -20.5 -54t-53.5 -21t-54.5 21.5t-21.5 53.5z" />
+<glyph unicode="&#xec;" horiz-adv-x="468" d="M53 1450h106l189 -279h-78zM188 0v983h91v-983h-91z" />
+<glyph unicode="&#xed;" horiz-adv-x="468" d="M118 1171l189 279h106l-217 -279h-78zM188 0v983h91v-983h-91z" />
+<glyph unicode="&#xee;" horiz-adv-x="468" d="M0 1171l194 279h78l194 -279h-75l-154 203h-8l-154 -203h-75zM188 0v983h91v-983h-91z" />
+<glyph unicode="&#xef;" horiz-adv-x="468" d="M-3 1300q0 31 20.5 52.5t53.5 21.5t54.5 -21.5t21.5 -52.5q0 -33 -21.5 -54t-54.5 -21t-53.5 21.5t-20.5 53.5zM188 0v983h91v-983h-91zM319 1300q0 31 21.5 52.5t54.5 21.5t53.5 -21.5t20.5 -52.5q0 -33 -20.5 -54t-53.5 -21t-54.5 21.5t-21.5 53.5z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1095" d="M123 449q0 100 30.5 185t87 144.5t134.5 93t172 33.5q88 0 166 -39t137 -116q-29 152 -90.5 260t-147.5 194l-290 -151l-31 57l270 139q-57 49 -120.5 91t-131.5 81l45 62q76 -41 146.5 -88t136.5 -107l291 152l30 -56l-272 -141q61 -61 111.5 -136t87.5 -164 t57.5 -195.5t20.5 -231.5q0 -123 -31 -223t-85 -171t-131 -109t-169 -38q-82 0 -159 33t-135 93.5t-94 148.5t-36 199zM213 449q0 -86 26.5 -159t71.5 -125t106.5 -81t129.5 -29q84 0 144.5 36t100 97.5t59 145.5t19.5 180q0 66 -6 127q-39 57 -79 94t-78.5 57.5t-77.5 27.5 t-78 7q-84 0 -146.5 -30.5t-105.5 -82.5t-64.5 -121t-21.5 -144z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1089" d="M188 0v983h78l8 -152h7q76 76 155.5 126.5t181.5 50.5q154 0 225.5 -92.5t71.5 -284.5v-631h-90v618q0 158 -52 233t-173 75q-88 0 -159.5 -46t-161.5 -139v-741h-91zM326 1190q2 33 10 65.5t25.5 58t43 42t62.5 16.5t68 -17.5t57.5 -39t51 -38.5t51.5 -17q33 0 51 29.5 t27 82.5h61q-2 -33 -10 -65.5t-25.5 -58t-43 -42t-62.5 -16.5t-68 17.5t-56.5 39t-51 39t-52.5 17.5q-61 0 -78 -113h-61z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1095" d="M106 489q0 123 36 220.5t96.5 163t140.5 100.5t168 35t169 -35t141.5 -100.5t96 -163t35.5 -220.5t-35.5 -218t-96 -160.5t-141.5 -100.5t-169 -35t-168 35t-140.5 100.5t-96.5 160.5t-36 218zM201 489q0 -96 26.5 -176t72.5 -137t109.5 -89t137.5 -32t138.5 32t110.5 89 t72.5 137t26.5 176q0 98 -26.5 178.5t-72.5 138.5t-110.5 90t-138.5 32t-137.5 -32t-109.5 -90t-72.5 -138.5t-26.5 -178.5zM367 1450h106l189 -279h-78z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1095" d="M106 489q0 123 36 220.5t96.5 163t140.5 100.5t168 35t169 -35t141.5 -100.5t96 -163t35.5 -220.5t-35.5 -218t-96 -160.5t-141.5 -100.5t-169 -35t-168 35t-140.5 100.5t-96.5 160.5t-36 218zM201 489q0 -96 26.5 -176t72.5 -137t109.5 -89t137.5 -32t138.5 32t110.5 89 t72.5 137t26.5 176q0 98 -26.5 178.5t-72.5 138.5t-110.5 90t-138.5 32t-137.5 -32t-109.5 -90t-72.5 -138.5t-26.5 -178.5zM432 1171l189 279h106l-217 -279h-78z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1095" d="M106 489q0 123 36 220.5t96.5 163t140.5 100.5t168 35t169 -35t141.5 -100.5t96 -163t35.5 -220.5t-35.5 -218t-96 -160.5t-141.5 -100.5t-169 -35t-168 35t-140.5 100.5t-96.5 160.5t-36 218zM201 489q0 -96 26.5 -176t72.5 -137t109.5 -89t137.5 -32t138.5 32t110.5 89 t72.5 137t26.5 176q0 98 -26.5 178.5t-72.5 138.5t-110.5 90t-138.5 32t-137.5 -32t-109.5 -90t-72.5 -138.5t-26.5 -178.5zM314 1171l194 279h78l194 -279h-75l-154 203h-8l-154 -203h-75z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1095" d="M106 489q0 123 36 220.5t96.5 163t140.5 100.5t168 35t169 -35t141.5 -100.5t96 -163t35.5 -220.5t-35.5 -218t-96 -160.5t-141.5 -100.5t-169 -35t-168 35t-140.5 100.5t-96.5 160.5t-36 218zM201 489q0 -96 26.5 -176t72.5 -137t109.5 -89t137.5 -32t138.5 32t110.5 89 t72.5 137t26.5 176q0 98 -26.5 178.5t-72.5 138.5t-110.5 90t-138.5 32t-137.5 -32t-109.5 -90t-72.5 -138.5t-26.5 -178.5zM293 1190q2 33 10 65.5t25.5 58t43 42t62.5 16.5t68 -17.5t57.5 -39t51 -38.5t51.5 -17q33 0 51 29.5t27 82.5h61q-2 -33 -10 -65.5t-25.5 -58 t-43 -42t-62.5 -16.5t-68 17.5t-56.5 39t-51 39t-52.5 17.5q-61 0 -78 -113h-61z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1095" d="M106 489q0 123 36 220.5t96.5 163t140.5 100.5t168 35t169 -35t141.5 -100.5t96 -163t35.5 -220.5t-35.5 -218t-96 -160.5t-141.5 -100.5t-169 -35t-168 35t-140.5 100.5t-96.5 160.5t-36 218zM201 489q0 -96 26.5 -176t72.5 -137t109.5 -89t137.5 -32t138.5 32t110.5 89 t72.5 137t26.5 176q0 98 -26.5 178.5t-72.5 138.5t-110.5 90t-138.5 32t-137.5 -32t-109.5 -90t-72.5 -138.5t-26.5 -178.5zM311 1300q0 31 20.5 52.5t53.5 21.5t54.5 -21.5t21.5 -52.5q0 -33 -21.5 -54t-54.5 -21t-53.5 21.5t-20.5 53.5zM633 1300q0 31 21.5 52.5 t54.5 21.5t53.5 -21.5t20.5 -52.5q0 -33 -20.5 -54t-53.5 -21t-54.5 21.5t-21.5 53.5z" />
+<glyph unicode="&#xf7;" d="M70 637v78h841v-78h-841zM412 307q0 35 22.5 57.5t54.5 22.5q35 0 56.5 -22.5t21.5 -57.5q0 -39 -21.5 -61.5t-56.5 -22.5q-33 0 -55 22.5t-22 61.5zM412 1044q0 35 22.5 57.5t54.5 22.5q35 0 56.5 -22.5t21.5 -57.5q0 -39 -21.5 -61t-56.5 -22q-33 0 -55 22.5t-22 60.5z " />
+<glyph unicode="&#xf8;" horiz-adv-x="1095" d="M94 -2l119 143q-49 66 -78 152t-29 196q0 123 36 220.5t96.5 163t140.5 100.5t168 35q82 0 156.5 -29t134.5 -86l110 133l53 -43l-118 -141q49 -66 77.5 -154t28.5 -199q0 -123 -35.5 -218t-96 -160.5t-141.5 -100.5t-169 -35q-168 0 -289 115l-111 -135zM199 492 q0 -166 73 -281l510 614q-94 104 -235 105q-74 0 -138.5 -32t-110.5 -90t-72.5 -139t-26.5 -177zM313 156q96 -102 234 -103q74 0 138.5 32t111.5 89t73.5 137t26.5 176q0 168 -74 283z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1083" d="M174 352v631h90v-618q0 -158 52.5 -233t170.5 -75q88 0 160 48.5t158 152.5v725h90v-983h-76l-10 164h-4q-72 -86 -152 -137.5t-182 -51.5q-154 0 -225.5 92.5t-71.5 284.5zM361 1450h106l189 -279h-78z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1083" d="M174 352v631h90v-618q0 -158 52.5 -233t170.5 -75q88 0 160 48.5t158 152.5v725h90v-983h-76l-10 164h-4q-72 -86 -152 -137.5t-182 -51.5q-154 0 -225.5 92.5t-71.5 284.5zM426 1171l189 279h106l-217 -279h-78z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1083" d="M174 352v631h90v-618q0 -158 52.5 -233t170.5 -75q88 0 160 48.5t158 152.5v725h90v-983h-76l-10 164h-4q-72 -86 -152 -137.5t-182 -51.5q-154 0 -225.5 92.5t-71.5 284.5zM308 1171l194 279h78l194 -279h-75l-154 203h-8l-154 -203h-75z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1083" d="M174 352v631h90v-618q0 -158 52.5 -233t170.5 -75q88 0 160 48.5t158 152.5v725h90v-983h-76l-10 164h-4q-72 -86 -152 -137.5t-182 -51.5q-154 0 -225.5 92.5t-71.5 284.5zM305 1300q0 31 20.5 52.5t53.5 21.5t54.5 -21.5t21.5 -52.5q0 -33 -21.5 -54t-54.5 -21 t-53.5 21.5t-20.5 53.5zM627 1300q0 31 21.5 52.5t54.5 21.5t53.5 -21.5t20.5 -52.5q0 -33 -20.5 -54t-53.5 -21t-54.5 21.5t-21.5 53.5z" />
+<glyph unicode="&#xfd;" horiz-adv-x="892" d="M25 983h98l237 -618q23 -61 50.5 -135t56.5 -140h8q23 66 46.5 139.5t43.5 135.5l211 618h92l-389 -1106q-20 -61 -50 -119.5t-70 -104.5t-92 -74t-117 -28q-55 0 -101 21l21 80q16 -6 36.5 -11.5t43.5 -5.5q92 0 153.5 74t97.5 187l27 86zM354 1171l189 279h106 l-217 -279h-78z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1114" d="M188 -444v1917h91v-424v-187q74 57 157.5 101.5t175.5 44.5q98 0 173 -36t124 -101.5t74 -157.5t25 -207q0 -125 -35 -223.5t-95.5 -167t-139.5 -104.5t-165 -36q-72 0 -144.5 31t-149.5 88v-180v-358h-91zM279 182q86 -70 159.5 -98.5t130.5 -28.5q74 0 137.5 33 t108.5 92.5t70.5 142.5t25.5 183q0 90 -17 168t-54 134t-96.5 88t-143.5 32q-74 0 -152.5 -42t-168.5 -120v-584z" />
+<glyph unicode="&#xff;" horiz-adv-x="892" d="M25 983h98l237 -618q23 -61 50.5 -135t56.5 -140h8q23 66 46.5 139.5t43.5 135.5l211 618h92l-389 -1106q-20 -61 -50 -119.5t-70 -104.5t-92 -74t-117 -28q-55 0 -101 21l21 80q16 -6 36.5 -11.5t43.5 -5.5q92 0 153.5 74t97.5 187l27 86zM233 1300q0 31 20.5 52.5 t53.5 21.5t54.5 -21.5t21.5 -52.5q0 -33 -21.5 -54t-54.5 -21t-53.5 21.5t-20.5 53.5zM555 1300q0 31 21.5 52.5t54.5 21.5t53.5 -21.5t20.5 -52.5q0 -33 -20.5 -54t-53.5 -21t-54.5 21.5t-21.5 53.5z" />
+<glyph unicode="&#x152;" horiz-adv-x="1691" d="M104 680q0 154 40 276.5t121 210.5t201 135.5t279 47.5h838v-82h-606v-510h502v-82h-502v-594h627v-82h-861q-160 0 -279.5 48t-199.5 137t-120 215t-40 280zM203 680q0 -133 33.5 -242.5t101.5 -189.5t172 -124t246 -44h127v1190h-127q-141 0 -245.5 -43t-172.5 -120 t-101.5 -186.5t-33.5 -240.5z" />
+<glyph unicode="&#x153;" horiz-adv-x="1736" d="M106 489q0 123 35 220.5t95.5 163t138.5 100.5t164 35q119 0 223 -73t158 -218q53 135 150 213t216 78q174 0 274.5 -119t100.5 -336q0 -37 -6 -74h-690q0 -92 27.5 -170t74.5 -134t112.5 -88t139.5 -32q80 0 143.5 23.5t118.5 64.5l39 -71q-59 -35 -130 -66t-181 -31 q-129 0 -231.5 78t-155.5 211q-57 -143 -155.5 -216t-227.5 -73q-86 0 -164 35t-138.5 100.5t-95.5 160.5t-35 218zM201 489q0 -96 25.5 -176t70.5 -137t107.5 -89t134.5 -32q74 0 136 32t106 89t70 137t26 176q0 98 -26 178.5t-70 138.5t-106.5 90t-135.5 32 q-72 0 -134.5 -32t-107.5 -90t-70.5 -138.5t-25.5 -178.5zM965 549h610q0 190 -79 285.5t-210 95.5q-61 0 -116.5 -28t-98.5 -78t-70.5 -120.5t-35.5 -154.5z" />
+<glyph unicode="&#x178;" horiz-adv-x="901" d="M-2 1350h100l205 -422q35 -74 70 -145.5t73 -145.5h9q39 74 75.5 145.5t71.5 145.5l205 422h96l-405 -803v-547h-95v547zM215 1559q0 35 20.5 55t53.5 20t54.5 -20.5t21.5 -54.5q0 -35 -21.5 -54.5t-54.5 -19.5t-53.5 19.5t-20.5 54.5zM537 1559q0 35 21.5 55t54.5 20 t53.5 -20.5t20.5 -54.5q0 -35 -20.5 -54.5t-53.5 -19.5t-54.5 19.5t-21.5 54.5z" />
+<glyph unicode="&#x2c6;" horiz-adv-x="1095" d="M314 1171l194 279h78l194 -279h-75l-154 203h-8l-154 -203h-75z" />
+<glyph unicode="&#x2dc;" horiz-adv-x="1095" d="M293 1190q2 33 10 65.5t25.5 58t43 42t62.5 16.5t68 -17.5t57.5 -39t51 -38.5t51.5 -17q33 0 51 29.5t27 82.5h61q-2 -33 -10 -65.5t-25.5 -58t-43 -42t-62.5 -16.5t-68 17.5t-56.5 39t-51 39t-52.5 17.5q-61 0 -78 -113h-61z" />
+<glyph unicode="&#x2000;" horiz-adv-x="884" />
+<glyph unicode="&#x2001;" horiz-adv-x="1769" />
+<glyph unicode="&#x2002;" horiz-adv-x="884" />
+<glyph unicode="&#x2003;" horiz-adv-x="1769" />
+<glyph unicode="&#x2004;" horiz-adv-x="589" />
+<glyph unicode="&#x2005;" horiz-adv-x="442" />
+<glyph unicode="&#x2006;" horiz-adv-x="294" />
+<glyph unicode="&#x2007;" horiz-adv-x="294" />
+<glyph unicode="&#x2008;" horiz-adv-x="221" />
+<glyph unicode="&#x2009;" horiz-adv-x="353" />
+<glyph unicode="&#x200a;" horiz-adv-x="98" />
+<glyph unicode="&#x2010;" horiz-adv-x="612" d="M82 471v80h450v-80h-450z" />
+<glyph unicode="&#x2011;" horiz-adv-x="612" d="M82 471v80h450v-80h-450z" />
+<glyph unicode="&#x2012;" horiz-adv-x="612" d="M82 471v80h450v-80h-450z" />
+<glyph unicode="&#x2013;" horiz-adv-x="983" d="M82 475v74h819v-74h-819z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1638" d="M82 475v74h1474v-74h-1474z" />
+<glyph unicode="&#x2018;" horiz-adv-x="448" d="M119 1120q0 111 46 188.5t128 131.5l37 -47q-68 -55 -102.5 -110.5t-34.5 -143.5q4 2 16 2q31 0 56.5 -18.5t25.5 -57.5t-23.5 -60.5t-58.5 -21.5q-41 0 -65.5 36t-24.5 101z" />
+<glyph unicode="&#x2019;" horiz-adv-x="448" d="M119 1024q68 55 102.5 110.5t34.5 143.5q-4 -2 -16 -2q-29 0 -54.5 18.5t-25.5 57.5t22.5 60.5t57.5 21.5q41 0 66.5 -36t25.5 -102q0 -111 -46 -188.5t-130 -130.5z" />
+<glyph unicode="&#x201a;" horiz-adv-x="448" d="M119 -219q68 55 102.5 110.5t34.5 143.5q-4 -2 -16 -2q-29 0 -54.5 18.5t-25.5 57.5t22.5 60.5t57.5 21.5q41 0 66.5 -36t25.5 -102q0 -111 -46 -188.5t-130 -130.5z" />
+<glyph unicode="&#x201c;" horiz-adv-x="737" d="M119 1120q0 111 46 188.5t128 131.5l37 -47q-68 -55 -102.5 -110.5t-34.5 -143.5q4 2 16 2q31 0 56.5 -18.5t25.5 -57.5t-23.5 -60.5t-58.5 -21.5q-41 0 -65.5 36t-24.5 101zM408 1120q0 111 46 188.5t128 131.5l37 -47q-68 -55 -102.5 -110.5t-34.5 -143.5q4 2 16 2 q31 0 56.5 -18.5t25.5 -57.5t-23.5 -60.5t-58.5 -21.5q-41 0 -65.5 36t-24.5 101z" />
+<glyph unicode="&#x201d;" horiz-adv-x="737" d="M119 1024q68 55 102.5 110.5t34.5 143.5q-4 -2 -16 -2q-29 0 -54.5 18.5t-25.5 57.5t22.5 60.5t57.5 21.5q41 0 66.5 -36t25.5 -102q0 -111 -46 -188.5t-130 -130.5zM408 1024q68 55 102.5 110.5t34.5 143.5q-4 -2 -16 -2q-29 0 -54.5 18.5t-25.5 57.5t22.5 60.5 t57.5 21.5q41 0 66.5 -36t25.5 -102q0 -111 -46 -188.5t-130 -130.5z" />
+<glyph unicode="&#x201e;" horiz-adv-x="737" d="M119 -219q68 55 102.5 110.5t34.5 143.5q-4 -2 -16 -2q-29 0 -54.5 18.5t-25.5 57.5t22.5 60.5t57.5 21.5q41 0 66.5 -36t25.5 -102q0 -111 -46 -188.5t-130 -130.5zM408 -219q68 55 102.5 110.5t34.5 143.5q-4 -2 -16 -2q-29 0 -54.5 18.5t-25.5 57.5t22.5 60.5 t57.5 21.5q41 0 66.5 -36t25.5 -102q0 -111 -46 -188.5t-130 -130.5z" />
+<glyph unicode="&#x2022;" horiz-adv-x="575" d="M82 541q0 51 17.5 93t46 70.5t65.5 45t76 16.5t76.5 -16.5t66.5 -45t46.5 -70.5t17.5 -93q0 -53 -17.5 -94t-46.5 -71t-66.5 -45.5t-76.5 -15.5t-76 15.5t-65.5 45.5t-46 70.5t-17.5 94.5z" />
+<glyph unicode="&#x2026;" horiz-adv-x="1904" d="M213 68q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68zM903 68q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68zM1593 68q0 45 26.5 69.5t61.5 24.5t60.5 -24.5 t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68z" />
+<glyph unicode="&#x202f;" horiz-adv-x="353" />
+<glyph unicode="&#x2039;" horiz-adv-x="530" d="M88 477v78l281 330l51 -43l-252 -326l252 -330l-51 -39z" />
+<glyph unicode="&#x203a;" horiz-adv-x="530" d="M111 186l249 330l-249 326l49 43l282 -330v-78l-282 -330z" />
+<glyph unicode="&#x205f;" horiz-adv-x="442" />
+<glyph unicode="&#x20ac;" d="M49 504v59l127 8q-2 23 -2 43.5v42.5v37t2 35h-127v59l133 9q14 125 53 224t100.5 169t144.5 106.5t182 36.5q92 0 167.5 -47t120.5 -112l-59 -56q-45 61 -101.5 99t-127.5 38q-164 0 -262.5 -121.5t-120.5 -336.5h569v-68h-576q-2 -16 -2 -33.5v-36.5v-44t2 -44h494v-67 h-487q27 -209 118.5 -330t239.5 -121q86 0 150.5 41t123.5 125l60 -51q-66 -90 -146 -141.5t-194 -51.5q-90 0 -166 37t-133.5 105.5t-96 166t-53.5 220.5h-133z" />
+<glyph unicode="&#x2122;" horiz-adv-x="1249" d="M4 1313v71h518v-71h-221v-557h-78v557h-219zM629 756v628h106l107 -256l63 -176h8l64 176l102 256h107v-628h-78v329l10 201h-8l-168 -432h-70l-167 432h-9l11 -201v-329h-78z" />
+<glyph unicode="&#xe000;" horiz-adv-x="983" d="M0 0v983h983v-983h-983z" />
+<glyph unicode="&#xfb01;" horiz-adv-x="1044" d="M68 905v70l135 8v219q0 147 63.5 221t179.5 74q72 0 144 -33l-25 -73q-31 16 -60.5 22t-58.5 6q-78 0 -115.5 -58t-37.5 -165v-213h227v-78h-227v-905h-90v905h-135zM729 1300q0 39 23.5 60.5t58.5 21.5t58 -21.5t23 -60.5q0 -35 -23 -57t-58 -22t-58.5 22.5t-23.5 56.5z M763 0v983h91v-983h-91z" />
+<glyph unicode="&#xfb02;" horiz-adv-x="1024" d="M68 905v70l135 8v219q0 147 63.5 221t179.5 74q72 0 144 -33l-25 -73q-31 16 -60.5 22t-58.5 6q-78 0 -115.5 -58t-37.5 -165v-213h227v-78h-227v-905h-90v905h-135zM727 131v1342h91v-1354q0 -33 12 -48.5t31 -15.5h13t23 4l17 -73q-14 -4 -28.5 -7.5t-37.5 -3.5 q-121 0 -121 156z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.ttf b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..b081effa23ca1217956e1334a938b0d3bb25b250
GIT binary patch
literal 54196
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%0ARkbxReGw@nX;FLy9
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
K?0X+p>VE*a>!FVT

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.woff b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.woff
new file mode 100644
index 0000000000000000000000000000000000000000..0cc7b8d7815bbd7ee728812f8d8db78a6842b641
GIT binary patch
literal 26796
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
M0003|D}jsv06FP(n*aa+

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.eot b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.eot
new file mode 100644
index 0000000000000000000000000000000000000000..3490416ce5062bb5fabc5ef50f3c9f411691650b
GIT binary patch
literal 24107
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
Qw%j?REebBx0_o=2u#snO3IG5A

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.svg b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.svg
new file mode 100644
index 00000000000..83388d83b58
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.svg
@@ -0,0 +1,245 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="source_sans_proregular" horiz-adv-x="1017" >
+<font-face units-per-em="2048" ascent="1536" descent="-512" />
+<missing-glyph horiz-adv-x="413" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="682" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="0" />
+<glyph unicode="&#xd;" horiz-adv-x="413" />
+<glyph unicode=" "  horiz-adv-x="413" />
+<glyph unicode="&#x09;" horiz-adv-x="413" />
+<glyph unicode="&#xa0;" horiz-adv-x="413" />
+<glyph unicode="!" horiz-adv-x="591" d="M174 102q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91zM211 1372h170l-4 -192l-23 -774h-116l-23 774z" />
+<glyph unicode="&#x22;" horiz-adv-x="870" d="M164 1413h180l-6 -188l-33 -342h-102l-33 342zM524 1413h180l-6 -188l-33 -342h-102l-33 342z" />
+<glyph unicode="#" d="M72 418v117h178l37 303h-174v118h188l47 375h109l-47 -375h272l49 375h109l-49 -375h165v-118h-178l-37 -303h174v-117h-188l-51 -418h-109l49 418h-270l-51 -418h-111l52 418h-164zM360 535h271l37 303h-271z" />
+<glyph unicode="$" d="M106 135l78 117q66 -57 145 -97t173 -40q115 0 171 57t56 154q0 82 -42 136t-105.5 94t-138 75t-138 80t-105.5 109.5t-42 164.5q0 137 80.5 228.5t216.5 113.5v205h123v-203q98 -10 166.5 -53t123.5 -102l-90 -101q-57 55 -111.5 86t-138.5 31q-94 0 -149 -53.5 t-55 -143.5q0 -74 42 -121t105.5 -82.5t138 -69.5t138 -82t105.5 -118.5t42 -181.5q0 -147 -85 -241.5t-232 -114.5v-207h-123v202q-98 10 -190.5 54.5t-158.5 103.5z" />
+<glyph unicode="%" horiz-adv-x="1687" d="M72 946q0 203 83 312.5t222 109.5q137 0 221 -109.5t84 -312.5q0 -205 -84 -315.5t-221 -110.5q-139 0 -222 111t-83 315zM199 946q0 -160 49 -240.5t129 -80.5q78 0 127 81t49 240q0 160 -49 239t-127 79q-80 0 -129 -79t-49 -239zM414 -25l741 1393h115l-741 -1393 h-115zM1008 401q0 203 83 312.5t222 109.5q137 0 221 -109.5t84 -312.5q0 -205 -84 -315.5t-221 -110.5q-139 0 -222 111t-83 315zM1135 401q0 -160 49 -240.5t129 -80.5q78 0 127 81t49 240q0 160 -49 239t-127 79q-80 0 -129 -79t-49 -239z" />
+<glyph unicode="&#x26;" horiz-adv-x="1247" d="M66 348q0 68 21.5 123t58 102.5t85 87t99.5 74.5q-41 84 -64.5 163t-23.5 153q0 68 22.5 125t63.5 100t98 67.5t127 24.5q125 0 194.5 -73.5t69.5 -192.5q0 -66 -26.5 -121t-69.5 -103.5t-97.5 -90.5t-109.5 -82q66 -104 155 -200.5t185 -176.5q61 84 109.5 182t78.5 215 h158q-41 -133 -98.5 -254t-136.5 -227q70 -47 133 -80t119 -49l-46 -140q-72 20 -149.5 58.5t-159.5 95.5q-78 -70 -173 -112t-214 -42q-92 0 -167 28t-129 77t-83.5 117.5t-29.5 150.5zM229 358q0 -55 20.5 -101t56.5 -79t84 -50t104 -17q70 0 133 28.5t123 79.5 q-98 86 -189.5 188.5t-163.5 210.5q-72 -57 -120 -119.5t-48 -140.5zM387 1053q0 -55 17.5 -114.5t46.5 -121.5q45 31 87 62.5t73.5 65.5t50 72t18.5 83q0 59 -29.5 103t-97.5 44q-76 0 -121 -55t-45 -139z" />
+<glyph unicode="'" horiz-adv-x="509" d="M164 1413h180l-6 -188l-33 -342h-102l-33 342z" />
+<glyph unicode="(" horiz-adv-x="620" d="M168 569q0 270 71.5 496.5t198.5 433.5l105 -49q-119 -197 -177.5 -421t-58.5 -460t58.5 -460t177.5 -420l-105 -49q-127 205 -198.5 432t-71.5 497z" />
+<glyph unicode=")" horiz-adv-x="620" d="M78 -311q119 197 177 421t58 459q0 236 -58 460t-177 421l104 49q127 -207 199 -433t72 -497q0 -270 -72 -497.5t-199 -431.5z" />
+<glyph unicode="*" horiz-adv-x="856" d="M119 1194l31 94l208 -51l19 221h100l19 -219l211 49l30 -94l-198 -82l114 -192l-80 -60l-145 176l-145 -176l-82 60l116 192z" />
+<glyph unicode="+" d="M70 612v127h372v400h133v-400h373v-127h-373v-399h-133v399h-372z" />
+<glyph unicode="," horiz-adv-x="509" d="M96 -250q86 39 135.5 102.5t49.5 147.5q-6 -2 -21 -2q-49 0 -85 29.5t-36 87.5q0 55 37 86.5t88 31.5q66 0 104 -53t38 -145q0 -133 -72 -231.5t-197 -151.5z" />
+<glyph unicode="-" horiz-adv-x="636" d="M84 449v129h471v-129h-471z" />
+<glyph unicode="." horiz-adv-x="509" d="M133 102q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91z" />
+<glyph unicode="/" horiz-adv-x="716" d="M20 -328l547 1782h123l-545 -1782h-125z" />
+<glyph unicode="0" d="M90 657q0 330 110.5 502t309.5 172q197 0 307.5 -172t110.5 -502t-110.5 -506t-307.5 -176q-199 0 -309.5 176.5t-110.5 505.5zM254 657q0 -287 70.5 -416.5t185.5 -129.5q57 0 103 31.5t80 98t52.5 170t18.5 246.5t-18.5 246t-52.5 167.5t-80 95t-103 30.5t-104.5 -30.5 t-81 -95t-52 -167t-18.5 -246.5z" />
+<glyph unicode="1" d="M162 0v139h299v963h-238v108q90 16 156.5 40t120.5 57h129v-1168h270v-139h-737z" />
+<glyph unicode="2" d="M74 1133q82 90 174 144t221 54q182 0 286.5 -105.5t104.5 -279.5q0 -92 -40 -185t-110.5 -192.5t-168 -207t-213.5 -228.5q53 4 110.5 8t108.5 4h379v-145h-844v100q147 147 262 266t192.5 220.5t118.5 186.5t41 165q0 113 -61.5 184.5t-185.5 71.5q-82 0 -152 -46 t-127 -112z" />
+<glyph unicode="3" d="M53 160l86 110q59 -61 138 -108t196 -47q119 0 194.5 64.5t75.5 174.5q0 57 -21.5 105.5t-70.5 83.5t-129 53t-196 18v129q104 0 174.5 18.5t114.5 51.5t62.5 78t18.5 96q0 96 -60.5 151.5t-164.5 55.5q-82 0 -150.5 -37t-127.5 -96l-91 106q76 72 167 118t208 46 q86 0 158 -22.5t124 -64.5t80.5 -103.5t28.5 -141.5q0 -119 -65.5 -194.5t-171.5 -116.5v-8q59 -14 110.5 -42t90 -70t60 -97t21.5 -123q0 -86 -33.5 -155.5t-92 -117.5t-136.5 -74t-168 -26q-78 0 -142.5 15.5t-117.5 41t-95 58.5t-75 70z" />
+<glyph unicode="4" d="M35 360v111l559 836h188v-811h179v-136h-179v-360h-159v360h-588zM213 496h410v378q0 53 3 126t7 126h-8q-25 -47 -51.5 -92t-55.5 -92z" />
+<glyph unicode="5" d="M51 154l82 110q57 -59 136 -104t194 -45q59 0 111.5 21.5t91.5 60.5t61.5 94t22.5 123q0 135 -76 210.5t-203 75.5q-68 0 -116 -20.5t-107 -58.5l-90 57l43 629h653v-146h-506l-35 -387q47 25 94.5 39t106.5 14q84 0 157.5 -24.5t129 -74.5t87.5 -127t32 -183t-37 -188.5 t-98.5 -138.5t-140.5 -86t-165 -30q-78 0 -142.5 15.5t-116.5 40t-94 56.5t-75 67z" />
+<glyph unicode="6" d="M98 604q0 197 41 335t110.5 225t159 127t187.5 40q106 0 183 -40t132 -99l-94 -105q-41 47 -97 75t-118 28q-68 0 -129 -28.5t-108.5 -94.5t-76 -171t-30.5 -261q61 76 143 120t162 44q170 0 271.5 -100.5t101.5 -303.5q0 -94 -31 -171t-84 -132t-122.5 -86t-149.5 -31 q-96 0 -178 39t-142.5 118t-95.5 196.5t-35 275.5zM262 500q16 -193 89 -292t198 -99q49 0 90 20.5t71.5 58t48 90t17.5 117.5q0 129 -59.5 203t-181.5 74q-61 0 -134 -40t-139 -132z" />
+<glyph unicode="7" d="M90 1161v146h842v-105q-117 -147 -189.5 -282.5t-115.5 -275.5t-62.5 -297t-27.5 -347h-175q8 184 33 338t69 292t112.5 267t164.5 264h-651z" />
+<glyph unicode="8" d="M84 334q0 63 21.5 117.5t55.5 98.5t78 78t91 58v8q-72 51 -127.5 124t-55.5 177q0 76 29 137.5t78 105.5t116.5 68.5t147.5 24.5q86 0 153.5 -25.5t116 -71.5t74 -110.5t25.5 -140.5q0 -51 -17.5 -98t-43 -88t-57.5 -74t-62 -55v-9q43 -25 83.5 -56.5t72.5 -71t51.5 -91 t19.5 -116.5q0 -74 -31 -137.5t-86 -110.5t-133 -74t-172 -27q-92 0 -171 27t-135 75t-89 113.5t-33 143.5zM236 350q0 -55 21.5 -100t59 -79t89 -52.5t110.5 -18.5q115 0 185.5 63.5t70.5 166.5q0 63 -28.5 108t-78 79t-114 61.5t-133.5 56.5q-78 -53 -130 -124t-52 -161z M303 995q0 -59 24.5 -101t66.5 -75t96.5 -58t113.5 -48q66 59 101.5 124.5t35.5 137.5q0 98 -59 164.5t-168 66.5q-92 0 -151.5 -57t-59.5 -154z" />
+<glyph unicode="9" d="M82 911q0 94 30.5 171t83 132.5t123 86t148.5 30.5q96 0 179 -39t143.5 -117.5t94.5 -196.5t34 -276q0 -197 -41 -335t-111 -225t-159 -127t-187 -40q-104 0 -183 39t-133 99l95 106q41 -47 97 -75.5t118 -28.5q70 0 131 28.5t108 95t76 173t31 264.5q-61 -78 -143 -123 t-164 -45q-170 0 -270.5 100.5t-100.5 302.5zM240 911q0 -129 59 -202.5t182 -73.5q63 0 136 40t139 134q-16 193 -90 291t-199 98q-47 0 -89 -20.5t-73 -58.5t-48 -91t-17 -117z" />
+<glyph unicode=":" horiz-adv-x="509" d="M133 102q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91zM133 841q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91z" />
+<glyph unicode=";" horiz-adv-x="509" d="M96 -250q86 39 135.5 102.5t49.5 147.5q-6 -2 -21 -2q-49 0 -85 29.5t-36 87.5q0 55 37 86.5t88 31.5q66 0 104 -53t38 -145q0 -133 -72 -231.5t-197 -151.5zM133 841q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91z" />
+<glyph unicode="&#x3c;" d="M70 612v136l878 344v-146l-432 -160l-274 -102v-8l274 -103l432 -159v-146z" />
+<glyph unicode="=" d="M70 395v127h878v-127h-878zM70 831v127h878v-127h-878z" />
+<glyph unicode="&#x3e;" d="M70 268v146l432 159l274 103v8l-274 102l-432 160v146l878 -344v-136z" />
+<glyph unicode="?" horiz-adv-x="870" d="M78 1227q66 74 149.5 122t194.5 48q160 0 255 -87t95 -241q0 -68 -24.5 -123t-60.5 -104t-76 -97.5t-73.5 -99.5t-52 -109.5t-10.5 -129.5h-147q-12 80 5 144t48 118.5t71 101.5t74.5 93t58 93.5t23.5 102.5q0 82 -50 140t-148 58q-68 0 -128.5 -31.5t-107.5 -86.5z M285 102q0 59 34.5 95t86.5 36q51 0 86.5 -35.5t35.5 -95.5q0 -55 -35.5 -91t-86.5 -36t-86 36t-35 91z" />
+<glyph unicode="@" horiz-adv-x="1734" d="M104 416q0 205 69 372.5t186.5 286.5t272 183.5t326.5 64.5q156 0 280 -49t211 -138t134 -214t47 -277q0 -135 -38 -236.5t-97 -170t-132 -103.5t-142 -35q-84 0 -142.5 39t-68.5 117h-4q-51 -59 -117 -99t-133 -40q-104 0 -175 73.5t-71 215.5q0 82 27.5 166.5t79 153.5 t124 112t162.5 43q53 0 94 -23.5t70 -75.5h4l23 82h112l-80 -409q-61 -240 111 -240q49 0 97 28.5t88 83t64.5 133.5t24.5 179q0 123 -35.5 228.5t-107.5 181t-178.5 118.5t-245.5 43q-137 0 -266 -56t-229.5 -158.5t-161 -248t-60.5 -325.5q0 -150 46 -266.5t128 -196.5 t194 -122t243 -42q94 0 178 25.5t153 66.5l45 -100q-174 -104 -389 -104q-152 0 -282.5 47t-228 140t-154 230.5t-56.5 315.5zM645 416q0 -98 41 -141.5t102 -43.5q43 0 89.5 29t99.5 92l59 326q-29 47 -59.5 66.5t-71.5 19.5q-61 0 -109 -33t-82 -84t-51.5 -112.5 t-17.5 -118.5z" />
+<glyph unicode="A" horiz-adv-x="1101" d="M0 0l455 1343h192l455 -1343h-180l-129 410h-490l-129 -410h-174zM346 547h404l-64 205q-35 113 -67.5 224t-65.5 228h-8q-33 -117 -66 -228.5t-67 -223.5z" />
+<glyph unicode="B" horiz-adv-x="1193" d="M178 0v1343h400q102 0 187 -18t146.5 -57t95 -101.5t33.5 -150.5q0 -100 -57 -181t-178 -112v-8q147 -23 229 -103t82 -219q0 -98 -37 -172t-104.5 -123t-160.5 -73.5t-206 -24.5h-430zM350 135h234q174 0 269 64.5t95 201.5q0 125 -93 183.5t-271 58.5h-234v-508z M350 770h199q172 0 247.5 59.5t75.5 171.5q0 111 -79.5 159t-235.5 48h-207v-438z" />
+<glyph unicode="C" horiz-adv-x="1159" d="M100 672q0 162 45 291t126 219t190.5 138t238.5 48q121 0 214.5 -50t152.5 -116l-96 -108q-53 57 -119 91t-150 34q-96 0 -174.5 -38t-134 -109t-86.5 -171t-31 -225q0 -127 30 -228.5t84 -173t131 -110.5t173 -39t169 39t138 110l97 -104q-78 -92 -178.5 -143.5 t-229.5 -51.5q-127 0 -234.5 47.5t-186.5 136.5t-124 219t-45 294z" />
+<glyph unicode="D" horiz-adv-x="1253" d="M178 0v1343h336q311 0 473 -172t162 -493q0 -160 -41 -286t-121 -213t-196.5 -133t-268.5 -46h-344zM350 139h152q238 0 354.5 141.5t116.5 397.5t-117 391t-354 135h-152v-1065z" />
+<glyph unicode="E" horiz-adv-x="1069" d="M178 0v1343h774v-143h-602v-422h508v-145h-508v-488h623v-145h-795z" />
+<glyph unicode="F" horiz-adv-x="1001" d="M178 0v1343h776v-143h-604v-455h512v-143h-512v-602h-172z" />
+<glyph unicode="G" horiz-adv-x="1253" d="M100 672q0 162 46.5 291t129 219t196.5 138t249 48q137 0 231.5 -52t153.5 -114l-98 -108q-51 53 -118 89t-167 36q-102 0 -184 -38t-140.5 -109t-90.5 -171t-32 -225q0 -127 30 -228.5t86.5 -173t139 -110.5t191.5 -39q72 0 137.5 21.5t106.5 58.5v350h-285v141h440 v-565q-66 -66 -174 -111t-243 -45q-133 0 -244 47.5t-191 136.5t-125 219t-45 294z" />
+<glyph unicode="H" horiz-adv-x="1325" d="M178 0v1343h172v-563h625v563h170v-1343h-170v633h-625v-633h-172z" />
+<glyph unicode="I" horiz-adv-x="528" d="M178 0v1343h172v-1343h-172z" />
+<glyph unicode="J" horiz-adv-x="970" d="M59 190l121 86q47 -80 104.5 -115.5t129.5 -35.5q109 0 162 66.5t53 220.5v931h170v-948q0 -86 -20.5 -162.5t-65.5 -134t-116 -90.5t-169 -33q-250 0 -369 215z" />
+<glyph unicode="K" horiz-adv-x="1175" d="M178 0v1343h172v-673h4l559 673h195l-422 -512l485 -831h-190l-401 698l-230 -272v-426h-172z" />
+<glyph unicode="L" horiz-adv-x="985" d="M178 0v1343h172v-1198h586v-145h-758z" />
+<glyph unicode="M" horiz-adv-x="1478" d="M178 0v1343h203l260 -720l96 -275h8l95 275l258 720h200v-1343h-161v739q0 90 8 199t14 199h-8l-107 -299l-258 -703h-98l-258 703l-106 299h-9q6 -90 13.5 -199t7.5 -199v-739h-158z" />
+<glyph unicode="N" horiz-adv-x="1314" d="M178 0v1343h176l488 -843l145 -279h8q-6 102 -14 212t-8 216v694h162v-1343h-177l-485 846l-145 276h-9q6 -102 13.5 -207.5t7.5 -212.5v-702h-162z" />
+<glyph unicode="O" horiz-adv-x="1349" d="M100 678q0 162 42 290t119 217t182.5 136t232.5 47q125 0 230.5 -48t182 -137t118.5 -217t42 -288q0 -162 -42 -292t-118.5 -221t-182 -140.5t-230.5 -49.5q-127 0 -232.5 49.5t-182.5 140.5t-119 221t-42 292zM276 678q0 -127 29 -228.5t81 -174t126 -111.5t164 -39 t162.5 39t125 111.5t81 174t28.5 228.5q0 125 -28.5 225.5t-81 170t-125 107.5t-162.5 38t-164 -38t-126 -107.5t-81 -170t-29 -225.5z" />
+<glyph unicode="P" horiz-adv-x="1169" d="M178 0v1343h414q111 0 203 -20t156.5 -66.5t100 -122t35.5 -186.5q0 -106 -35.5 -184t-101 -129t-157 -77t-201.5 -26h-242v-532h-172zM350 672h219q178 0 263.5 66.5t85.5 209.5q0 145 -87.5 201.5t-261.5 56.5h-219v-534z" />
+<glyph unicode="Q" horiz-adv-x="1349" d="M98 678q0 162 42 290t118 217t181.5 136t232.5 47t232.5 -48t182 -137t118.5 -217t42 -288q0 -145 -33.5 -265t-96 -209t-150.5 -145.5t-195 -74.5q47 -90 133 -133.5t197 -43.5q45 0 78.5 6.5t62.5 14.5l33 -133q-31 -10 -82 -20.5t-111 -10.5q-186 0 -311 89t-184 229 q-111 14 -201 69t-154.5 145.5t-99.5 212t-35 269.5zM274 678q0 -127 29 -228.5t81 -174t125 -111.5t163 -39t162.5 39t125 111.5t81 174t28.5 228.5q0 125 -28.5 225.5t-81 170t-125 107.5t-162.5 38t-163 -38t-125 -107.5t-81 -170t-29 -225.5z" />
+<glyph unicode="R" horiz-adv-x="1179" d="M178 0v1343h422q102 0 188 -19t148.5 -64.5t97.5 -117t35 -175.5q0 -158 -82 -252t-219 -129l342 -586h-195l-323 567h-242v-567h-172zM350 707h225q158 0 241 64.5t83 195.5q0 133 -83 186t-241 53h-225v-499z" />
+<glyph unicode="S" horiz-adv-x="1083" d="M82 174l102 119q72 -76 168.5 -122t202.5 -46q133 0 207 60.5t74 158.5q0 51 -17.5 87t-48.5 61.5t-72 46t-88 43.5l-192 84q-47 20 -95.5 48.5t-88 69.5t-64.5 97.5t-25 130.5q0 76 32 141.5t89.5 113.5t134 74.5t168.5 26.5q121 0 222.5 -46t173.5 -120l-91 -110 q-61 59 -136.5 93t-168.5 34q-115 0 -183.5 -52.5t-68.5 -144.5q0 -49 20.5 -83t52.5 -59.5t72 -45t79 -35.5l192 -82q57 -25 108.5 -56.5t88.5 -73.5t58.5 -98.5t21.5 -130.5q0 -80 -32 -149.5t-91.5 -121.5t-144.5 -82t-191 -30q-141 0 -261 53.5t-208 145.5z" />
+<glyph unicode="T" horiz-adv-x="1087" d="M51 1200v143h985v-143h-407v-1200h-170v1200h-408z" />
+<glyph unicode="U" horiz-adv-x="1310" d="M172 555v788h172v-792q0 -121 24.5 -203t66.5 -131t98.5 -70.5t121.5 -21.5q68 0 126.5 21.5t101.5 70.5t67.5 131t24.5 203v792h164v-788q0 -162 -37 -272.5t-101.5 -179t-153.5 -98.5t-192 -30q-102 0 -191 30t-153.5 98.5t-101.5 179t-37 272.5z" />
+<glyph unicode="V" horiz-adv-x="1044" d="M-4 1343h180l217 -725q35 -121 63.5 -223t65.5 -221h8q18 59 35 113.5t32 108t30.5 108.5t31.5 114l215 725h175l-426 -1343h-199z" />
+<glyph unicode="W" horiz-adv-x="1599" d="M41 1343h176l141 -731q20 -111 40 -217t40 -217h8q23 111 46.5 218.5t48.5 215.5l186 731h156l186 -731q23 -106 47.5 -214.5t48.5 -219.5h9q20 111 38.5 218.5t36.5 215.5l142 731h165l-278 -1343h-207l-203 809q-16 78 -32.5 152.5t-30.5 152.5h-8q-16 -78 -34 -152.5 t-34 -152.5l-201 -809h-202z" />
+<glyph unicode="X" horiz-adv-x="1040" d="M27 0l391 694l-367 649h189l184 -344q25 -47 48.5 -91t55.5 -103h9q29 59 49 103t45 91l178 344h180l-364 -657l391 -686h-189l-198 362q-27 49 -54.5 101.5t-60.5 114.5h-8q-29 -61 -54.5 -113.5t-52.5 -102.5l-194 -362h-178z" />
+<glyph unicode="Y" horiz-adv-x="964" d="M-8 1343h184l172 -378q33 -74 64.5 -145.5t66.5 -147.5h8q35 76 69 147.5t65 145.5l174 378h176l-404 -823v-520h-170v520z" />
+<glyph unicode="Z" horiz-adv-x="1093" d="M86 0v102l709 1098h-645v143h856v-100l-709 -1098h715v-145h-926z" />
+<glyph unicode="[" horiz-adv-x="620" d="M193 -311v1761h366v-98h-240v-1567h240v-96h-366z" />
+<glyph unicode="\" horiz-adv-x="716" d="M29 1454h121l546 -1782h-123z" />
+<glyph unicode="]" horiz-adv-x="620" d="M63 -215h238v1567h-238v98h365v-1761h-365v96z" />
+<glyph unicode="^" d="M123 582l311 790h150l311 -790h-147l-134 360l-100 272h-8l-103 -272l-133 -360h-147z" />
+<glyph unicode="_" horiz-adv-x="1024" d="M25 -145h974v-113h-974v113z" />
+<glyph unicode="`" horiz-adv-x="1110" d="M328 1462h176l184 -288h-129z" />
+<glyph unicode="a" horiz-adv-x="1048" d="M119 258q0 164 146.5 251t465.5 122q0 47 -9 92t-32.5 80t-62.5 56.5t-101 21.5q-88 0 -162.5 -33t-134.5 -74l-67 117q70 45 170 87t221 42q182 0 264 -111.5t82 -298.5v-610h-139l-15 119h-4q-72 -59 -154.5 -101.5t-174.5 -42.5q-127 0 -210 74t-83 209zM285 270 q0 -86 50 -122.5t124 -36.5q72 0 136 33.5t136 99.5v276q-125 -16 -211 -38.5t-138 -53.5t-74.5 -71t-22.5 -87z" />
+<glyph unicode="b" horiz-adv-x="1136" d="M168 0v1458h168v-397l-4 -180q68 59 147.5 99t163.5 40q96 0 170 -36t124 -102.5t75.5 -159.5t25.5 -208q0 -127 -34.5 -227.5t-94 -170t-137.5 -105.5t-164 -36q-70 0 -144.5 32t-139.5 91h-7l-14 -98h-135zM336 221q66 -57 130 -80.5t114 -23.5q61 0 113 27.5t90 77.5 t59.5 124t21.5 166q0 82 -14 149.5t-46 115.5t-82 75t-120 27q-121 0 -266 -136v-522z" />
+<glyph unicode="c" horiz-adv-x="933" d="M94 496q0 125 39 222t104.5 164.5t152.5 102.5t183 35q98 0 169 -36t122 -83l-84 -108q-45 39 -93 63.5t-107 24.5q-68 0 -125.5 -28t-98.5 -79t-64.5 -121.5t-23.5 -156.5t22.5 -156t62.5 -120t97.5 -77.5t124.5 -27.5q72 0 130.5 29.5t103.5 70.5l76 -111 q-68 -59 -151 -94t-173 -35q-98 0 -184 35t-148.5 101.5t-98.5 164t-36 220.5z" />
+<glyph unicode="d" horiz-adv-x="1136" d="M96 496q0 121 36 218t95.5 164.5t137 104.5t163.5 37t149.5 -31t129.5 -84l-8 170v383h170v-1458h-140l-14 117h-6q-59 -57 -136 -99.5t-165 -42.5q-188 0 -300 135.5t-112 385.5zM270 498q0 -180 72 -280.5t203 -100.5q70 0 131 33.5t123 103.5v520q-63 57 -122 81 t-120 24q-59 0 -111.5 -28t-91.5 -78t-61.5 -119.5t-22.5 -155.5z" />
+<glyph unicode="e" horiz-adv-x="1015" d="M94 496q0 123 38 220t100.5 164.5t142.5 103.5t166 36q94 0 168.5 -33t125 -94.5t77 -147.5t26.5 -192q0 -55 -6 -92h-672q10 -162 99.5 -256t232.5 -94q72 0 132 21.5t116 55.5l59 -110q-66 -41 -145.5 -72t-182.5 -31q-100 0 -187 36t-151.5 102.5t-101.5 163 t-37 219.5zM258 571h533q0 154 -64.5 235t-181.5 81q-53 0 -101.5 -21.5t-87.5 -61.5t-64.5 -98.5t-33.5 -134.5z" />
+<glyph unicode="f" horiz-adv-x="598" d="M61 858v127l136 10v158q0 154 70.5 242t219.5 88q47 0 89 -9.5t77 -23.5l-37 -129q-55 25 -112 25q-139 0 -139 -193v-158h210v-137h-210v-858h-168v858h-136z" />
+<glyph unicode="g" horiz-adv-x="1032" d="M92 -190q0 63 39 120.5t107 104.5v8q-37 23 -62.5 62.5t-25.5 99.5q0 63 34.5 110t73.5 74v8q-49 41 -89 109.5t-40 159.5q0 82 29.5 147.5t81 111.5t120 70.5t144.5 24.5q41 0 76.5 -7t64.5 -18h346v-129h-205q35 -35 58.5 -88t23.5 -116q0 -80 -28.5 -144.5 t-77.5 -108.5t-115.5 -69t-142.5 -25q-37 0 -76 9.5t-74 25.5q-27 -23 -45 -50.5t-18 -68.5q0 -47 37 -77.5t139 -30.5h192q174 0 261.5 -56.5t87.5 -181.5q0 -70 -35 -132t-100.5 -109t-158.5 -75t-210 -28q-92 0 -168 17.5t-130 52.5t-84 84t-30 115zM240 -168 q0 -80 76.5 -127t211.5 -47q72 0 130.5 17.5t99.5 45t63.5 64.5t22.5 76q0 70 -51.5 96.5t-149.5 26.5h-172q-29 0 -62.5 3t-66.5 13q-53 -39 -77.5 -82t-24.5 -86zM293 666q0 -55 16.5 -99.5t46 -75t67.5 -47t81 -16.5t81 16.5t67.5 47t46 74.5t16.5 100q0 111 -61.5 171 t-149.5 60t-149.5 -60.5t-61.5 -170.5z" />
+<glyph unicode="h" horiz-adv-x="1114" d="M168 0v1458h168v-397l-6 -205q72 68 149.5 116t182.5 48q158 0 230.5 -98.5t72.5 -290.5v-631h-168v608q0 141 -45 203.5t-144 62.5q-78 0 -137 -38.5t-135 -114.5v-721h-168z" />
+<glyph unicode="i" horiz-adv-x="503" d="M137 1309q0 49 34 78.5t83 29.5t83 -29.5t34 -78.5q0 -47 -34 -78t-83 -31t-83 31t-34 78zM168 0v995h168v-995h-168z" />
+<glyph unicode="j" horiz-adv-x="505" d="M-82 -418l35 127q18 -6 42.5 -11t51.5 -5q74 0 98.5 51t24.5 143v1108h168v-1108q0 -152 -61.5 -241.5t-210.5 -89.5q-47 0 -84 8t-64 18zM139 1309q0 49 34 78.5t83 29.5q47 0 81 -29.5t34 -78.5q0 -47 -34 -78t-81 -31q-49 0 -83 31t-34 78z" />
+<glyph unicode="k" horiz-adv-x="1013" d="M168 0v1458h166v-987h6l424 524h186l-334 -399l379 -596h-184l-291 479l-186 -217v-262h-166z" />
+<glyph unicode="l" horiz-adv-x="522" d="M168 201v1257h168v-1270q0 -41 14.5 -57t32.5 -16h15.5t21.5 4l22 -127q-16 -8 -38.5 -12.5t-57.5 -4.5q-96 0 -137 57.5t-41 168.5z" />
+<glyph unicode="m" horiz-adv-x="1697" d="M168 0v995h139l15 -143h6q66 72 142.5 120t166.5 48q115 0 179.5 -50t94.5 -141q78 86 157 138.5t171 52.5q154 0 228.5 -98.5t74.5 -290.5v-631h-168v608q0 141 -45 203.5t-139 62.5q-113 0 -250 -153v-721h-168v608q0 141 -45 203.5t-141 62.5q-113 0 -250 -153v-721 h-168z" />
+<glyph unicode="n" horiz-adv-x="1120" d="M168 0v995h139l15 -143h6q72 72 150.5 120t183.5 48q158 0 230.5 -98.5t72.5 -290.5v-631h-168v608q0 141 -45 203.5t-144 62.5q-78 0 -137 -38.5t-135 -114.5v-721h-168z" />
+<glyph unicode="o" horiz-adv-x="1110" d="M94 496q0 125 38 222t101.5 164.5t146.5 102.5t175 35t175 -35t146.5 -102.5t101.5 -164.5t38 -222q0 -123 -38 -220.5t-101.5 -164t-146.5 -101.5t-175 -35t-175 35t-146.5 101.5t-101.5 164t-38 220.5zM268 496q0 -86 20.5 -156t58.5 -120t91.5 -77.5t116.5 -27.5 t116.5 27.5t91.5 77.5t58.5 120t20.5 156t-20.5 156.5t-58.5 121.5t-91.5 79t-116.5 28t-116.5 -28t-91.5 -79t-58.5 -121.5t-20.5 -156.5z" />
+<glyph unicode="p" horiz-adv-x="1136" d="M168 -420v1415h139l15 -114h6q68 57 148.5 98t168.5 41q96 0 170 -36t123 -102.5t74.5 -159.5t25.5 -210q0 -127 -34.5 -226.5t-94 -169t-137.5 -105.5t-164 -36q-70 0 -138.5 31t-137.5 84l4 -174v-336h-168zM336 221q68 -57 131 -80.5t113 -23.5q61 0 113 27.5t90 77.5 t59.5 124t21.5 166q0 82 -14 149.5t-46 115.5t-82 75t-120 27q-63 0 -127.5 -35t-138.5 -101v-522z" />
+<glyph unicode="q" horiz-adv-x="1126" d="M96 496q0 121 36 218t95.5 164.5t137 104.5t163.5 37t151.5 -29.5t133.5 -89.5h4l17 94h135v-1415h-170v354l8 177q-59 -55 -136 -95.5t-163 -40.5q-188 0 -300 135.5t-112 385.5zM270 498q0 -180 72 -280.5t203 -100.5q70 0 131 33.5t123 103.5v520q-63 57 -122 81 t-120 24q-59 0 -111.5 -28t-91.5 -78t-61.5 -119.5t-22.5 -155.5z" />
+<glyph unicode="r" horiz-adv-x="710" d="M168 0v995h139l15 -180h6q51 94 123.5 149.5t158.5 55.5q59 0 107 -21l-33 -147q-25 8 -45.5 12t-50.5 4q-63 0 -132 -51t-120 -178v-639h-168z" />
+<glyph unicode="s" horiz-adv-x="858" d="M57 113l84 112q66 -53 134.5 -86t158.5 -33q98 0 147.5 45.5t49.5 110.5q0 39 -20.5 67.5t-52.5 50t-73 38t-82 33.5q-53 18 -106 41.5t-95 57.5t-69 79t-27 108q0 59 24 111.5t68 90.5t107.5 59.5t143.5 21.5q94 0 172.5 -33t136.5 -80l-80 -106q-51 39 -106.5 63.5 t-120.5 24.5q-94 0 -138.5 -43t-44.5 -101q0 -35 18.5 -59t49.5 -44.5t70.5 -36t82.5 -32.5q53 -20 107.5 -42.5t97.5 -56.5t71 -83t28 -119q0 -61 -24 -114.5t-70 -94t-114.5 -64.5t-156.5 -24q-106 0 -202.5 39t-168.5 99z" />
+<glyph unicode="t" horiz-adv-x="692" d="M49 858v127l156 10l20 279h142v-279h268v-137h-268v-553q0 -92 33.5 -142t119.5 -50q27 0 57.5 8t55.5 18l33 -127q-41 -14 -89.5 -25.5t-95.5 -11.5q-80 0 -134 25t-88 68t-48 104t-14 135v551h-148z" />
+<glyph unicode="u" horiz-adv-x="1114" d="M154 365v630h170v-608q0 -141 44 -203.5t142 -62.5q78 0 137.5 40t130.5 128v706h168v-995h-139l-14 156h-7q-70 -82 -146.5 -131.5t-180.5 -49.5q-160 0 -232.5 98.5t-72.5 291.5z" />
+<glyph unicode="v" horiz-adv-x="956" d="M25 995h174l188 -565q23 -74 46.5 -147.5t45.5 -145.5h8q23 72 45.5 145.5t45.5 147.5l188 565h166l-352 -995h-197z" />
+<glyph unicode="w" horiz-adv-x="1470" d="M49 995h172l148 -575q16 -72 30.5 -139.5t28.5 -137.5h8q16 70 32.5 138.5t35.5 138.5l153 575h164l156 -575q18 -72 35.5 -139.5t34.5 -137.5h8q16 70 30.5 137.5t30.5 139.5l146 575h159l-266 -995h-205l-143 535q-18 72 -33.5 141t-34.5 145h-8q-16 -76 -32.5 -146.5 t-36.5 -142.5l-140 -532h-196z" />
+<glyph unicode="x" horiz-adv-x="913" d="M29 0l325 520l-301 475h183l133 -219q23 -41 47 -83t51 -83h8q23 41 45.5 83t44.5 83l121 219h176l-301 -493l324 -502h-183l-145 231q-27 45 -53.5 90.5t-54.5 88.5h-9q-27 -43 -51 -87t-49 -92l-135 -231h-176z" />
+<glyph unicode="y" horiz-adv-x="956" d="M25 995h174l202 -551q23 -66 48.5 -138.5t48.5 -141.5h8q23 68 43 141.5t41 138.5l178 551h164l-375 -1077q-27 -74 -59.5 -137.5t-77.5 -109.5t-102.5 -72.5t-133.5 -26.5q-35 0 -63.5 5t-52.5 15l32 134q16 -4 37 -9.5t39 -5.5q86 0 140.5 60.5t84.5 152.5l23 74z" />
+<glyph unicode="z" horiz-adv-x="870" d="M63 0v90l525 768h-467v137h680v-90l-525 -768h541v-137h-754z" />
+<glyph unicode="{" horiz-adv-x="620" d="M70 516v107q51 0 85.5 14t54 35.5t28 50.5t8.5 57q0 98 -9.5 194.5t-9.5 203.5q0 78 14.5 130t44 83.5t75 45t104.5 13.5h94v-98h-57q-82 0 -109.5 -42t-27.5 -143q0 -90 6 -183t6 -187q0 -100 -29 -152.5t-94 -71.5v-8q66 -18 94.5 -71.5t28.5 -151.5q0 -104 -6 -190 t-6 -181q0 -100 27.5 -143t109.5 -43h57v-96h-94q-59 0 -104.5 13t-75 44t-44 83t-14.5 132q0 55 3 105.5t6.5 97.5t6.5 94t3 98q0 31 -8.5 58.5t-28 50t-54 37t-85.5 14.5z" />
+<glyph unicode="|" horiz-adv-x="493" d="M188 -512v2048h119v-2048h-119z" />
+<glyph unicode="}" horiz-adv-x="620" d="M63 -215h54q84 0 111.5 43t27.5 143q0 94 -5 180.5t-5 190.5q0 98 27.5 151.5t93.5 71.5v8q-66 18 -93.5 70.5t-27.5 153.5q0 94 5 187t5 183q0 100 -27.5 142.5t-111.5 42.5h-54v98h91q123 0 181 -58.5t58 -213.5q0 -106 -9 -202.5t-9 -195.5q0 -59 37 -107t139 -50 v-107q-51 0 -85 -14.5t-54.5 -37t-28.5 -50t-8 -58.5q0 -51 3 -98l6 -94t6 -97.5t3 -105.5q0 -80 -14 -132t-44 -83t-75 -44t-106 -13h-91v96z" />
+<glyph unicode="~" d="M74 641q55 98 122.5 141t133.5 43q61 0 109 -26.5t90 -59t81 -59.5t82 -27q45 0 84 30t74 95l94 -69q-55 -98 -122.5 -140.5t-133.5 -42.5q-61 0 -109.5 27t-90.5 59.5t-80.5 59t-81.5 26.5q-45 0 -84 -29.5t-74 -95.5z" />
+<glyph unicode="&#xa1;" horiz-adv-x="591" d="M174 893q0 55 36 91t87 36q49 0 85 -36t36 -91q0 -59 -36 -95t-85 -36q-51 0 -87 36t-36 95zM211 -377l4 193l23 774h116l23 -774l4 -193h-170z" />
+<glyph unicode="&#xa2;" d="M125 635q0 106 31.5 190t87 145.5t131.5 99.5t162 50v217h106v-211q90 -4 155.5 -38.5t112.5 -79.5l-82 -107q-41 37 -87 59.5t-99 26.5v-704q66 4 119 31.5t94 64.5l74 -107q-59 -53 -133 -87.5t-154 -41.5v-211h-106v213q-92 10 -168 48t-130.5 99.5t-84 147.5 t-29.5 195zM293 635q0 -137 63.5 -227.5t180.5 -116.5v686q-113 -27 -178.5 -117t-65.5 -225z" />
+<glyph unicode="&#xa3;" d="M109 584v106l137 8h37q-20 66 -38 128.5t-18 127.5q0 86 28 156t78 119t119.5 75.5t155.5 26.5q111 0 187.5 -44t130.5 -109l-99 -97q-39 47 -88 78t-118 31q-111 0 -169.5 -66.5t-58.5 -173.5q0 -66 15.5 -126t33.5 -126h326v-114h-299q4 -29 7 -56.5t3 -58.5 q0 -109 -32.5 -180.5t-94.5 -134.5v-9h576v-145h-817v102q104 57 160.5 154.5t56.5 214.5q0 29 -4.5 56.5t-10.5 56.5h-204z" />
+<glyph unicode="&#xa4;" d="M53 303l131 133q-35 47 -54 106.5t-19 131.5t19.5 132t53.5 107l-131 136l90 92l140 -144q98 76 227 76q59 0 118.5 -19.5t106.5 -56.5l139 144l91 -92l-134 -136q35 -47 55.5 -107.5t20.5 -131.5q0 -72 -20.5 -131.5t-55.5 -106.5l134 -133l-91 -92l-139 141 q-47 -39 -106.5 -58.5t-118.5 -19.5q-131 0 -227 78l-140 -141zM266 674q0 -61 19.5 -111.5t52.5 -87.5t78 -56.5t94 -19.5t93 19.5t77 56.5t52.5 87t19.5 112q0 61 -19.5 111.5t-52.5 87t-77 56t-93 19.5t-94 -19.5t-78 -56t-52.5 -87t-19.5 -111.5z" />
+<glyph unicode="&#xa5;" d="M47 1307h176l160 -351q31 -68 60.5 -136t62.5 -140h8q35 72 64.5 140.5t60.5 135.5l160 351h172l-336 -656h291v-96h-334v-133h334v-98h-334v-324h-168v324h-332v98h332v133h-332v96h289z" />
+<glyph unicode="&#xa6;" horiz-adv-x="493" d="M188 438h119v-950h-119v950zM188 596v940h119v-940h-119z" />
+<glyph unicode="&#xa7;" d="M92 702q0 90 49 156t127 109q-31 33 -48 73.5t-17 94.5q0 53 19.5 101t59.5 85t97 58.5t135 21.5q98 0 177 -35t138 -82l-81 -108q-49 41 -104.5 67.5t-123.5 26.5q-86 0 -124 -38t-38 -91q0 -55 42 -92t105.5 -68t136.5 -61.5t136.5 -74.5t105.5 -106.5t42 -156.5 q0 -98 -48.5 -159t-125.5 -106q29 -35 45 -74.5t16 -92.5q0 -61 -24.5 -112.5t-68.5 -88.5t-104.5 -58.5t-132.5 -21.5q-111 0 -200.5 39t-153.5 106l102 92q51 -49 110.5 -77.5t141.5 -28.5t128 41t46 100q0 57 -42 96t-104 70t-136 60.5t-136.5 72.5t-104.5 105.5 t-42 156.5zM240 713q0 -68 41 -112t103 -76.5t135 -62.5t136 -67q59 29 91 68t32 106q0 70 -41 115t-102.5 79t-134 62.5t-135.5 65.5q-59 -33 -92 -74t-33 -104z" />
+<glyph unicode="&#xa8;" horiz-adv-x="1110" d="M279 1305q0 43 27.5 71.5t72.5 28.5q43 0 71.5 -28.5t28.5 -71.5t-28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM631 1305q0 43 28.5 71.5t71.5 28.5q45 0 72.5 -28.5t27.5 -71.5t-27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1523" d="M100 662q0 156 53.5 280.5t143.5 212.5t211 135t254 47t253 -47t211 -135t144 -213t53 -280q0 -158 -53 -284t-144 -215t-211 -137.5t-253 -48.5t-254 48.5t-211 137.5t-143.5 215t-53.5 284zM197 662q0 -135 45 -245t121.5 -188.5t179 -122t219.5 -43.5t219 43.5 t179 122t122 188t45 245.5q0 133 -45 242.5t-122 187t-179 119.5t-219 42t-219.5 -42t-179 -119.5t-121.5 -187t-45 -242.5zM406 662q0 88 31.5 159.5t83.5 122.5t121 78t142 27q86 0 146.5 -34t109.5 -83l-71 -80q-41 41 -83 62.5t-95 21.5q-113 0 -181.5 -77t-68.5 -197 q0 -135 66.5 -214t176.5 -79q66 0 115 25.5t94 64.5l62 -86q-57 -49 -121 -83t-156 -34q-78 0 -145.5 27.5t-118.5 80t-79.5 127.5t-28.5 171z" />
+<glyph unicode="&#xaa;" horiz-adv-x="706" d="M76 709q0 109 97 166t310 77q-2 66 -28.5 109t-98.5 43q-53 0 -109.5 -22.5t-96.5 -47.5l-48 86q51 33 122 60.5t151 27.5q123 0 179 -71.5t56 -202.5v-402h-102l-14 76h-9q-41 -37 -92 -64.5t-114 -27.5q-92 0 -147.5 53.5t-55.5 139.5zM201 719q0 -53 30.5 -77 t83.5 -24q80 0 168 82v172q-158 -16 -220 -56t-62 -97z" />
+<glyph unicode="&#xab;" horiz-adv-x="878" d="M92 453v127l279 317l73 -61l-241 -320l241 -323l-73 -58zM416 453v127l279 317l73 -61l-241 -320l241 -323l-73 -58z" />
+<glyph unicode="&#xac;" d="M70 612v127h878v-526h-135v399h-743z" />
+<glyph unicode="&#xad;" horiz-adv-x="636" d="M84 449v129h471v-129h-471z" />
+<glyph unicode="&#xae;" horiz-adv-x="866" d="M47 1057q0 90 31 163.5t83 127t121.5 83t149.5 29.5t150.5 -29.5t123 -83t83 -127t30.5 -163.5t-30.5 -164t-83 -127t-123 -83t-150.5 -30t-149.5 30t-121.5 83t-83 127t-31 164zM129 1057q0 -74 23.5 -134.5t63.5 -103.5t95 -66.5t121 -23.5q63 0 119.5 23.5t97.5 66.5 t64.5 103.5t23.5 134.5q0 72 -23.5 132t-64.5 104t-97 68.5t-120 24.5q-66 0 -121 -24.5t-95 -68.5t-63.5 -104.5t-23.5 -131.5zM285 854v416h155q66 0 113 -30t47 -103q0 -37 -20.5 -69t-55.5 -44l94 -170h-94l-71 143h-84v-143h-84zM369 1063h53q88 0 88 70q0 31 -18.5 49 t-65.5 18h-57v-137z" />
+<glyph unicode="&#xaf;" horiz-adv-x="1110" d="M303 1231v117h504v-117h-504z" />
+<glyph unicode="&#xb0;" horiz-adv-x="677" d="M84 1139q0 61 20.5 109t56.5 83t82 53.5t97 18.5t97 -18.5t82 -53.5t56.5 -83t20.5 -109q0 -59 -20.5 -107.5t-56.5 -82.5t-82 -52t-97 -18t-97 18t-82 52t-56.5 82t-20.5 108zM186 1139q0 -72 43 -119t111 -47t111 47t43 119q0 76 -43 123t-111 47t-111 -47.5 t-43 -122.5z" />
+<glyph unicode="&#xb1;" d="M70 0v127h878v-127h-878zM70 623v127h372v389h133v-389h373v-127h-373v-363h-133v363h-372z" />
+<glyph unicode="&#xb2;" horiz-adv-x="751" d="M82 1569q47 70 115.5 112.5t150.5 42.5q121 0 193.5 -65.5t72.5 -192.5q0 -57 -22.5 -110.5t-62.5 -107.5t-94 -111.5t-118 -122.5h338v-113h-549v76q92 84 164 150.5t119 121.5t71.5 103.5t24.5 93.5q0 78 -41 123t-112 45q-51 0 -94 -34t-78 -83z" />
+<glyph unicode="&#xb3;" horiz-adv-x="751" d="M72 1032l88 68q37 -55 88 -87t114 -32q66 0 113 37t47 106q0 70 -65.5 106t-182.5 36v84q104 0 161 40.5t57 102.5q0 57 -40 92t-106 35q-45 0 -86 -27.5t-76 -68.5l-80 69q53 59 116 95t147 36q51 0 97 -14t81 -42t55.5 -68t20.5 -91q0 -72 -39 -120t-101 -76 q68 -16 120 -66.5t52 -130.5q0 -55 -22.5 -99t-61.5 -76t-91 -48.5t-109 -16.5q-98 0 -174 44t-123 112z" />
+<glyph unicode="&#xb4;" horiz-adv-x="1110" d="M422 1174l184 288h176l-231 -288h-129z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1126" d="M168 -410v1405h168v-608q0 -141 45 -203.5t143 -62.5q78 0 136.5 40t130.5 128v706h167v-995h-139l-14 156h-4q-59 -80 -130 -126t-157 -46q-59 0 -106.5 17t-81.5 71l10 -185v-297h-168z" />
+<glyph unicode="&#xb6;" horiz-adv-x="1146" d="M84 907q0 121 37 204t103.5 135t156.5 74.5t197 22.5h90v-880h-68q-111 0 -206 25.5t-163.5 80t-107.5 138.5t-39 200zM778 -164v1507h172v-1507h-172z" />
+<glyph unicode="&#xb7;" horiz-adv-x="509" d="M133 657q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91z" />
+<glyph unicode="&#xb8;" horiz-adv-x="1110" d="M393 -352q82 10 132 33.5t50 64.5t-33.5 62.5t-95.5 37.5l82 160h109l-52 -108q49 -16 85 -49t36 -97q0 -45 -24.5 -77.5t-65.5 -55t-95 -36t-112 -19.5z" />
+<glyph unicode="&#xb9;" horiz-adv-x="751" d="M178 1532v86q68 12 113 31.5t86 50.5h106v-799h-131v631h-174z" />
+<glyph unicode="&#xba;" horiz-adv-x="747" d="M61 862q0 82 25 146.5t68 108.5t99 67.5t120 23.5q63 0 119.5 -23.5t99.5 -67.5t67.5 -108.5t24.5 -146.5t-24.5 -146.5t-67.5 -108.5t-99.5 -67.5t-119.5 -23.5t-119.5 23.5t-99.5 67.5t-68 108.5t-25 146.5zM190 862q0 -109 48.5 -175t134.5 -66t133 66.5t47 174.5 q0 111 -47 176.5t-133 65.5t-134.5 -65.5t-48.5 -176.5z" />
+<glyph unicode="&#xbb;" horiz-adv-x="878" d="M111 193l241 323l-241 320l71 61l281 -317v-127l-281 -318zM435 193l241 323l-241 320l71 61l281 -317v-127l-281 -318z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1599" d="M131 1176v86q68 12 113 31.5t86 50.5h106v-799h-131v631h-174zM369 -25l741 1393h115l-741 -1393h-115zM932 213v68l336 518h147v-492h119v-94h-119v-213h-118v213h-365zM1069 307h228v144l8 223h-8l-103 -166z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1654" d="M131 1176v86q68 12 113 31.5t86 50.5h106v-799h-131v631h-174zM326 -25l741 1393h115l-741 -1393h-115zM985 668q47 70 115.5 112.5t150.5 42.5q121 0 193.5 -65.5t72.5 -192.5q0 -57 -22.5 -110.5t-62.5 -107.5t-94 -111.5t-118 -122.5h338v-113h-549v76 q92 84 164 150.5t119 121.5t71.5 103.5t24.5 93.5q0 78 -41 123t-112 45q-51 0 -94 -34t-78 -83z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1630" d="M72 676l88 68q37 -55 88 -87t114 -32q66 0 113 37t47 106q0 70 -65.5 106t-182.5 36v84q104 0 161 40.5t57 102.5q0 57 -40 92t-106 35q-45 0 -86 -27.5t-76 -68.5l-80 69q53 59 116 95t147 36q51 0 97 -14t81 -42t55.5 -68t20.5 -91q0 -72 -39 -120t-101 -76 q68 -16 120 -66.5t52 -130.5q0 -55 -22.5 -99t-61.5 -76t-91 -48.5t-109 -16.5q-98 0 -174 44t-123 112zM444 -25l741 1393h115l-741 -1393h-115zM963 213v68l336 518h147v-492h119v-94h-119v-213h-118v213h-365zM1100 307h228v144l8 223h-8l-103 -166z" />
+<glyph unicode="&#xbf;" horiz-adv-x="870" d="M98 -74q0 68 24.5 123t60.5 104.5t76 97.5t73 99t51 109.5t10 130.5h150q10 -80 -6.5 -144.5t-47 -119t-70.5 -101.5t-75 -93t-58.5 -94t-23.5 -101q0 -82 49 -139.5t150 -57.5q68 0 127 30.5t106 86.5l99 -88q-66 -72 -150 -121t-194 -49q-160 0 -255.5 87t-95.5 240z M342 893q0 55 36 91t87 36q49 0 85 -36t36 -91q0 -59 -36 -95t-85 -36q-51 0 -87 36t-36 95z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1101" d="M0 0l455 1343h192l455 -1343h-180l-129 410h-490l-129 -410h-174zM281 1675h192l180 -229h-141zM346 547h404l-64 205q-35 113 -67.5 224t-65.5 228h-8q-33 -117 -66 -228.5t-67 -223.5z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1101" d="M0 0l455 1343h192l455 -1343h-180l-129 410h-490l-129 -410h-174zM346 547h404l-64 205q-35 113 -67.5 224t-65.5 228h-8q-33 -117 -66 -228.5t-67 -223.5zM445 1446l180 229h192l-231 -229h-141z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1101" d="M0 0l455 1343h192l455 -1343h-180l-129 410h-490l-129 -410h-174zM270 1446l197 229h164l197 -229h-138l-137 139h-8l-137 -139h-138zM346 547h404l-64 205q-35 113 -67.5 224t-65.5 228h-8q-33 -117 -66 -228.5t-67 -223.5z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1101" d="M0 0l455 1343h192l455 -1343h-180l-129 410h-490l-129 -410h-174zM252 1456q10 96 55 158.5t119 62.5q41 0 74 -16t60.5 -36.5t54 -37t55.5 -16.5t51.5 27.5t30.5 78.5h94q-10 -94 -55 -157.5t-119 -63.5q-41 0 -74 16.5t-60.5 37t-54 37t-55.5 16.5t-51.5 -27t-30.5 -80 h-94zM346 547h404l-64 205q-35 113 -67.5 224t-65.5 228h-8q-33 -117 -66 -228.5t-67 -223.5z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1101" d="M0 0l455 1343h192l455 -1343h-180l-129 410h-490l-129 -410h-174zM273 1565q0 45 27.5 72.5t72.5 27.5q43 0 71.5 -27.5t28.5 -72.5q0 -43 -28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM346 547h404l-64 205q-35 113 -67.5 224t-65.5 228h-8q-33 -117 -66 -228.5 t-67 -223.5zM625 1565q0 45 28.5 72.5t71.5 27.5q45 0 72.5 -27.5t27.5 -72.5q0 -43 -27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1101" d="M0 0l455 1343h192l455 -1343h-180l-129 410h-490l-129 -410h-174zM346 547h404l-64 205q-35 113 -67.5 224t-65.5 228h-8q-33 -117 -66 -228.5t-67 -223.5zM359 1612q0 82 53 131t137 49q82 0 136 -49t54 -131q0 -84 -54 -132t-136 -48q-84 0 -137 48t-53 132zM451 1612 q0 -51 28.5 -79t69.5 -28q39 0 67.5 28t28.5 79q0 47 -28.5 75.5t-67.5 28.5q-41 0 -69.5 -28.5t-28.5 -75.5z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1673" d="M12 0l705 1343h842v-143h-572v-422h477v-145h-477v-488h592v-145h-762v391h-426l-203 -391h-176zM463 528h354v680h-8q-53 -111 -110.5 -219t-110.5 -219z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1159" d="M100 672q0 162 45 291t126 219t190.5 138t238.5 48q121 0 214.5 -50t152.5 -116l-96 -108q-53 57 -119 91t-150 34q-96 0 -174.5 -38t-134 -109t-86.5 -171t-31 -225q0 -127 30 -228.5t84 -173t131 -110.5t173 -39t169 39t138 110l97 -104q-78 -92 -178.5 -143.5 t-229.5 -51.5q-127 0 -234.5 47.5t-186.5 136.5t-124 219t-45 294zM524 -352q82 10 132 33.5t50 64.5t-33.5 62.5t-95.5 37.5l82 160h109l-52 -108q49 -16 85 -49t36 -97q0 -45 -24.5 -77.5t-65.5 -55t-95 -36t-112 -19.5z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1069" d="M178 0v1343h774v-143h-602v-422h508v-145h-508v-488h623v-145h-795zM310 1675h192l180 -229h-141z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1069" d="M178 0v1343h774v-143h-602v-422h508v-145h-508v-488h623v-145h-795zM474 1446l180 229h192l-231 -229h-141z" />
+<glyph unicode="&#xca;" horiz-adv-x="1069" d="M178 0v1343h774v-143h-602v-422h508v-145h-508v-488h623v-145h-795zM299 1446l197 229h164l197 -229h-138l-137 139h-8l-137 -139h-138z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1069" d="M178 0v1343h774v-143h-602v-422h508v-145h-508v-488h623v-145h-795zM302 1565q0 45 27.5 72.5t72.5 27.5q43 0 71.5 -27.5t28.5 -72.5q0 -43 -28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM654 1565q0 45 28.5 72.5t71.5 27.5q45 0 72.5 -27.5t27.5 -72.5 q0 -43 -27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xcc;" horiz-adv-x="528" d="M-4 1675h192l180 -229h-141zM178 0v1343h172v-1343h-172z" />
+<glyph unicode="&#xcd;" horiz-adv-x="528" d="M160 1446l180 229h192l-231 -229h-141zM178 0v1343h172v-1343h-172z" />
+<glyph unicode="&#xce;" horiz-adv-x="528" d="M-15 1446l197 229h164l197 -229h-138l-137 139h-8l-137 -139h-138zM178 0v1343h172v-1343h-172z" />
+<glyph unicode="&#xcf;" horiz-adv-x="528" d="M-12 1565q0 45 27.5 72.5t72.5 27.5q43 0 71.5 -27.5t28.5 -72.5q0 -43 -28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM178 0v1343h172v-1343h-172zM340 1565q0 45 28.5 72.5t71.5 27.5q45 0 72.5 -27.5t27.5 -72.5q0 -43 -27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z " />
+<glyph unicode="&#xd0;" horiz-adv-x="1292" d="M61 657v88l158 9v589h336q311 0 473 -172t162 -493q0 -160 -41 -286t-121 -213t-196.5 -133t-268.5 -46h-344v657h-158zM389 139h154q236 0 353.5 141.5t117.5 397.5t-118 391t-353 135h-154v-450h311v-97h-311v-518z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1314" d="M178 0v1343h176l488 -843l145 -279h8q-6 102 -14 212t-8 216v694h162v-1343h-177l-485 846l-145 276h-9q6 -102 13.5 -207.5t7.5 -212.5v-702h-162zM367 1456q10 96 55 158.5t119 62.5q41 0 74 -16t60.5 -36.5t54 -37t55.5 -16.5t51.5 27.5t30.5 78.5h94 q-10 -94 -55 -157.5t-119 -63.5q-41 0 -74 16.5t-60.5 37t-54 37t-55.5 16.5t-51.5 -27t-30.5 -80h-94z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1349" d="M100 678q0 162 42 290t119 217t182.5 136t232.5 47q125 0 230.5 -48t182 -137t118.5 -217t42 -288q0 -162 -42 -292t-118.5 -221t-182 -140.5t-230.5 -49.5q-127 0 -232.5 49.5t-182.5 140.5t-119 221t-42 292zM276 678q0 -127 29 -228.5t81 -174t126 -111.5t164 -39 t162.5 39t125 111.5t81 174t28.5 228.5q0 125 -28.5 225.5t-81 170t-125 107.5t-162.5 38t-164 -38t-126 -107.5t-81 -170t-29 -225.5zM406 1675h192l180 -229h-141z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1349" d="M100 678q0 162 42 290t119 217t182.5 136t232.5 47q125 0 230.5 -48t182 -137t118.5 -217t42 -288q0 -162 -42 -292t-118.5 -221t-182 -140.5t-230.5 -49.5q-127 0 -232.5 49.5t-182.5 140.5t-119 221t-42 292zM276 678q0 -127 29 -228.5t81 -174t126 -111.5t164 -39 t162.5 39t125 111.5t81 174t28.5 228.5q0 125 -28.5 225.5t-81 170t-125 107.5t-162.5 38t-164 -38t-126 -107.5t-81 -170t-29 -225.5zM570 1446l180 229h192l-231 -229h-141z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1349" d="M100 678q0 162 42 290t119 217t182.5 136t232.5 47q125 0 230.5 -48t182 -137t118.5 -217t42 -288q0 -162 -42 -292t-118.5 -221t-182 -140.5t-230.5 -49.5q-127 0 -232.5 49.5t-182.5 140.5t-119 221t-42 292zM276 678q0 -127 29 -228.5t81 -174t126 -111.5t164 -39 t162.5 39t125 111.5t81 174t28.5 228.5q0 125 -28.5 225.5t-81 170t-125 107.5t-162.5 38t-164 -38t-126 -107.5t-81 -170t-29 -225.5zM395 1446l197 229h164l197 -229h-138l-137 139h-8l-137 -139h-138z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1349" d="M100 678q0 162 42 290t119 217t182.5 136t232.5 47q125 0 230.5 -48t182 -137t118.5 -217t42 -288q0 -162 -42 -292t-118.5 -221t-182 -140.5t-230.5 -49.5q-127 0 -232.5 49.5t-182.5 140.5t-119 221t-42 292zM276 678q0 -127 29 -228.5t81 -174t126 -111.5t164 -39 t162.5 39t125 111.5t81 174t28.5 228.5q0 125 -28.5 225.5t-81 170t-125 107.5t-162.5 38t-164 -38t-126 -107.5t-81 -170t-29 -225.5zM377 1456q10 96 55 158.5t119 62.5q41 0 74 -16t60.5 -36.5t54 -37t55.5 -16.5t51.5 27.5t30.5 78.5h94q-10 -94 -55 -157.5t-119 -63.5 q-41 0 -74 16.5t-60.5 37t-54 37t-55.5 16.5t-51.5 -27t-30.5 -80h-94z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1349" d="M100 678q0 162 42 290t119 217t182.5 136t232.5 47q125 0 230.5 -48t182 -137t118.5 -217t42 -288q0 -162 -42 -292t-118.5 -221t-182 -140.5t-230.5 -49.5q-127 0 -232.5 49.5t-182.5 140.5t-119 221t-42 292zM276 678q0 -127 29 -228.5t81 -174t126 -111.5t164 -39 t162.5 39t125 111.5t81 174t28.5 228.5q0 125 -28.5 225.5t-81 170t-125 107.5t-162.5 38t-164 -38t-126 -107.5t-81 -170t-29 -225.5zM398 1565q0 45 27.5 72.5t72.5 27.5q43 0 71.5 -27.5t28.5 -72.5q0 -43 -28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM750 1565 q0 45 28.5 72.5t71.5 27.5q45 0 72.5 -27.5t27.5 -72.5q0 -43 -27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xd7;" d="M102 350l318 326l-318 323l91 93l317 -326l315 326l90 -93l-317 -323l317 -326l-90 -92l-315 328l-317 -328z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1349" d="M96 12l142 185q-66 90 -102 210.5t-36 270.5q0 162 42 290t119 217t182.5 136t232.5 47q106 0 198.5 -34t163.5 -99l129 170l97 -72l-146 -188q63 -88 97 -205t34 -262q0 -162 -42 -292t-118.5 -221t-182 -140.5t-230.5 -49.5q-209 0 -357 129l-126 -165zM276 678 q0 -203 72 -340l590 768q-102 113 -262 113q-90 0 -164 -38t-126 -107.5t-81 -170t-29 -225.5zM420 233q102 -109 256 -108q90 0 162.5 39t125 111.5t81 174t28.5 228.5q0 193 -65 323z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1310" d="M172 555v788h172v-792q0 -121 24.5 -203t66.5 -131t98.5 -70.5t121.5 -21.5q68 0 126.5 21.5t101.5 70.5t67.5 131t24.5 203v792h164v-788q0 -162 -37 -272.5t-101.5 -179t-153.5 -98.5t-192 -30q-102 0 -191 30t-153.5 98.5t-101.5 179t-37 272.5zM387 1675h192 l180 -229h-141z" />
+<glyph unicode="&#xda;" horiz-adv-x="1310" d="M172 555v788h172v-792q0 -121 24.5 -203t66.5 -131t98.5 -70.5t121.5 -21.5q68 0 126.5 21.5t101.5 70.5t67.5 131t24.5 203v792h164v-788q0 -162 -37 -272.5t-101.5 -179t-153.5 -98.5t-192 -30q-102 0 -191 30t-153.5 98.5t-101.5 179t-37 272.5zM551 1446l180 229h192 l-231 -229h-141z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1310" d="M172 555v788h172v-792q0 -121 24.5 -203t66.5 -131t98.5 -70.5t121.5 -21.5q68 0 126.5 21.5t101.5 70.5t67.5 131t24.5 203v792h164v-788q0 -162 -37 -272.5t-101.5 -179t-153.5 -98.5t-192 -30q-102 0 -191 30t-153.5 98.5t-101.5 179t-37 272.5zM376 1446l197 229h164 l197 -229h-138l-137 139h-8l-137 -139h-138z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1310" d="M172 555v788h172v-792q0 -121 24.5 -203t66.5 -131t98.5 -70.5t121.5 -21.5q68 0 126.5 21.5t101.5 70.5t67.5 131t24.5 203v792h164v-788q0 -162 -37 -272.5t-101.5 -179t-153.5 -98.5t-192 -30q-102 0 -191 30t-153.5 98.5t-101.5 179t-37 272.5zM379 1565 q0 45 27.5 72.5t72.5 27.5q43 0 71.5 -27.5t28.5 -72.5q0 -43 -28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM731 1565q0 45 28.5 72.5t71.5 27.5q45 0 72.5 -27.5t27.5 -72.5q0 -43 -27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xdd;" horiz-adv-x="964" d="M-8 1343h184l172 -378q33 -74 64.5 -145.5t66.5 -147.5h8q35 76 69 147.5t65 145.5l174 378h176l-404 -823v-520h-170v520zM377 1446l180 229h192l-231 -229h-141z" />
+<glyph unicode="&#xde;" horiz-adv-x="1193" d="M182 0v1343h170v-225h242q111 0 203 -20.5t156.5 -67.5t100.5 -121.5t36 -185.5q0 -106 -36 -185t-101.5 -130.5t-156.5 -76t-202 -24.5h-242v-307h-170zM352 446h221q176 0 261.5 66t85.5 211t-86 200.5t-261 55.5h-221v-533z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1179" d="M168 0v1055q0 193 104.5 308.5t296.5 115.5q80 0 142.5 -23.5t105.5 -64.5t64.5 -95.5t21.5 -115.5q0 -78 -28.5 -132.5t-64.5 -99.5t-64.5 -87t-28.5 -95q0 -49 29.5 -82t74.5 -58.5t97.5 -52t97.5 -63.5t74.5 -92.5t29.5 -136.5q0 -66 -22.5 -121.5t-65.5 -96 t-103.5 -64.5t-135.5 -24q-86 0 -156 27t-133 74l67 119q53 -45 105.5 -67t111.5 -22q86 0 129.5 49.5t43.5 114.5q0 59 -30 98.5t-75 68t-97 54t-97.5 58.5t-75 79t-29.5 117q0 70 27.5 119t61.5 94.5t62.5 92.5t28.5 112q0 78 -42 128t-128 50q-111 0 -171 -78.5 t-60 -238.5v-1024h-168z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1048" d="M119 258q0 164 146.5 251t465.5 122q0 47 -9 92t-32.5 80t-62.5 56.5t-101 21.5q-88 0 -162.5 -33t-134.5 -74l-67 117q70 45 170 87t221 42q182 0 264 -111.5t82 -298.5v-610h-139l-15 119h-4q-72 -59 -154.5 -101.5t-174.5 -42.5q-127 0 -210 74t-83 209zM285 270 q0 -86 50 -122.5t124 -36.5q72 0 136 33.5t136 99.5v276q-125 -16 -211 -38.5t-138 -53.5t-74.5 -71t-22.5 -87zM324 1462h176l184 -288h-129z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1048" d="M119 258q0 164 146.5 251t465.5 122q0 47 -9 92t-32.5 80t-62.5 56.5t-101 21.5q-88 0 -162.5 -33t-134.5 -74l-67 117q70 45 170 87t221 42q182 0 264 -111.5t82 -298.5v-610h-139l-15 119h-4q-72 -59 -154.5 -101.5t-174.5 -42.5q-127 0 -210 74t-83 209zM285 270 q0 -86 50 -122.5t124 -36.5q72 0 136 33.5t136 99.5v276q-125 -16 -211 -38.5t-138 -53.5t-74.5 -71t-22.5 -87zM418 1174l184 288h176l-231 -288h-129z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1048" d="M119 258q0 164 146.5 251t465.5 122q0 47 -9 92t-32.5 80t-62.5 56.5t-101 21.5q-88 0 -162.5 -33t-134.5 -74l-67 117q70 45 170 87t221 42q182 0 264 -111.5t82 -298.5v-610h-139l-15 119h-4q-72 -59 -154.5 -101.5t-174.5 -42.5q-127 0 -210 74t-83 209zM285 270 q0 -86 50 -122.5t124 -36.5q72 0 136 33.5t136 99.5v276q-125 -16 -211 -38.5t-138 -53.5t-74.5 -71t-22.5 -87zM287 1174l194 288h140l194 -288h-123l-137 186h-8l-137 -186h-123z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1048" d="M119 258q0 164 146.5 251t465.5 122q0 47 -9 92t-32.5 80t-62.5 56.5t-101 21.5q-88 0 -162.5 -33t-134.5 -74l-67 117q70 45 170 87t221 42q182 0 264 -111.5t82 -298.5v-610h-139l-15 119h-4q-72 -59 -154.5 -101.5t-174.5 -42.5q-127 0 -210 74t-83 209zM266 1186 q8 92 49 154.5t117 62.5q39 0 72 -16.5t60.5 -36t52 -36t49.5 -16.5q57 0 75 105h95q-8 -92 -49 -154.5t-117 -62.5q-39 0 -71 16.5t-59.5 35.5t-52 35.5t-51.5 16.5q-57 0 -75 -104h-95zM285 270q0 -86 50 -122.5t124 -36.5q72 0 136 33.5t136 99.5v276 q-125 -16 -211 -38.5t-138 -53.5t-74.5 -71t-22.5 -87z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1048" d="M119 258q0 164 146.5 251t465.5 122q0 47 -9 92t-32.5 80t-62.5 56.5t-101 21.5q-88 0 -162.5 -33t-134.5 -74l-67 117q70 45 170 87t221 42q182 0 264 -111.5t82 -298.5v-610h-139l-15 119h-4q-72 -59 -154.5 -101.5t-174.5 -42.5q-127 0 -210 74t-83 209zM275 1305 q0 43 27.5 71.5t72.5 28.5q43 0 71.5 -28.5t28.5 -71.5t-28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM285 270q0 -86 50 -122.5t124 -36.5q72 0 136 33.5t136 99.5v276q-125 -16 -211 -38.5t-138 -53.5t-74.5 -71t-22.5 -87zM627 1305q0 43 28.5 71.5t71.5 28.5 q45 0 72.5 -28.5t27.5 -71.5t-27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1048" d="M119 258q0 164 146.5 251t465.5 122q0 47 -9 92t-32.5 80t-62.5 56.5t-101 21.5q-88 0 -162.5 -33t-134.5 -74l-67 117q70 45 170 87t221 42q182 0 264 -111.5t82 -298.5v-610h-139l-15 119h-4q-72 -59 -154.5 -101.5t-174.5 -42.5q-127 0 -210 74t-83 209zM285 270 q0 -86 50 -122.5t124 -36.5q72 0 136 33.5t136 99.5v276q-125 -16 -211 -38.5t-138 -53.5t-74.5 -71t-22.5 -87zM361 1300q0 86 53 137.5t137 51.5t137 -51.5t53 -137.5t-53 -138t-137 -52t-137 52t-53 138zM453 1300q0 -53 28.5 -83.5t69.5 -30.5t69.5 30.5t28.5 83.5 q0 51 -28.5 82t-69.5 31t-69.5 -30.5t-28.5 -82.5z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1607" d="M119 258q0 164 145.5 251t456.5 122q0 47 -8 92t-32 80t-62.5 56.5t-100.5 21.5q-82 0 -155.5 -33t-133.5 -74l-67 117q70 45 168 87t209 42t182.5 -56.5t101.5 -154.5q59 98 142.5 154.5t185.5 56.5q92 0 162.5 -33t119 -94.5t73 -148.5t24.5 -193q0 -57 -6 -94h-645 q2 -78 27.5 -141.5t66.5 -108.5t96 -69.5t119 -24.5q72 0 129 23.5t113 58.5l61 -117q-66 -41 -143.5 -72t-180.5 -31q-125 0 -209 56.5t-141 130.5q-102 -92 -205.5 -139.5t-199.5 -47.5q-127 0 -210 74t-83 209zM285 270q0 -86 50 -122.5t124 -36.5q70 0 151.5 39.5 t149.5 113.5q-16 39 -26.5 93.5t-12.5 111.5v51q-119 -16 -202 -38.5t-135 -53.5t-75.5 -71t-23.5 -87zM879 569h503q0 154 -60 236t-175 82q-104 0 -179 -85t-89 -233z" />
+<glyph unicode="&#xe7;" horiz-adv-x="933" d="M94 496q0 125 39 222t104.5 164.5t152.5 102.5t183 35q98 0 169 -36t122 -83l-84 -108q-45 39 -93 63.5t-107 24.5q-68 0 -125.5 -28t-98.5 -79t-64.5 -121.5t-23.5 -156.5t22.5 -156t62.5 -120t97.5 -77.5t124.5 -27.5q72 0 130.5 29.5t103.5 70.5l76 -111 q-68 -59 -151 -94t-173 -35q-98 0 -184 35t-148.5 101.5t-98.5 164t-36 220.5zM383 -352q82 10 132 33.5t50 64.5t-33.5 62.5t-95.5 37.5l82 160h109l-52 -108q49 -16 85 -49t36 -97q0 -45 -24.5 -77.5t-65.5 -55t-95 -36t-112 -19.5z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1015" d="M94 496q0 123 38 220t100.5 164.5t142.5 103.5t166 36q94 0 168.5 -33t125 -94.5t77 -147.5t26.5 -192q0 -55 -6 -92h-672q10 -162 99.5 -256t232.5 -94q72 0 132 21.5t116 55.5l59 -110q-66 -41 -145.5 -72t-182.5 -31q-100 0 -187 36t-151.5 102.5t-101.5 163 t-37 219.5zM258 571h533q0 154 -64.5 235t-181.5 81q-53 0 -101.5 -21.5t-87.5 -61.5t-64.5 -98.5t-33.5 -134.5zM316 1462h176l184 -288h-129z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1015" d="M94 496q0 123 38 220t100.5 164.5t142.5 103.5t166 36q94 0 168.5 -33t125 -94.5t77 -147.5t26.5 -192q0 -55 -6 -92h-672q10 -162 99.5 -256t232.5 -94q72 0 132 21.5t116 55.5l59 -110q-66 -41 -145.5 -72t-182.5 -31q-100 0 -187 36t-151.5 102.5t-101.5 163 t-37 219.5zM258 571h533q0 154 -64.5 235t-181.5 81q-53 0 -101.5 -21.5t-87.5 -61.5t-64.5 -98.5t-33.5 -134.5zM410 1174l184 288h176l-231 -288h-129z" />
+<glyph unicode="&#xea;" horiz-adv-x="1015" d="M94 496q0 123 38 220t100.5 164.5t142.5 103.5t166 36q94 0 168.5 -33t125 -94.5t77 -147.5t26.5 -192q0 -55 -6 -92h-672q10 -162 99.5 -256t232.5 -94q72 0 132 21.5t116 55.5l59 -110q-66 -41 -145.5 -72t-182.5 -31q-100 0 -187 36t-151.5 102.5t-101.5 163 t-37 219.5zM258 571h533q0 154 -64.5 235t-181.5 81q-53 0 -101.5 -21.5t-87.5 -61.5t-64.5 -98.5t-33.5 -134.5zM279 1174l194 288h140l194 -288h-123l-137 186h-8l-137 -186h-123z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1015" d="M94 496q0 123 38 220t100.5 164.5t142.5 103.5t166 36q94 0 168.5 -33t125 -94.5t77 -147.5t26.5 -192q0 -55 -6 -92h-672q10 -162 99.5 -256t232.5 -94q72 0 132 21.5t116 55.5l59 -110q-66 -41 -145.5 -72t-182.5 -31q-100 0 -187 36t-151.5 102.5t-101.5 163 t-37 219.5zM258 571h533q0 154 -64.5 235t-181.5 81q-53 0 -101.5 -21.5t-87.5 -61.5t-64.5 -98.5t-33.5 -134.5zM267 1305q0 43 27.5 71.5t72.5 28.5q43 0 71.5 -28.5t28.5 -71.5t-28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM619 1305q0 43 28.5 71.5t71.5 28.5 q45 0 72.5 -28.5t27.5 -71.5t-27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xec;" horiz-adv-x="503" d="M25 1462h176l184 -288h-129zM168 0v995h168v-995h-168z" />
+<glyph unicode="&#xed;" horiz-adv-x="503" d="M119 1174l184 288h176l-231 -288h-129zM168 0v995h168v-995h-168z" />
+<glyph unicode="&#xee;" horiz-adv-x="503" d="M-12 1174l194 288h140l194 -288h-123l-137 186h-8l-137 -186h-123zM168 0v995h168v-995h-168z" />
+<glyph unicode="&#xef;" horiz-adv-x="503" d="M-24 1305q0 43 27.5 71.5t72.5 28.5q43 0 71.5 -28.5t28.5 -71.5t-28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM168 0v995h168v-995h-168zM328 1305q0 43 28.5 71.5t71.5 28.5q45 0 72.5 -28.5t27.5 -71.5t-27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1116" d="M109 455q0 104 32.5 189t89 145.5t133 93t166.5 32.5q78 0 150 -32.5t125 -102.5q-29 127 -85 221.5t-134 172.5l-289 -150l-49 84l260 133q-106 82 -229 148l77 106q74 -41 145.5 -86t137.5 -100l291 149l49 -84l-264 -135q123 -125 200.5 -297t77.5 -416 q0 -123 -31.5 -224t-90 -174t-139.5 -113t-181 -40q-86 0 -166 33t-141.5 95.5t-98 151.5t-36.5 200zM268 455q0 -78 22.5 -140.5t62.5 -106.5t91.5 -68.5t110.5 -24.5q70 0 121 29.5t86 83t52 128t17 164.5q0 29 -1 57.5t-3 55.5q-68 90 -135 120.5t-137 30.5 q-68 0 -121 -24.5t-90 -69.5t-56.5 -105.5t-19.5 -129.5z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1120" d="M168 0v995h139l15 -143h6q72 72 150.5 120t183.5 48q158 0 230.5 -98.5t72.5 -290.5v-631h-168v608q0 141 -45 203.5t-144 62.5q-78 0 -137 -38.5t-135 -114.5v-721h-168zM313 1186q8 92 49 154.5t117 62.5q39 0 72 -16.5t60.5 -36t52 -36t49.5 -16.5q57 0 75 105h95 q-8 -92 -49 -154.5t-117 -62.5q-39 0 -71 16.5t-59.5 35.5t-52 35.5t-51.5 16.5q-57 0 -75 -104h-95z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1110" d="M94 496q0 125 38 222t101.5 164.5t146.5 102.5t175 35t175 -35t146.5 -102.5t101.5 -164.5t38 -222q0 -123 -38 -220.5t-101.5 -164t-146.5 -101.5t-175 -35t-175 35t-146.5 101.5t-101.5 164t-38 220.5zM268 496q0 -86 20.5 -156t58.5 -120t91.5 -77.5t116.5 -27.5 t116.5 27.5t91.5 77.5t58.5 120t20.5 156t-20.5 156.5t-58.5 121.5t-91.5 79t-116.5 28t-116.5 -28t-91.5 -79t-58.5 -121.5t-20.5 -156.5zM328 1462h176l184 -288h-129z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1110" d="M94 496q0 125 38 222t101.5 164.5t146.5 102.5t175 35t175 -35t146.5 -102.5t101.5 -164.5t38 -222q0 -123 -38 -220.5t-101.5 -164t-146.5 -101.5t-175 -35t-175 35t-146.5 101.5t-101.5 164t-38 220.5zM268 496q0 -86 20.5 -156t58.5 -120t91.5 -77.5t116.5 -27.5 t116.5 27.5t91.5 77.5t58.5 120t20.5 156t-20.5 156.5t-58.5 121.5t-91.5 79t-116.5 28t-116.5 -28t-91.5 -79t-58.5 -121.5t-20.5 -156.5zM422 1174l184 288h176l-231 -288h-129z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1110" d="M94 496q0 125 38 222t101.5 164.5t146.5 102.5t175 35t175 -35t146.5 -102.5t101.5 -164.5t38 -222q0 -123 -38 -220.5t-101.5 -164t-146.5 -101.5t-175 -35t-175 35t-146.5 101.5t-101.5 164t-38 220.5zM268 496q0 -86 20.5 -156t58.5 -120t91.5 -77.5t116.5 -27.5 t116.5 27.5t91.5 77.5t58.5 120t20.5 156t-20.5 156.5t-58.5 121.5t-91.5 79t-116.5 28t-116.5 -28t-91.5 -79t-58.5 -121.5t-20.5 -156.5zM291 1174l194 288h140l194 -288h-123l-137 186h-8l-137 -186h-123z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1110" d="M94 496q0 125 38 222t101.5 164.5t146.5 102.5t175 35t175 -35t146.5 -102.5t101.5 -164.5t38 -222q0 -123 -38 -220.5t-101.5 -164t-146.5 -101.5t-175 -35t-175 35t-146.5 101.5t-101.5 164t-38 220.5zM268 496q0 -86 20.5 -156t58.5 -120t91.5 -77.5t116.5 -27.5 t116.5 27.5t91.5 77.5t58.5 120t20.5 156t-20.5 156.5t-58.5 121.5t-91.5 79t-116.5 28t-116.5 -28t-91.5 -79t-58.5 -121.5t-20.5 -156.5zM270 1186q8 92 49 154.5t117 62.5q39 0 72 -16.5t60.5 -36t52 -36t49.5 -16.5q57 0 75 105h95q-8 -92 -49 -154.5t-117 -62.5 q-39 0 -71 16.5t-59.5 35.5t-52 35.5t-51.5 16.5q-57 0 -75 -104h-95z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1110" d="M94 496q0 125 38 222t101.5 164.5t146.5 102.5t175 35t175 -35t146.5 -102.5t101.5 -164.5t38 -222q0 -123 -38 -220.5t-101.5 -164t-146.5 -101.5t-175 -35t-175 35t-146.5 101.5t-101.5 164t-38 220.5zM268 496q0 -86 20.5 -156t58.5 -120t91.5 -77.5t116.5 -27.5 t116.5 27.5t91.5 77.5t58.5 120t20.5 156t-20.5 156.5t-58.5 121.5t-91.5 79t-116.5 28t-116.5 -28t-91.5 -79t-58.5 -121.5t-20.5 -156.5zM279 1305q0 43 27.5 71.5t72.5 28.5q43 0 71.5 -28.5t28.5 -71.5t-28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM631 1305 q0 43 28.5 71.5t71.5 28.5q45 0 72.5 -28.5t27.5 -71.5t-27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xf7;" d="M70 612v127h878v-127h-878zM397 307q0 47 33 78t80 31t79 -31t32 -78q0 -49 -32 -79.5t-79 -30.5t-80 30.5t-33 79.5zM397 1044q0 47 33 78t80 31t79 -30.5t32 -78.5q0 -49 -32 -79.5t-79 -30.5t-80 30.5t-33 79.5z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1110" d="M94 12l111 133q-51 66 -81 153t-30 198q0 125 38 222t101.5 164.5t146.5 102.5t175 35q78 0 151.5 -25.5t133.5 -76.5l102 124l74 -59l-111 -133q51 -66 81 -155t30 -199q0 -123 -38 -220.5t-101.5 -164t-146.5 -101.5t-175 -35q-162 0 -285 101l-100 -123zM260 504 q0 -137 47 -232l438 531q-76 82 -190 82q-63 0 -117.5 -28t-93.5 -78t-61.5 -120.5t-22.5 -154.5zM365 190q80 -80 190 -79q63 0 117.5 27.5t94.5 77.5t61.5 120t21.5 153q0 137 -49 234z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1114" d="M154 365v630h170v-608q0 -141 44 -203.5t142 -62.5q78 0 137.5 40t130.5 128v706h168v-995h-139l-14 156h-7q-70 -82 -146.5 -131.5t-180.5 -49.5q-160 0 -232.5 98.5t-72.5 291.5zM330 1462h176l184 -288h-129z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1114" d="M154 365v630h170v-608q0 -141 44 -203.5t142 -62.5q78 0 137.5 40t130.5 128v706h168v-995h-139l-14 156h-7q-70 -82 -146.5 -131.5t-180.5 -49.5q-160 0 -232.5 98.5t-72.5 291.5zM424 1174l184 288h176l-231 -288h-129z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1114" d="M154 365v630h170v-608q0 -141 44 -203.5t142 -62.5q78 0 137.5 40t130.5 128v706h168v-995h-139l-14 156h-7q-70 -82 -146.5 -131.5t-180.5 -49.5q-160 0 -232.5 98.5t-72.5 291.5zM293 1174l194 288h140l194 -288h-123l-137 186h-8l-137 -186h-123z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1114" d="M154 365v630h170v-608q0 -141 44 -203.5t142 -62.5q78 0 137.5 40t130.5 128v706h168v-995h-139l-14 156h-7q-70 -82 -146.5 -131.5t-180.5 -49.5q-160 0 -232.5 98.5t-72.5 291.5zM281 1305q0 43 27.5 71.5t72.5 28.5q43 0 71.5 -28.5t28.5 -71.5t-28.5 -72t-71.5 -29 q-45 0 -72.5 29t-27.5 72zM633 1305q0 43 28.5 71.5t71.5 28.5q45 0 72.5 -28.5t27.5 -71.5t-27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xfd;" horiz-adv-x="956" d="M25 995h174l202 -551q23 -66 48.5 -138.5t48.5 -141.5h8q23 68 43 141.5t41 138.5l178 551h164l-375 -1077q-27 -74 -59.5 -137.5t-77.5 -109.5t-102.5 -72.5t-133.5 -26.5q-35 0 -63.5 5t-52.5 15l32 134q16 -4 37 -9.5t39 -5.5q86 0 140.5 60.5t84.5 152.5l23 74z M363 1174l184 288h176l-231 -288h-129z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1136" d="M168 -420v1878h168v-397l-2 -170q66 53 143.5 91t159.5 38q98 0 173 -36t126 -102.5t76.5 -159.5t25.5 -210q0 -127 -34.5 -226.5t-94 -169t-137.5 -105.5t-164 -36q-72 0 -139.5 29t-134.5 82l2 -170v-336h-168zM336 221q68 -57 131 -80.5t113 -23.5q61 0 113 27.5 t90 77.5t59.5 124t21.5 166q0 82 -14 149.5t-46 115.5t-82 75t-120 27q-63 0 -127.5 -35t-138.5 -101v-522z" />
+<glyph unicode="&#xff;" horiz-adv-x="956" d="M25 995h174l202 -551q23 -66 48.5 -138.5t48.5 -141.5h8q23 68 43 141.5t41 138.5l178 551h164l-375 -1077q-27 -74 -59.5 -137.5t-77.5 -109.5t-102.5 -72.5t-133.5 -26.5q-35 0 -63.5 5t-52.5 15l32 134q16 -4 37 -9.5t39 -5.5q86 0 140.5 60.5t84.5 152.5l23 74z M220 1305q0 43 27.5 71.5t72.5 28.5q43 0 71.5 -28.5t28.5 -71.5t-28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM572 1305q0 43 28.5 71.5t71.5 28.5q45 0 72.5 -28.5t27.5 -71.5t-27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#x152;" horiz-adv-x="1724" d="M100 678q0 322 172 493.5t486 171.5h852v-143h-570v-422h476v-145h-476v-488h590v-145h-880q-154 0 -274 46t-204 133t-128 213t-44 286zM276 678q0 -258 125 -398.5t369 -140.5h98v1065h-98q-244 0 -369 -135t-125 -391z" />
+<glyph unicode="&#x153;" horiz-adv-x="1718" d="M94 496q0 125 37 222t98.5 164.5t143.5 102.5t172 35q115 0 211 -63.5t149 -186.5q57 117 148.5 183.5t201.5 66.5q92 0 164 -33t121 -94.5t74.5 -148.5t25.5 -193q0 -57 -6 -94h-653q2 -78 27.5 -141.5t67.5 -108.5t98.5 -69.5t119.5 -24.5q72 0 131.5 23.5t114.5 58.5 l62 -117q-66 -41 -146 -72t-182 -31q-117 0 -213 65.5t-154 182.5q-117 -248 -366 -248q-90 0 -171 35t-142.5 101.5t-97.5 164t-36 220.5zM266 496q0 -86 20.5 -156t57.5 -120t88 -77.5t113 -27.5q61 0 112.5 27.5t88 77.5t57 120t20.5 156t-20.5 156.5t-57 121.5t-88 79 t-112.5 28t-112.5 -28t-88.5 -79t-57.5 -121.5t-20.5 -156.5zM981 569h512q0 154 -63.5 236t-178.5 82q-104 0 -180 -85t-90 -233z" />
+<glyph unicode="&#x178;" horiz-adv-x="964" d="M-8 1343h184l172 -378q33 -74 64.5 -145.5t66.5 -147.5h8q35 76 69 147.5t65 145.5l174 378h176l-404 -823v-520h-170v520zM205 1565q0 45 27.5 72.5t72.5 27.5q43 0 71.5 -27.5t28.5 -72.5q0 -43 -28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM557 1565q0 45 28.5 72.5 t71.5 27.5q45 0 72.5 -27.5t27.5 -72.5q0 -43 -27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#x2c6;" horiz-adv-x="1110" d="M291 1174l194 288h140l194 -288h-123l-137 186h-8l-137 -186h-123z" />
+<glyph unicode="&#x2dc;" horiz-adv-x="1110" d="M270 1186q8 92 49 154.5t117 62.5q39 0 72 -16.5t60.5 -36t52 -36t49.5 -16.5q57 0 75 105h95q-8 -92 -49 -154.5t-117 -62.5q-39 0 -71 16.5t-59.5 35.5t-52 35.5t-51.5 16.5q-57 0 -75 -104h-95z" />
+<glyph unicode="&#x2000;" horiz-adv-x="896" />
+<glyph unicode="&#x2001;" horiz-adv-x="1792" />
+<glyph unicode="&#x2002;" horiz-adv-x="896" />
+<glyph unicode="&#x2003;" horiz-adv-x="1792" />
+<glyph unicode="&#x2004;" horiz-adv-x="597" />
+<glyph unicode="&#x2005;" horiz-adv-x="448" />
+<glyph unicode="&#x2006;" horiz-adv-x="298" />
+<glyph unicode="&#x2007;" horiz-adv-x="298" />
+<glyph unicode="&#x2008;" horiz-adv-x="224" />
+<glyph unicode="&#x2009;" horiz-adv-x="358" />
+<glyph unicode="&#x200a;" horiz-adv-x="99" />
+<glyph unicode="&#x2010;" horiz-adv-x="636" d="M84 449v129h471v-129h-471z" />
+<glyph unicode="&#x2011;" horiz-adv-x="636" d="M84 449v129h471v-129h-471z" />
+<glyph unicode="&#x2012;" horiz-adv-x="636" d="M84 449v129h471v-129h-471z" />
+<glyph unicode="&#x2013;" horiz-adv-x="983" d="M84 457v116h815v-116h-815z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1638" d="M84 457v116h1470v-116h-1470z" />
+<glyph unicode="&#x2018;" horiz-adv-x="509" d="M117 1061q0 123 55 213t162 151l49 -79q-78 -51 -117 -108.5t-39 -145.5q6 2 19 2q41 0 74.5 -27t33.5 -78q0 -53 -30.5 -82.5t-77.5 -29.5q-61 0 -95 47t-34 137z" />
+<glyph unicode="&#x2019;" horiz-adv-x="509" d="M129 961q78 51 116 108t38 148q-6 -2 -17 -3q-43 0 -75.5 27t-32.5 76q0 53 30.5 84t77.5 31q59 0 94 -48.5t35 -138.5q0 -123 -56 -212t-163 -150z" />
+<glyph unicode="&#x201a;" horiz-adv-x="509" d="M129 -217q78 51 116 108t38 148q-6 -2 -17 -3q-43 0 -75.5 27t-32.5 76q0 53 30.5 84t77.5 31q59 0 94 -48.5t35 -138.5q0 -123 -56 -212t-163 -150z" />
+<glyph unicode="&#x201c;" horiz-adv-x="870" d="M117 1061q0 123 55 213t162 151l49 -79q-78 -51 -117 -108.5t-39 -145.5q6 2 19 2q41 0 74.5 -27t33.5 -78q0 -53 -30.5 -82.5t-77.5 -29.5q-61 0 -95 47t-34 137zM477 1061q0 123 55 213t162 151l49 -79q-78 -51 -117 -108.5t-39 -145.5q6 2 19 2q41 0 74.5 -27 t33.5 -78q0 -53 -30.5 -82.5t-77.5 -29.5q-61 0 -95 47t-34 137z" />
+<glyph unicode="&#x201d;" horiz-adv-x="870" d="M129 961q78 51 116 108t38 148q-6 -2 -17 -3q-43 0 -75.5 27t-32.5 76q0 53 30.5 84t77.5 31q59 0 94 -48.5t35 -138.5q0 -123 -56 -212t-163 -150zM489 961q78 51 116 108t38 148q-6 -2 -17 -3q-43 0 -75.5 27t-32.5 76q0 53 30.5 84t77.5 31q59 0 94 -48.5t35 -138.5 q0 -123 -56 -212t-163 -150z" />
+<glyph unicode="&#x201e;" horiz-adv-x="870" d="M129 -217q78 51 116 108t38 148q-6 -2 -17 -3q-43 0 -75.5 27t-32.5 76q0 53 30.5 84t77.5 31q59 0 94 -48.5t35 -138.5q0 -123 -56 -212t-163 -150zM489 -217q78 51 116 108t38 148q-6 -2 -17 -3q-43 0 -75.5 27t-32.5 76q0 53 30.5 84t77.5 31q59 0 94 -48.5t35 -138.5 q0 -123 -56 -212t-163 -150z" />
+<glyph unicode="&#x2022;" horiz-adv-x="622" d="M82 539q0 55 18.5 101t50 78t72.5 50t88 18q45 0 87 -18t74 -50t50.5 -78t18.5 -101t-18.5 -100.5t-50.5 -78t-74 -50t-87 -17.5q-47 0 -88 17.5t-72.5 50t-50 77.5t-18.5 101z" />
+<glyph unicode="&#x2026;" horiz-adv-x="1941" d="M192 102q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91zM878 102q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91zM1565 102q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91 t-85 -36q-51 0 -87 36t-36 91z" />
+<glyph unicode="&#x202f;" horiz-adv-x="358" />
+<glyph unicode="&#x2039;" horiz-adv-x="555" d="M92 453v127l279 317l73 -61l-241 -320l241 -323l-73 -58z" />
+<glyph unicode="&#x203a;" horiz-adv-x="555" d="M111 193l241 323l-241 320l71 61l281 -317v-127l-281 -318z" />
+<glyph unicode="&#x205f;" horiz-adv-x="448" />
+<glyph unicode="&#x20ac;" d="M47 481v88l121 9q-2 18 -2 36.5v36.5v32.5t2 33.5h-121v90l131 10q18 121 61.5 216t108 162t149.5 101.5t185 34.5q92 0 172 -46t133 -114l-100 -96q-43 53 -94.5 87t-116.5 34q-135 0 -218 -100.5t-108 -278.5h520v-100h-528q-2 -14 -2 -28.5v-31.5v-39.5t2 -37.5h446 v-99h-436q27 -174 106 -272t206 -98q76 0 132 36.5t109 108.5l101 -90q-68 -90 -154 -140.5t-199 -50.5q-92 0 -171 34t-140 99.5t-103 158.5t-61 214h-131z" />
+<glyph unicode="&#x2122;" horiz-adv-x="1304" d="M6 1274v110h531v-110h-205v-524h-123v524h-203zM635 750v634h153l95 -229l55 -162h8l55 162l93 229h151v-634h-117v280l13 215h-8l-146 -397h-92l-147 397h-9l15 -215v-280h-119z" />
+<glyph unicode="&#xe000;" horiz-adv-x="993" d="M0 0v993h993v-993h-993z" />
+<glyph unicode="&#xfb01;" horiz-adv-x="1138" d="M61 858v127l136 10v158q0 154 70.5 242t219.5 88q47 0 89 -9.5t77 -23.5l-37 -129q-55 25 -112 25q-139 0 -139 -193v-158h210v-137h-210v-858h-168v858h-136zM772 1309q0 49 34 78.5t83 29.5t83 -29.5t34 -78.5q0 -47 -34 -78t-83 -31t-83 31t-34 78zM803 0v995h168 v-995h-168z" />
+<glyph unicode="&#xfb02;" horiz-adv-x="1120" d="M61 858v127l136 10v158q0 154 70.5 242t219.5 88q47 0 89 -9.5t77 -23.5l-37 -129q-55 25 -112 25q-139 0 -139 -193v-158h210v-137h-210v-858h-168v858h-136zM766 201v1257h168v-1270q0 -41 14.5 -57t32.5 -16h15.5t21.5 4l22 -127q-16 -8 -38.5 -12.5t-57.5 -4.5 q-96 0 -137 57.5t-41 168.5z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.ttf b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..fe5d758dce70b7b25183b7dd064ffd52ca60fc88
GIT binary patch
literal 54820
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
Sy|h22fI7muDDCDlrT!ZU6N=9O

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.woff b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.woff
new file mode 100644
index 0000000000000000000000000000000000000000..9799be38b24ef0223e78cf7cfaf0b5af9a895049
GIT binary patch
literal 26984
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
CfJn~(

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.eot b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.eot
new file mode 100644
index 0000000000000000000000000000000000000000..1f11e3af0d468258e96734126358b5f84c825ebc
GIT binary patch
literal 24228
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
Nl;8RTy<QCRKEVA4bP50f

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.svg b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.svg
new file mode 100644
index 00000000000..ca699f72cc4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.svg
@@ -0,0 +1,245 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="source_sans_prosemibold" horiz-adv-x="1050" >
+<font-face units-per-em="2048" ascent="1536" descent="-512" />
+<missing-glyph horiz-adv-x="419" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="682" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="0" />
+<glyph unicode="&#xd;" horiz-adv-x="419" />
+<glyph unicode=" "  horiz-adv-x="419" />
+<glyph unicode="&#x09;" horiz-adv-x="419" />
+<glyph unicode="&#xa0;" horiz-adv-x="419" />
+<glyph unicode="!" horiz-adv-x="645" d="M170 135q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115zM205 1372h237l-8 -233l-33 -699h-157l-33 699z" />
+<glyph unicode="&#x22;" horiz-adv-x="987" d="M160 1409h241l-6 -231l-47 -375h-135l-45 375zM584 1409h241l-6 -231l-47 -375h-135l-45 375z" />
+<glyph unicode="#" d="M72 399v156h174l33 264h-166v156h186l45 356h141l-43 -356h240l47 356h139l-43 -356h164v-156h-182l-33 -264h174v-156h-192l-47 -399h-144l47 399h-239l-49 -399h-144l49 399h-157zM389 555h242l33 264h-242z" />
+<glyph unicode="$" d="M92 135l107 160q72 -57 145.5 -92t157.5 -35q100 0 149 46t49 130q0 68 -41 113t-103 81.5t-134 70.5t-134.5 80t-103.5 110.5t-41 161.5q0 143 82 238t221 120v209h164v-205q98 -12 169 -56t128 -104l-121 -137q-57 53 -110 81t-127 28q-84 0 -131 -42t-47 -122 q0 -61 41 -101.5t103.5 -74t134 -67.5t134 -81t103.5 -115.5t41 -171.5q0 -147 -82 -246.5t-236 -127.5v-211h-164v205q-94 10 -189 50t-165 105z" />
+<glyph unicode="%" horiz-adv-x="1722" d="M61 942q0 203 89.5 312.5t230.5 109.5t230 -109.5t89 -312.5t-89 -314.5t-230 -111.5t-230.5 112t-89.5 314zM231 942q0 -152 42 -220t108 -68t107.5 68.5t41.5 219.5q0 152 -42 218.5t-107 66.5q-66 0 -108 -66.5t-42 -218.5zM422 -25l731 1389h143l-729 -1389h-145z M1022 401q0 203 89.5 312.5t230.5 109.5t230 -109.5t89 -312.5t-89 -314.5t-230 -111.5t-230.5 112t-89.5 314zM1192 401q0 -152 42 -220t108 -68t107.5 68.5t41.5 219.5q0 152 -42 218.5t-107 66.5q-66 0 -108 -66.5t-42 -218.5z" />
+<glyph unicode="&#x26;" horiz-adv-x="1308" d="M57 352q0 70 20.5 125t56.5 101.5t82 84t97 72.5q-41 78 -63.5 152t-22.5 143q0 70 23.5 130.5t69 105.5t106.5 71.5t139 26.5q137 0 216 -78t79 -207q0 -66 -24.5 -121t-65.5 -101t-93 -87t-108 -80q61 -84 140 -162.5t165 -144.5q55 74 98.5 163t71.5 193h218 q-37 -127 -94.5 -243.5t-135.5 -221.5q66 -41 127.5 -68.5t114.5 -37.5l-60 -193q-78 18 -159.5 54.5t-165.5 89.5q-80 -66 -180.5 -105t-223.5 -39q-100 0 -179 30t-134 80t-85 118.5t-30 148.5zM283 367q0 -94 65.5 -151.5t165.5 -57.5q55 0 109.5 21.5t105.5 58.5 q-90 76 -171 160.5t-146 176.5q-57 -47 -93 -97t-36 -111zM424 1032q0 -47 14.5 -95t38.5 -101q84 53 141.5 108t57.5 133q0 53 -24.5 90t-84.5 37q-63 0 -103 -47t-40 -125z" />
+<glyph unicode="'" horiz-adv-x="563" d="M160 1409h241l-6 -231l-47 -375h-135l-45 375z" />
+<glyph unicode="(" horiz-adv-x="663" d="M158 569q0 272 70.5 497.5t199.5 436.5l147 -65q-117 -199 -171 -420t-54 -449q0 -227 54.5 -448t170.5 -420l-147 -66q-129 211 -199.5 436.5t-70.5 497.5z" />
+<glyph unicode=")" horiz-adv-x="663" d="M88 -299q117 199 171 420t54 448t-54 448.5t-171 420.5l148 65q129 -211 199.5 -436t70.5 -498q0 -272 -70.5 -497.5t-199.5 -436.5z" />
+<glyph unicode="*" horiz-adv-x="897" d="M98 1155l39 123l223 -51l23 231h129l23 -231l225 51l39 -123l-211 -92l119 -201l-105 -76l-153 179l-156 -179l-105 76l119 201z" />
+<glyph unicode="+" d="M70 590v172h366v387h178v-387h367v-172h-367v-387h-178v387h-366z" />
+<glyph unicode="," horiz-adv-x="563" d="M96 -244q98 39 152.5 104.5t54.5 143.5h-18q-59 0 -105.5 38t-46.5 108q0 66 46 105.5t112 39.5q84 0 130 -63.5t46 -178.5q0 -152 -83 -262t-237 -164z" />
+<glyph unicode="-" horiz-adv-x="659" d="M86 430v172h487v-172h-487z" />
+<glyph unicode="." horiz-adv-x="563" d="M129 135q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115z" />
+<glyph unicode="/" horiz-adv-x="704" d="M25 -328l477 1782h160l-478 -1782h-159z" />
+<glyph unicode="0" d="M82 657q0 332 118.5 501t323.5 169t324 -170t119 -500q0 -332 -119 -507t-324 -175t-323.5 175.5t-118.5 506.5zM307 657q0 -139 16.5 -233t45 -153.5t68.5 -85t87 -25.5t87 25.5t69 85t45 153.5t16 233q0 137 -16 230.5t-45 151t-69 81t-87 23.5t-87 -23.5t-68.5 -81 t-45 -150.5t-16.5 -231z" />
+<glyph unicode="1" d="M152 0v193h290v856h-239v147q98 18 168.5 44t132.5 63h176v-1110h256v-193h-784z" />
+<glyph unicode="2" d="M68 1126q90 96 185 148.5t230 52.5q94 0 170 -28.5t129.5 -81t83 -126t29.5 -163.5q0 -86 -38 -175t-102.5 -180.5t-150.5 -187.5t-182 -199q51 4 110.5 9.5t106.5 5.5h319v-201h-880v137q135 131 244.5 241.5t186.5 205t118 176.5t41 155q0 104 -55.5 165t-159.5 61 q-76 0 -138.5 -43t-115.5 -103z" />
+<glyph unicode="3" d="M49 160l113 151q59 -59 135 -101t174 -42q106 0 173 52t67 145q0 51 -18.5 92t-62.5 69.5t-118 44t-184 15.5v172q96 0 160.5 15t104.5 43t57.5 67t17.5 84q0 82 -51.5 128t-141.5 46q-78 0 -140.5 -34t-121.5 -89l-121 145q84 74 179.5 119t211.5 45q94 0 172 -22.5 t133.5 -66.5t86 -108.5t30.5 -146.5q0 -111 -60.5 -184.5t-166.5 -114.5v-8q117 -31 193.5 -113t76.5 -211q0 -90 -35.5 -159.5t-98 -117.5t-145.5 -74t-177 -26q-160 0 -266.5 53.5t-176.5 131.5z" />
+<glyph unicode="4" d="M37 336v160l516 807h281v-785h163v-182h-163v-336h-222v336h-575zM270 518h342v295q0 57 3 135t8 135h-9q-25 -51 -51 -100t-55 -102z" />
+<glyph unicode="5" d="M49 156l109 151q59 -55 133 -97t172 -42q111 0 181.5 65.5t70.5 184.5q0 117 -65.5 180.5t-174.5 63.5q-63 0 -106 -17.5t-103 -56.5l-112 71l39 644h696v-199h-492l-26 -316q41 20 81 31.5t91 11.5q84 0 158.5 -24.5t130 -74.5t88 -127t32.5 -181q0 -106 -37.5 -190 t-101 -141.5t-146.5 -87.5t-173 -30q-158 0 -265.5 54.5t-179.5 126.5z" />
+<glyph unicode="6" d="M90 612q0 190 43 325.5t113.5 221.5t163 127t192.5 41q119 0 204 -43t144 -104l-127 -144q-35 43 -91 71t-116 28q-61 0 -115.5 -25t-95 -81t-66.5 -148.5t-30 -227.5q57 72 134 113t149 41q84 0 154.5 -24.5t121 -75t78 -126t27.5 -178.5q0 -98 -33 -177t-88 -134 t-130 -86t-159 -31q-96 0 -182 38t-150.5 116t-102.5 199t-38 284zM315 485q18 -174 83 -251.5t161 -77.5q82 0 138.5 63.5t56.5 183.5q0 117 -53.5 174.5t-151.5 57.5q-55 0 -116.5 -34t-117.5 -116z" />
+<glyph unicode="7" d="M90 1104v199h875v-144q-115 -141 -185.5 -269t-111.5 -262t-58.5 -286t-25.5 -342h-240q8 174 30.5 318.5t64.5 275.5t107.5 255t160.5 255h-617z" />
+<glyph unicode="8" d="M84 334q0 61 19.5 111.5t52 91.5t74.5 73.5t89 57.5v8q-76 53 -128 127t-52 178q0 80 30 143.5t82 108.5t125 69.5t156 24.5q88 0 159 -25.5t121 -71.5t76.5 -110.5t26.5 -144.5q0 -49 -15 -93t-39.5 -82t-56.5 -70t-63 -54v-8q45 -25 86 -56.5t72 -72.5t49.5 -92.5 t18.5 -116.5q0 -76 -32 -140.5t-89.5 -112.5t-139 -75t-180.5 -27q-96 0 -177 27t-139 74t-92 112.5t-34 145.5zM291 358q0 -98 69.5 -156.5t169.5 -58.5q94 0 154.5 51.5t60.5 143.5q0 53 -24.5 91t-66.5 67.5t-99 54t-123 51.5q-61 -45 -101 -106.5t-40 -137.5zM350 981 q0 -49 20.5 -86t56.5 -64.5t83 -51.5t102 -44q53 53 81 108.5t28 117.5q0 86 -50 142t-143 56q-76 0 -127 -46t-51 -132z" />
+<glyph unicode="9" d="M76 901q0 98 32.5 177t88 134.5t130 85t158.5 29.5q94 0 180.5 -38t151 -115.5t102 -197.5t37.5 -284q0 -190 -42 -325.5t-112.5 -222.5t-163.5 -128t-194 -41q-117 0 -202.5 43t-145.5 105l127 143q37 -43 93.5 -70.5t115.5 -27.5q61 0 115.5 24.5t95.5 81t66.5 148.5 t29.5 227q-57 -72 -135 -111.5t-149 -39.5q-84 0 -154 24.5t-120 74.5t-77.5 126t-27.5 178zM293 901q0 -117 54.5 -175t152.5 -58q55 0 117.5 34.5t115.5 116.5q-18 172 -84.5 250t-161.5 78q-80 0 -137 -63.5t-57 -182.5z" />
+<glyph unicode=":" horiz-adv-x="563" d="M129 135q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115zM129 835q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115z" />
+<glyph unicode=";" horiz-adv-x="563" d="M96 -244q98 39 152.5 104.5t54.5 143.5h-18q-59 0 -105.5 38t-46.5 108q0 66 46 105.5t112 39.5q84 0 130 -63.5t46 -178.5q0 -152 -83 -262t-237 -164zM129 835q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115z" />
+<glyph unicode="&#x3c;" d="M70 594v172l911 354v-198l-395 -140l-277 -98v-8l277 -98l395 -140v-198z" />
+<glyph unicode="=" d="M70 363v172h911v-172h-911zM70 819v172h911v-172h-911z" />
+<glyph unicode="&#x3e;" d="M70 240v198l395 140l276 98v8l-276 98l-395 140v198l911 -354v-172z" />
+<glyph unicode="?" horiz-adv-x="909" d="M82 1219q66 78 156 128t202 50q82 0 152 -21.5t121 -64.5t78.5 -106.5t27.5 -147.5q0 -66 -23.5 -118t-58.5 -99t-74.5 -90t-71.5 -90.5t-51.5 -100.5t-11.5 -119h-206q-10 74 5 135.5t44.5 112.5t67.5 95t72 86t56.5 83t22.5 88q0 74 -44 119t-122 45 q-63 0 -114.5 -28.5t-96.5 -77.5zM274 135q0 70 43 115t109 45t110 -45t44 -115t-44 -115t-110 -45t-109 45t-43 115z" />
+<glyph unicode="@" horiz-adv-x="1792" d="M102 418q0 211 72 382t192.5 292.5t282.5 188.5t342 67q160 0 290 -51.5t221 -144.5t140.5 -223t49.5 -286q0 -137 -40 -240.5t-103.5 -173t-141.5 -104.5t-154 -35q-88 0 -149.5 39t-75.5 117h-4q-47 -61 -114.5 -100.5t-133.5 -39.5q-113 0 -185.5 79t-72.5 221 q0 88 30 175t83 156.5t126.5 113.5t164.5 44q106 0 159 -100h4l27 84h150l-88 -433q-51 -207 102 -206q47 0 94 27.5t84 78.5t59.5 124t22.5 165q0 117 -34 219t-102.5 179t-175 122t-251.5 45q-135 0 -262 -55t-225.5 -156.5t-159 -244t-60.5 -318.5q0 -152 47 -266.5 t129 -191.5t192.5 -115.5t235.5 -38.5q86 0 170 23.5t152 60.5l55 -131q-180 -102 -395 -103q-152 0 -288 47t-238.5 142.5t-163 236t-60.5 328.5zM700 420q0 -84 34 -122t91 -38q37 0 76 24.5t86 82.5l53 301q-45 72 -112 71q-53 0 -95 -30.5t-72 -77.5t-45.5 -103.5 t-15.5 -107.5z" />
+<glyph unicode="A" horiz-adv-x="1136" d="M-8 0l438 1339h279l436 -1339h-252l-105 362h-448l-104 -362h-244zM393 549h342l-47 164q-31 106 -61.5 218.5t-59.5 223.5h-8q-29 -113 -57.5 -224.5t-61.5 -217.5z" />
+<glyph unicode="B" horiz-adv-x="1216" d="M168 0v1339h428q102 0 190 -17t151.5 -55t99.5 -101.5t36 -155.5q0 -96 -55 -178t-174 -113v-8q145 -25 223 -104t78 -214q0 -100 -39 -174t-107.5 -123t-163 -72.5t-204.5 -23.5h-463zM406 184h200q147 0 226 55.5t79 170.5q0 104 -77.5 154t-227.5 50h-200v-430z M406 784h167q141 0 204 51.5t63 145.5q0 92 -64.5 133t-195.5 41h-174v-371z" />
+<glyph unicode="C" horiz-adv-x="1173" d="M96 666q0 164 48.5 294t132 220t196.5 137t242 47q123 0 220 -51t161 -119l-131 -147q-53 51 -111.5 80.5t-136.5 29.5q-82 0 -151.5 -33.5t-120 -96t-78 -153t-27.5 -202.5q0 -229 100.5 -359.5t268.5 -130.5q90 0 157.5 35t124.5 98l131 -145q-82 -94 -185 -144.5 t-232 -50.5q-127 0 -239 45.5t-194 133.5t-129 217t-47 295z" />
+<glyph unicode="D" horiz-adv-x="1275" d="M168 0v1339h356q307 0 480.5 -165.5t173.5 -497.5q0 -166 -44 -293t-127 -212t-202 -128t-268 -43h-369zM406 193h102q205 0 315.5 117.5t110.5 365.5q0 246 -111.5 358.5t-314.5 112.5h-102v-954z" />
+<glyph unicode="E" horiz-adv-x="1093" d="M168 0v1339h805v-200h-567v-342h481v-201h-481v-395h587v-201h-825z" />
+<glyph unicode="F" horiz-adv-x="1036" d="M168 0v1339h809v-200h-571v-379h485v-201h-485v-559h-238z" />
+<glyph unicode="G" horiz-adv-x="1277" d="M96 666q0 164 49.5 294t135.5 220t202.5 137t251.5 47q70 0 129.5 -14.5t108.5 -38t90 -54t72 -63.5l-131 -147q-51 49 -112 79.5t-155 30.5q-90 0 -162.5 -33.5t-125 -96t-81 -153t-28.5 -202.5q0 -229 104.5 -359.5t307.5 -130.5q55 0 106 15.5t84 44.5v288h-252v195 h465v-590q-70 -66 -182.5 -113t-249.5 -47q-133 0 -248 45.5t-198.5 133.5t-132 217t-48.5 295z" />
+<glyph unicode="H" horiz-adv-x="1351" d="M168 0v1339h238v-538h540v538h238v-1339h-238v594h-540v-594h-238z" />
+<glyph unicode="I" horiz-adv-x="571" d="M168 0v1339h238v-1339h-238z" />
+<glyph unicode="J" horiz-adv-x="1005" d="M45 203l164 121q41 -74 94 -108t115 -34q94 0 142 57.5t48 200.5v899h238v-919q0 -92 -23.5 -173t-72 -141.5t-124 -95.5t-180.5 -35q-141 0 -238 57.5t-163 170.5z" />
+<glyph unicode="K" horiz-adv-x="1216" d="M168 0v1339h238v-608h6l477 608h262l-412 -522l482 -817h-263l-360 631l-192 -240v-391h-238z" />
+<glyph unicode="L" horiz-adv-x="1021" d="M168 0v1339h238v-1138h555v-201h-793z" />
+<glyph unicode="M" horiz-adv-x="1519" d="M168 0v1339h260l242 -659l88 -254h8l88 254l236 659h262v-1339h-224v612q0 47 3.5 102.5t7.5 112t10 110.5t10 101h-8l-109 -305l-231 -608h-109l-231 608l-106 305h-9q4 -47 9.5 -101t9.5 -110.5t7 -112t3 -102.5v-612h-217z" />
+<glyph unicode="N" horiz-adv-x="1337" d="M168 0v1339h244l415 -753l140 -285h8q-10 104 -20.5 224t-10.5 233v581h225v-1339h-243l-416 754l-139 284h-9q10 -106 20.5 -223t10.5 -229v-586h-225z" />
+<glyph unicode="O" horiz-adv-x="1374" d="M96 676q0 162 43 290t122 216t187.5 135t239.5 47t239.5 -47t186.5 -135t121 -216t43 -290q0 -164 -43 -293t-121 -220t-186.5 -139.5t-239.5 -48.5t-239.5 48.5t-187.5 139.5t-122 220t-43 293zM340 676q0 -113 24.5 -204t70.5 -155.5t109.5 -99.5t143.5 -35 q78 0 142.5 35t109.5 99.5t69.5 155.5t24.5 204q0 225 -94 353t-252 128q-160 0 -254 -128t-94 -353z" />
+<glyph unicode="P" horiz-adv-x="1204" d="M168 0v1339h450q111 0 204 -20.5t161 -69.5t105.5 -128t37.5 -195q0 -111 -38.5 -193t-107.5 -136t-162 -79.5t-200 -25.5h-212v-492h-238zM406 682h192q152 0 223.5 60.5t71.5 183.5q0 127 -74 175t-221 48h-192v-467z" />
+<glyph unicode="Q" horiz-adv-x="1374" d="M92 676q0 162 43 290t121 216t186.5 135t239.5 47t239.5 -47t187.5 -135t122 -216t43 -290q0 -139 -32 -255t-91 -204t-142 -145.5t-186 -79.5q47 -80 130 -115t182 -35q45 0 80.5 6.5t64.5 16.5l43 -178q-35 -16 -90 -26.5t-125 -10.5q-201 0 -336 94t-201 242 q-109 18 -196.5 74.5t-151 144.5t-97.5 206.5t-34 264.5zM336 676q0 -113 24.5 -204t69.5 -155.5t108.5 -99.5t143.5 -35t143.5 35t108.5 99.5t69.5 155.5t24.5 204q0 225 -93 353t-253 128t-253 -128t-93 -353z" />
+<glyph unicode="R" horiz-adv-x="1220" d="M168 0v1339h450q104 0 194.5 -20.5t157 -66.5t104.5 -121.5t38 -188.5q0 -154 -72.5 -248t-195.5 -135l319 -559h-266l-289 524h-202v-524h-238zM406 713h188q139 0 211 57t72 172q0 117 -72 162t-211 45h-188v-436z" />
+<glyph unicode="S" horiz-adv-x="1110" d="M76 172l137 162q72 -68 164 -110t186 -42q113 0 173.5 47t60.5 125q0 41 -15.5 70t-43 50.5t-66.5 39.5t-84 37l-182 80q-49 20 -98.5 51t-87.5 74t-61.5 100t-23.5 131q0 80 34 148.5t93.5 120t141 80t180.5 28.5q119 0 227.5 -46t185.5 -124l-123 -152 q-63 53 -133.5 84t-156.5 31q-96 0 -152.5 -42t-56.5 -116q0 -39 17.5 -66.5t47 -49t68.5 -39t80 -33.5l180 -76q59 -25 109.5 -57.5t86 -75.5t55 -99.5t19.5 -129.5q0 -82 -32.5 -154t-95 -126t-151.5 -86t-202 -32q-135 0 -260 51.5t-221 145.5z" />
+<glyph unicode="T" horiz-adv-x="1112" d="M51 1139v200h1010v-200h-385v-1139h-238v1139h-387z" />
+<glyph unicode="U" horiz-adv-x="1335" d="M160 588v751h237v-770q0 -109 19.5 -183.5t55.5 -119.5t86 -64.5t112 -19.5q61 0 112.5 19.5t87 64.5t56 120t20.5 183v770h230v-751q0 -166 -36 -282t-101.5 -189.5t-159 -107.5t-209.5 -34q-117 0 -211 34t-161 107.5t-102.5 189.5t-35.5 282z" />
+<glyph unicode="V" horiz-adv-x="1091" d="M-10 1339h252l188 -673q33 -115 57.5 -217.5t59.5 -219.5h8q35 117 60.5 219.5t58.5 217.5l186 673h242l-414 -1339h-282z" />
+<glyph unicode="W" horiz-adv-x="1632" d="M33 1339h246l114 -675q16 -109 33.5 -215.5t34.5 -212.5h8q20 106 41.5 213.5t44.5 214.5l166 675h205l166 -675q23 -104 44 -212t44 -216h8q16 109 32.5 215t32.5 213l115 675h229l-258 -1339h-295l-165 705q-16 78 -30.5 154.5t-29.5 154.5h-8q-14 -78 -28.5 -155 t-30.5 -154l-162 -705h-291z" />
+<glyph unicode="X" horiz-adv-x="1101" d="M25 0l378 690l-356 649h264l150 -297q23 -47 46 -96t54 -108h8q25 59 46.5 108t43.5 96l142 297h252l-357 -659l381 -680h-264l-164 315q-27 53 -52.5 105.5t-53.5 114.5h-8q-27 -61 -51.5 -113.5t-49.5 -106.5l-158 -315h-251z" />
+<glyph unicode="Y" horiz-adv-x="1019" d="M-12 1339h254l145 -342q29 -76 58.5 -146.5t60.5 -148.5h8q33 78 64.5 149t60.5 146l145 342h248l-403 -841v-498h-238v498z" />
+<glyph unicode="Z" horiz-adv-x="1099" d="M78 0v143l649 996h-588v200h881v-143l-647 -995h653v-201h-948z" />
+<glyph unicode="[" horiz-adv-x="663" d="M184 -311v1761h402v-131h-224v-1501h224v-129h-402z" />
+<glyph unicode="\" horiz-adv-x="704" d="M43 1454h160l479 -1782h-162z" />
+<glyph unicode="]" horiz-adv-x="663" d="M78 -182h223v1501h-223v131h401v-1761h-401v129z" />
+<glyph unicode="^" d="M113 571l313 801h197l315 -801h-199l-112 310l-99 276h-8l-96 -276l-113 -310h-198z" />
+<glyph unicode="_" horiz-adv-x="1024" d="M25 -131h974v-141h-974v141z" />
+<glyph unicode="`" horiz-adv-x="1124" d="M295 1473h233l185 -299h-177z" />
+<glyph unicode="a" horiz-adv-x="1071" d="M106 270q0 162 141.5 250t450.5 123q0 39 -10 75t-31.5 63.5t-55.5 43t-85 15.5q-76 0 -146.5 -29t-136.5 -70l-86 158q84 53 187.5 92t224.5 39q190 0 282.5 -111.5t92.5 -322.5v-596h-193l-18 111h-6q-68 -57 -144.5 -96.5t-166.5 -39.5q-133 0 -216.5 81t-83.5 214z M336 289q0 -68 40 -98.5t103 -30.5q61 0 112.5 28.5t106.5 81.5v226q-102 -12 -171.5 -33t-111.5 -46.5t-60.5 -58t-18.5 -69.5z" />
+<glyph unicode="b" horiz-adv-x="1155" d="M150 0v1446h235v-373l-6 -168q63 55 138 90t153 35q94 0 167.5 -36t125 -102.5t78 -160.5t26.5 -211q0 -129 -36 -230.5t-95 -171t-137 -106.5t-162 -37q-70 0 -140.5 33t-134.5 94h-6l-20 -102h-186zM385 254q53 -47 105.5 -65.5t97.5 -18.5q100 0 167.5 87t67.5 259 q0 152 -51 236t-166 84q-106 0 -221 -113v-469z" />
+<glyph unicode="c" horiz-adv-x="946" d="M84 502q0 125 41 223t110.5 165.5t160.5 103.5t192 36q98 0 170.5 -33.5t124.5 -83.5l-113 -149q-41 35 -82 54.5t-88 19.5q-123 0 -198.5 -91.5t-75.5 -244.5q0 -152 74.5 -243t193.5 -91q61 0 113.5 25.5t93.5 60.5l98 -150q-72 -63 -158 -96t-172 -33q-102 0 -191 35 t-154.5 102.5t-102.5 166t-37 223.5z" />
+<glyph unicode="d" horiz-adv-x="1155" d="M88 502q0 123 36 221t95.5 165.5t136 104.5t158.5 37q86 0 145.5 -29.5t118.5 -80.5l-8 161v365h236v-1446h-195l-16 109h-9q-55 -55 -128.5 -94.5t-155.5 -39.5q-190 0 -302 138.5t-112 388.5zM332 504q0 -164 58.5 -249t168.5 -85q113 0 211 113v469 q-53 47 -103.5 65.5t-101.5 18.5q-98 0 -165.5 -86t-67.5 -246z" />
+<glyph unicode="e" horiz-adv-x="1038" d="M84 502q0 123 39 221t103.5 165.5t148.5 104.5t172 37q102 0 180 -34.5t130 -98t79 -152t27 -192.5q0 -70 -11 -111h-639q16 -137 95 -210.5t202 -73.5q66 0 122 19.5t112 53.5l80 -147q-72 -47 -160 -78t-184 -31q-104 0 -194.5 36t-158 103.5t-105.5 165t-38 222.5z M311 592h447q0 121 -50.5 188.5t-154.5 67.5q-90 0 -157.5 -64.5t-84.5 -191.5z" />
+<glyph unicode="f" horiz-adv-x="649" d="M55 819v176l135 11v104q0 78 18.5 144.5t59.5 114.5t103.5 74.5t152.5 26.5q53 0 101.5 -10t83.5 -24l-45 -176q-53 24 -107 24h-4q-127 0 -127 -170v-108h197v-187h-197v-819h-236v819h-135z" />
+<glyph unicode="g" horiz-adv-x="1064" d="M82 -182q0 63 37 117.5t106 97.5v8q-39 25 -64.5 65.5t-25.5 102.5q0 59 34 107.5t77 78.5v8q-51 39 -91 108t-40 159q0 86 32.5 153.5t87 113.5t126 69.5t151.5 23.5q41 0 79 -7t68 -17h361v-175h-184q25 -29 41 -72.5t16 -96.5q0 -84 -29.5 -147.5t-81 -106.5t-121 -66 t-149.5 -23q-33 0 -67.5 6.5t-69.5 20.5q-23 -20 -36 -40.5t-13 -55.5q0 -43 35.5 -67.5t127.5 -24.5h179q182 0 275 -58.5t93 -189.5q0 -74 -37.5 -139.5t-107.5 -112.5t-169 -74.5t-222 -27.5q-90 0 -167 16t-132.5 49t-87 82t-31.5 115zM279 -147q0 -68 68.5 -106 t189.5 -38q123 0 197.5 48t74.5 114q0 59 -46 79.5t-132 20.5h-137q-82 0 -138 15q-77 -59 -77 -133zM336 670q0 -98 51 -150.5t125 -52.5q72 0 123 52t51 151q0 94 -50 146t-124 52t-125 -51t-51 -147z" />
+<glyph unicode="h" horiz-adv-x="1142" d="M150 0v1446h235v-373l-8 -194q63 59 140 105t181 46q162 0 236 -103.5t74 -295.5v-631h-236v600q0 125 -37 176t-121 51q-66 0 -115.5 -31.5t-113.5 -93.5v-702h-235z" />
+<glyph unicode="i" horiz-adv-x="536" d="M123 1315q0 59 41 97t104 38t104.5 -38t41.5 -97t-41.5 -96t-104.5 -37t-104 36.5t-41 96.5zM150 0v1006h235v-1006h-235z" />
+<glyph unicode="j" horiz-adv-x="538" d="M-94 -395l45 176q20 -6 41.5 -11.5t44.5 -5.5q68 0 91.5 46.5t23.5 134.5v1061h237v-1057q0 -80 -16.5 -147.5t-54 -118t-99 -78t-149.5 -27.5q-55 0 -95.5 8t-68.5 19zM125 1315q0 59 42 97t103 38q63 0 105.5 -38t42.5 -97t-42.5 -96t-105.5 -37q-61 0 -103 36.5 t-42 96.5z" />
+<glyph unicode="k" horiz-adv-x="1069" d="M150 0v1446h231v-903h6l373 463h258l-344 -410l379 -596h-256l-258 436l-158 -180v-256h-231z" />
+<glyph unicode="l" horiz-adv-x="555" d="M150 258v1188h235v-1200q0 -43 16.5 -60.5t34.5 -17.5h15.5t21.5 4l31 -176q-47 -20 -125 -21q-127 0 -178 76t-51 207z" />
+<glyph unicode="m" horiz-adv-x="1726" d="M150 0v1006h194l16 -138h9q63 68 138 115t169 47q111 0 177.5 -47t100.5 -133q72 78 150 129t174 51q160 0 235.5 -103.5t75.5 -295.5v-631h-237v600q0 125 -38 176t-116 51q-94 0 -211 -125v-702h-235v600q0 125 -38 176t-118 51q-94 0 -211 -125v-702h-235z" />
+<glyph unicode="n" horiz-adv-x="1146" d="M150 0v1006h194l16 -136h9q68 66 146.5 113t182.5 47q162 0 236 -103.5t74 -295.5v-631h-236v600q0 125 -37 176t-121 51q-66 0 -115.5 -31.5t-113.5 -93.5v-702h-235z" />
+<glyph unicode="o" horiz-adv-x="1124" d="M84 502q0 125 39 223t105.5 165.5t152.5 103.5t180 36t181 -36t153 -103.5t105.5 -165.5t39.5 -223t-39.5 -223.5t-105.5 -166t-153 -102.5t-181 -35t-180 35t-152.5 102.5t-105.5 166t-39 223.5zM326 502q0 -152 62.5 -243t172.5 -91q111 0 174.5 91t63.5 243 q0 154 -63.5 245t-174.5 91t-173 -91t-62 -245z" />
+<glyph unicode="p" horiz-adv-x="1155" d="M150 -397v1403h194l16 -107h9q63 53 141 92t162 39q94 0 166.5 -36t124 -103.5t78 -161.5t26.5 -211q0 -129 -36 -230.5t-95 -170t-137 -105.5t-162 -37q-66 0 -131.5 29t-126.5 82l6 -168v-315h-235zM385 254q55 -47 106.5 -65.5t96.5 -18.5q100 0 167.5 87t67.5 259 q0 152 -51 236t-166 84q-106 0 -221 -113v-469z" />
+<glyph unicode="q" horiz-adv-x="1148" d="M88 502q0 123 36 221t95.5 165.5t136 104.5t158.5 37q86 0 150.5 -29.5t128.5 -91.5h6l20 97h187v-1403h-236v329l8 166q-55 -53 -126.5 -88t-149.5 -35q-190 0 -302 138.5t-112 388.5zM332 504q0 -164 58.5 -249t168.5 -85q113 0 211 113v469q-53 47 -103.5 65.5 t-101.5 18.5q-98 0 -165.5 -86t-67.5 -246z" />
+<glyph unicode="r" horiz-adv-x="763" d="M150 0v1006h194l16 -179h9q53 98 128.5 150.5t155.5 52.5q72 0 115 -20l-41 -205q-27 8 -49.5 12t-54.5 4q-59 0 -125 -46t-113 -161v-614h-235z" />
+<glyph unicode="s" horiz-adv-x="882" d="M49 115l111 151q68 -53 134 -82.5t144 -29.5q82 0 121 33.5t39 86.5q0 31 -18.5 54.5t-49 42t-69.5 34t-78 31.5q-49 18 -100.5 43t-91 59.5t-65.5 81t-26 109.5q0 133 98.5 217t268.5 84q104 0 188 -37t146 -84l-109 -143q-53 39 -107.5 62.5t-113.5 23.5 q-76 0 -111.5 -32t-35.5 -79q0 -29 17 -50t46 -38.5t67 -32t78 -28.5q51 -18 102.5 -42t93.5 -58.5t67.5 -85t25.5 -119.5q0 -66 -25.5 -122t-74.5 -98t-123 -67t-168 -25q-104 0 -205.5 40t-175.5 100z" />
+<glyph unicode="t" horiz-adv-x="739" d="M41 819v176l156 11l28 274h197v-274h256v-187h-256v-479q0 -176 141 -176q27 0 54.5 6t50.5 16l41 -174q-41 -14 -93.5 -25.5t-111.5 -11.5q-88 0 -148.5 27t-98.5 75t-55.5 114.5t-17.5 148.5v479h-143z" />
+<glyph unicode="u" horiz-adv-x="1138" d="M139 375v631h236v-600q0 -125 37 -176.5t118 -51.5q66 0 116 33t108 106v689h235v-1006h-192l-19 147h-6q-66 -78 -142.5 -125t-180.5 -47q-162 0 -236 103.5t-74 296.5z" />
+<glyph unicode="v" horiz-adv-x="1013" d="M25 1006h239l160 -523q20 -74 41.5 -149.5t42.5 -153.5h8q23 78 43.5 154t42.5 149l160 523h227l-342 -1006h-272z" />
+<glyph unicode="w" horiz-adv-x="1531" d="M49 1006h238l121 -523q16 -72 27 -143.5t26 -144.5h8q14 74 29.5 145.5t33.5 142.5l132 523h215l133 -523q18 -72 34.5 -143.5t32.5 -144.5h8q14 74 26.5 145.5t27.5 142.5l121 523h221l-256 -1006h-281l-117 469q-16 72 -30.5 142.5t-30.5 150.5h-8 q-14 -80 -28.5 -151.5t-31.5 -143.5l-114 -467h-271z" />
+<glyph unicode="x" horiz-adv-x="985" d="M29 0l319 524l-299 482h254l113 -191q23 -41 46 -85t46 -85h8q18 41 38.5 85t39.5 85l96 191h244l-297 -508l319 -498h-254l-122 199q-25 45 -50.5 90t-52.5 88h-8q-23 -43 -44.5 -87t-43.5 -91l-107 -199h-245z" />
+<glyph unicode="y" horiz-adv-x="1013" d="M25 1006h239l174 -494q23 -66 44.5 -138.5t43.5 -144.5h9q18 70 37.5 142.5t37.5 140.5l152 494h227l-364 -1051q-31 -86 -68 -153.5t-85 -115.5t-110.5 -74t-144.5 -26q-41 0 -71.5 5.5t-59.5 15.5l43 184q14 -4 33.5 -9t38.5 -5q80 0 128 48t72 124l19 63z" />
+<glyph unicode="z" horiz-adv-x="907" d="M70 0v127l475 692h-422v187h717v-125l-473 -693h489v-188h-786z" />
+<glyph unicode="{" horiz-adv-x="663" d="M66 498v143q51 0 84.5 14.5t54 36t29 48t8.5 55.5q0 96 -9.5 181t-9.5 191q0 162 60.5 222.5t189.5 60.5h113v-131h-49q-72 0 -97.5 -35t-25.5 -127q0 -86 5 -173t5 -179q0 -111 -33 -162t-104 -70v-8q72 -18 104.5 -70.5t32.5 -160.5q0 -98 -5 -181t-5 -171 q0 -92 25.5 -128t97.5 -36h49v-129h-113q-63 0 -110.5 13t-78 46t-46 87t-15.5 136q0 55 3 101.5t6.5 89.5t6.5 87t3 93q0 29 -8.5 56.5t-29 49t-54 36t-84.5 14.5z" />
+<glyph unicode="|" horiz-adv-x="522" d="M182 -512v2048h158v-2048h-158z" />
+<glyph unicode="}" horiz-adv-x="663" d="M78 -182h47q74 0 99.5 35.5t25.5 128.5q0 88 -5 171t-5 181q0 109 32.5 161t104.5 70v8q-72 18 -104.5 69.5t-32.5 162.5q0 92 5 179t5 173q0 92 -25.5 127t-99.5 35h-47v131h110q63 0 111.5 -14.5t79.5 -47t46 -87t15 -134.5q0 -106 -9 -191t-9 -181q0 -29 8 -55.5 t28.5 -48t54.5 -36t85 -14.5v-143q-51 0 -85 -14.5t-54.5 -36t-28.5 -49t-8 -56.5q0 -49 3 -93t6 -87t6 -89t3 -102q0 -82 -15 -136t-46 -87t-79 -46t-112 -13h-110v129z" />
+<glyph unicode="~" d="M66 645q66 106 138 152.5t144 46.5q61 0 109.5 -25.5t89.5 -56.5t79 -56.5t81 -25.5q86 0 151 121l125 -96q-66 -104 -137.5 -150.5t-143.5 -46.5q-61 0 -109 25.5t-89 56.5t-79 56.5t-81 25.5q-86 0 -151 -121z" />
+<glyph unicode="&#xa1;" horiz-adv-x="645" d="M170 872q0 68 44 113t110 45t108.5 -45t42.5 -113q0 -72 -43 -116.5t-108 -44.5q-66 0 -110 45t-44 116zM205 -367l6 234l33 698h157l33 -698l8 -234h-237z" />
+<glyph unicode="&#xa2;" d="M125 631q0 106 32.5 193t89 150.5t134.5 103.5t170 55v206h135v-200q86 -4 150.5 -37t111.5 -80l-110 -145q-72 63 -152 71v-631q53 4 98 29t82 55l99 -149q-59 -53 -132 -85t-147 -42v-201h-135v203q-193 25 -309.5 154t-116.5 350zM354 631q0 -115 51.5 -193 t145.5 -106v600q-94 -31 -145.5 -109t-51.5 -192z" />
+<glyph unicode="&#xa3;" d="M104 0v145q98 49 158 138.5t60 201.5q0 23 -2.5 42.5t-6.5 41.5h-204v142l137 10h24q-16 53 -29.5 105.5t-13.5 103.5q0 92 30 165.5t84 125t130 79t166 27.5q113 0 193.5 -43t142.5 -117l-131 -129q-39 45 -82 71t-103 26q-96 0 -149 -56.5t-53 -160.5q0 -51 10 -99.5 t24 -97.5h316v-152h-281q6 -43 6 -86q0 -92 -26.5 -153.5t-81.5 -120.5v-8h553v-201h-871z" />
+<glyph unicode="&#xa4;" d="M47 313l127 129q-35 47 -53.5 105.5t-18.5 126.5q0 70 18.5 128t53.5 105l-127 129l121 123l139 -143q98 63 217 63t217 -63l142 143l121 -123l-130 -129q35 -47 53.5 -105.5t18.5 -127.5q0 -68 -18.5 -126.5t-53.5 -105.5l130 -129l-121 -123l-142 144 q-47 -33 -103 -48.5t-114 -15.5q-57 0 -112.5 15.5t-102.5 48.5l-141 -144zM315 674q0 -106 61.5 -171t147.5 -65q88 0 148.5 64.5t60.5 171.5q0 109 -60.5 173t-148.5 64q-86 0 -147.5 -64t-61.5 -173z" />
+<glyph unicode="&#xa5;" d="M37 1303h244l131 -310q29 -68 55.5 -135t56.5 -137h8q29 70 56.5 137.5t56.5 134.5l131 310h238l-318 -627h271v-121h-324v-121h324v-123h-324v-311h-237v311h-322v123h322v121h-322v121h268z" />
+<glyph unicode="&#xa6;" horiz-adv-x="522" d="M182 428h158v-940h-158v940zM182 618v918h158v-918h-158z" />
+<glyph unicode="&#xa7;" d="M84 684q0 84 46 151.5t124 112.5q-61 68 -61 168q0 61 21.5 114.5t64.5 92.5t105 61.5t144 22.5q109 0 196 -39t148 -86l-110 -149q-47 41 -103.5 68.5t-117.5 27.5q-72 0 -103.5 -29t-31.5 -74q0 -47 41.5 -78.5t103 -61.5t135.5 -61.5t135.5 -76.5t103.5 -109.5 t42 -156.5q0 -94 -45 -158t-125 -111q25 -33 39 -72.5t14 -90.5q0 -66 -24.5 -120.5t-71.5 -95t-115 -63.5t-152 -23q-111 0 -211 41t-165 119l139 123q51 -51 108.5 -78.5t128.5 -27.5q72 0 110 32.5t38 81.5t-41 82t-102.5 61.5t-132 59.5t-132 75t-102.5 107.5t-41 159.5 zM287 700q0 -57 36.5 -95t93 -68.5t124 -58t129.5 -62.5q47 25 70.5 59.5t23.5 87.5q0 57 -36 97t-92 71t-124 57.5t-129 61.5q-47 -29 -71.5 -64t-24.5 -86z" />
+<glyph unicode="&#xa8;" horiz-adv-x="1124" d="M250 1309q0 51 33.5 86t87.5 35q53 0 87.5 -35t34.5 -86q0 -53 -34.5 -88t-87.5 -35t-87 34.5t-34 88.5zM629 1309q0 51 34.5 86t87.5 35t87 -35t34 -86q0 -53 -34 -88t-87 -35t-87.5 34.5t-34.5 88.5z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1529" d="M96 664q0 158 54.5 282.5t145.5 212.5t213 134t257 46t256 -46t212 -134t145.5 -213t54.5 -282q0 -158 -54.5 -284t-145.5 -215t-212 -137t-256 -48t-257 48t-213 137t-145.5 215t-54.5 284zM215 664q0 -129 43 -235.5t118 -182.5t175 -118t215 -42t215 42t174 118 t117 182.5t43 235.5t-43 234.5t-117 180t-174 115.5t-215 41t-215 -41t-175 -115.5t-118 -180t-43 -234.5zM401 662q0 90 32 162.5t86 122.5t124 78t145 28q92 0 154 -35t111 -84l-92 -103q-39 37 -76 56.5t-84 19.5q-104 0 -163.5 -69.5t-59.5 -175.5q0 -119 58 -189 t157 -70q59 0 102 23t84 57l80 -114q-57 -47 -122 -79t-151 -32q-82 0 -152.5 27.5t-121.5 80t-81 127.5t-30 169z" />
+<glyph unicode="&#xaa;" horiz-adv-x="720" d="M68 715q0 109 93 167t302 76q-4 55 -28.5 88t-86.5 33q-47 0 -97 -19.5t-97 -45.5l-62 112q59 37 132 64t153 27q256 0 256 -291v-394h-137l-17 72h-8q-41 -37 -90.5 -62.5t-108.5 -25.5q-94 0 -149 56.5t-55 142.5zM233 729q1 -82 95 -82q35 0 67.5 17.5t67.5 50.5v143 q-129 -14 -179.5 -48t-50.5 -81z" />
+<glyph unicode="&#xab;" horiz-adv-x="933" d="M96 430v172l277 305l94 -76l-236 -315l236 -317l-94 -74zM452 430v172l277 305l94 -76l-236 -315l236 -317l-94 -74z" />
+<glyph unicode="&#xac;" d="M70 590v172h911v-559h-178v387h-733z" />
+<glyph unicode="&#xad;" horiz-adv-x="659" d="M86 430v172h487v-172h-487z" />
+<glyph unicode="&#xae;" horiz-adv-x="907" d="M57 1053q0 90 31 165.5t85 130t126 84t154 29.5t153.5 -29.5t125.5 -84t85 -130t31 -165.5t-31 -165t-85 -129t-125.5 -84t-153.5 -30t-154 30t-126 84t-85 129t-31 165zM154 1053q0 -72 22.5 -130.5t62.5 -100.5t94 -65.5t120 -23.5q63 0 118.5 23.5t95.5 65.5 t62.5 100.5t22.5 130.5t-22.5 131t-62.5 102t-95.5 66.5t-118.5 23.5q-66 0 -120 -23.5t-94 -66.5t-62.5 -102.5t-22.5 -130.5zM295 854v408h170q68 0 116 -31t48 -103q0 -35 -19.5 -65.5t-56.5 -46.5l90 -162h-108l-68 133h-70v-133h-102zM397 1061h47q35 0 55.5 16.5 t20.5 44.5q0 27 -17.5 44.5t-56.5 17.5h-49v-123z" />
+<glyph unicode="&#xaf;" horiz-adv-x="1124" d="M295 1221v155h532v-155h-532z" />
+<glyph unicode="&#xb0;" horiz-adv-x="712" d="M82 1124q0 61 21.5 112.5t59.5 88.5t88 57.5t107 20.5t107.5 -20.5t88.5 -57.5t59.5 -88t21.5 -113q0 -61 -21.5 -112t-59.5 -88t-88.5 -57.5t-107.5 -20.5t-107 20.5t-88 57.5t-59.5 88t-21.5 112zM213 1124q0 -70 39.5 -113.5t105.5 -43.5t106 44t40 113q0 72 -40 116 t-106 44t-105.5 -44t-39.5 -116z" />
+<glyph unicode="&#xb1;" d="M70 0v170h911v-170h-911zM70 612v170h366v367h178v-367h367v-170h-367v-319h-178v319h-366z" />
+<glyph unicode="&#xb2;" horiz-adv-x="761" d="M68 1565q53 76 126.5 117.5t159.5 41.5q127 0 204 -67.5t77 -196.5q0 -53 -19.5 -102t-54.5 -99.5t-81 -101.5t-99 -106h289v-150h-572v98q172 147 268.5 247.5t96.5 184.5q0 68 -36 107t-99 39q-45 0 -84 -30t-74 -77z" />
+<glyph unicode="&#xb3;" horiz-adv-x="761" d="M63 1036l111 86q74 -109 186 -108q57 0 97.5 30.5t40.5 87.5q0 59 -56.5 91t-162.5 32v105q88 0 138 32.5t50 90.5q0 47 -33 75.5t-88 28.5q-41 0 -79 -24.5t-68 -63.5l-103 90q59 66 124 100.5t155 34.5q53 0 101 -15t85 -43t58.5 -69t21.5 -92q0 -68 -34 -114t-93 -76 q66 -23 112 -71t46 -124q0 -55 -23.5 -100t-64.5 -77t-95.5 -49.5t-113.5 -17.5q-102 0 -182 43t-130 117z" />
+<glyph unicode="&#xb4;" horiz-adv-x="1124" d="M409 1174l185 299h233l-241 -299h-177z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1150" d="M150 -410v1416h235v-600q0 -125 38 -176.5t120 -51.5q66 0 115 33t108 106v689h235v-1006h-194l-16 147h-9q-47 -78 -111.5 -118.5t-142.5 -40.5q-49 0 -88 12t-67 53l12 -184v-279h-235z" />
+<glyph unicode="&#xb6;" horiz-adv-x="1226" d="M82 893q0 125 39 210t107.5 137t161.5 75.5t200 23.5h90v-905h-76q-111 0 -206 27.5t-165.5 85t-110.5 143.5t-40 203zM793 -164v1503h237v-1503h-237z" />
+<glyph unicode="&#xb7;" horiz-adv-x="563" d="M129 657q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115z" />
+<glyph unicode="&#xb8;" horiz-adv-x="1124" d="M376 -342q78 10 127.5 31.5t49.5 62.5q0 33 -30 55.5t-95 38.5l82 160h143l-47 -100q51 -18 86 -52t35 -98q0 -49 -27 -83.5t-73 -59.5t-105 -39t-125 -18z" />
+<glyph unicode="&#xb9;" horiz-adv-x="761" d="M168 1503v111q76 12 121 31.5t92 54.5h141v-799h-178v602h-176z" />
+<glyph unicode="&#xba;" horiz-adv-x="755" d="M55 864q0 84 25.5 149.5t71 110.5t102.5 69t123 24q63 0 121.5 -24t103.5 -69t70.5 -110.5t25.5 -149.5q0 -82 -25.5 -146.5t-70.5 -109.5t-103.5 -68.5t-121.5 -23.5q-66 0 -123 23.5t-102.5 68.5t-71 109.5t-25.5 146.5zM229 864q0 -94 38 -152.5t110 -58.5t109.5 58.5 t37.5 152.5q0 98 -37.5 156.5t-109.5 58.5t-110 -58t-38 -157z" />
+<glyph unicode="&#xbb;" horiz-adv-x="933" d="M111 199l233 317l-233 315l92 76l278 -305v-172l-278 -305zM467 199l233 317l-233 315l92 76l278 -305v-172l-278 -305z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1628" d="M115 1143v111q76 12 121 31.5t92 54.5h141v-799h-178v602h-176zM375 -25l731 1389h143l-729 -1389h-145zM944 195v90l311 514h213v-484h119v-120h-119v-195h-158v195h-366zM1116 315h194v113l11 231h-9l-92 -161z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1693" d="M115 1143v111q76 12 121 31.5t92 54.5h141v-799h-178v602h-176zM338 -25l731 1389h143l-729 -1389h-145zM1000 664q53 76 126.5 117.5t159.5 41.5q127 0 204 -67.5t77 -196.5q0 -53 -19.5 -102t-54.5 -99.5t-81 -101.5t-99 -106h289v-150h-572v98q172 147 268.5 247.5 t96.5 184.5q0 68 -36 107t-99 39q-45 0 -84 -30t-74 -77z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1652" d="M61 676l111 86q74 -109 186 -108q57 0 97.5 30.5t40.5 87.5q0 59 -56.5 91t-162.5 32v105q88 0 138 32.5t50 90.5q0 47 -33 75.5t-88 28.5q-41 0 -79 -24.5t-68 -63.5l-103 90q59 66 124 100.5t155 34.5q53 0 101 -15t85 -43t58.5 -69t21.5 -92q0 -68 -34 -114t-93 -76 q66 -23 112 -71t46 -124q0 -55 -23.5 -100t-64.5 -77t-95.5 -49.5t-113.5 -17.5q-102 0 -182 43t-130 117zM434 -25l731 1389h143l-729 -1389h-145zM969 195v90l311 514h213v-484h119v-120h-119v-195h-158v195h-366zM1141 315h194v113l11 231h-9l-92 -161z" />
+<glyph unicode="&#xbf;" horiz-adv-x="909" d="M92 -51q0 66 23.5 118t58.5 99t74 90t70.5 90t50 100.5t12.5 118.5h209q10 -76 -6.5 -136t-46 -111.5t-67.5 -95.5t-71.5 -86t-56.5 -84t-23 -87q0 -72 44.5 -118t123.5 -46q61 0 112.5 30t96.5 77l133 -121q-68 -78 -157.5 -128t-200.5 -50q-84 0 -152.5 21.5t-120 64.5 t-79 106.5t-27.5 147.5zM332 872q0 68 43 113t108 45q66 0 109 -45t43 -113q0 -72 -43 -116.5t-109 -44.5t-108.5 45t-42.5 116z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1136" d="M-8 0l438 1339h279l436 -1339h-252l-105 362h-448l-104 -362h-244zM262 1679h258l172 -237h-190zM393 549h342l-47 164q-31 106 -61.5 218.5t-59.5 223.5h-8q-29 -113 -57.5 -224.5t-61.5 -217.5z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1136" d="M-8 0l438 1339h279l436 -1339h-252l-105 362h-448l-104 -362h-244zM393 549h342l-47 164q-31 106 -61.5 218.5t-59.5 223.5h-8q-29 -113 -57.5 -224.5t-61.5 -217.5zM434 1442l172 237h258l-240 -237h-190z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1136" d="M-8 0l438 1339h279l436 -1339h-252l-105 362h-448l-104 -362h-244zM252 1442l196 237h230l196 -237h-184l-123 131h-8l-123 -131h-184zM393 549h342l-47 164q-31 106 -61.5 218.5t-59.5 223.5h-8q-29 -113 -57.5 -224.5t-61.5 -217.5z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1136" d="M-8 0l438 1339h279l436 -1339h-252l-105 362h-448l-104 -362h-244zM239 1448q12 119 65.5 184.5t131.5 65.5q41 0 75 -15.5t63.5 -34t55 -34t52.5 -15.5q29 0 49 24t31 75h125q-12 -117 -65.5 -183.5t-131.5 -66.5q-41 0 -75 15.5t-63.5 35t-55 34.5t-52.5 15 q-29 0 -49 -24.5t-31 -75.5h-125zM393 549h342l-47 164q-31 106 -61.5 218.5t-59.5 223.5h-8q-29 -113 -57.5 -224.5t-61.5 -217.5z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1136" d="M-8 0l438 1339h279l436 -1339h-252l-105 362h-448l-104 -362h-244zM252 1571q0 53 33.5 88t87.5 35q53 0 87.5 -35t34.5 -88t-34.5 -87t-87.5 -34t-87 34t-34 87zM393 549h342l-47 164q-31 106 -61.5 218.5t-59.5 223.5h-8q-29 -113 -57.5 -224.5t-61.5 -217.5zM631 1571 q0 53 34.5 88t87.5 35t87 -35t34 -88t-34 -87t-87 -34t-87.5 34t-34.5 87z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1136" d="M-8 0l438 1339h279l436 -1339h-252l-105 362h-448l-104 -362h-244zM352 1620q0 86 58.5 138t152.5 52q92 0 151.5 -52t59.5 -138q0 -88 -59.5 -139t-151.5 -51q-94 0 -152.5 51t-58.5 139zM393 549h342l-47 164q-31 106 -61.5 218.5t-59.5 223.5h-8 q-29 -113 -57.5 -224.5t-61.5 -217.5zM473 1620q0 -47 25.5 -71.5t64.5 -24.5q37 0 63.5 24.5t26.5 71.5q0 45 -26.5 70.5t-63.5 25.5q-39 0 -64.5 -25.5t-25.5 -70.5z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1701" d="M-8 0l667 1339h922v-200h-541v-342h453v-201h-453v-395h562v-201h-799v348h-395l-170 -348h-246zM498 535h305v622h-8q-47 -104 -96.5 -206.5t-96.5 -200.5z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1173" d="M96 666q0 164 48.5 294t132 220t196.5 137t242 47q123 0 220 -51t161 -119l-131 -147q-53 51 -111.5 80.5t-136.5 29.5q-82 0 -151.5 -33.5t-120 -96t-78 -153t-27.5 -202.5q0 -229 100.5 -359.5t268.5 -130.5q90 0 157.5 35t124.5 98l131 -145q-82 -94 -185 -144.5 t-232 -50.5q-127 0 -239 45.5t-194 133.5t-129 217t-47 295zM512 -342q78 10 127.5 31.5t49.5 62.5q0 33 -30 55.5t-95 38.5l82 160h143l-47 -100q51 -18 86 -52t35 -98q0 -49 -27 -83.5t-73 -59.5t-105 -39t-125 -18z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1093" d="M168 0v1339h805v-200h-567v-342h481v-201h-481v-395h587v-201h-825zM283 1679h258l172 -237h-190z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1093" d="M168 0v1339h805v-200h-567v-342h481v-201h-481v-395h587v-201h-825zM455 1442l172 237h258l-240 -237h-190z" />
+<glyph unicode="&#xca;" horiz-adv-x="1093" d="M168 0v1339h805v-200h-567v-342h481v-201h-481v-395h587v-201h-825zM273 1442l196 237h230l196 -237h-184l-123 131h-8l-123 -131h-184z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1093" d="M168 0v1339h805v-200h-567v-342h481v-201h-481v-395h587v-201h-825zM273 1571q0 53 33.5 88t87.5 35q53 0 87.5 -35t34.5 -88t-34.5 -87t-87.5 -34t-87 34t-34 87zM652 1571q0 53 34.5 88t87.5 35t87 -35t34 -88t-34 -87t-87 -34t-87.5 34t-34.5 87z" />
+<glyph unicode="&#xcc;" horiz-adv-x="571" d="M-16 1679h258l172 -237h-190zM168 0v1339h238v-1339h-238z" />
+<glyph unicode="&#xcd;" horiz-adv-x="571" d="M156 1442l172 237h258l-240 -237h-190zM168 0v1339h238v-1339h-238z" />
+<glyph unicode="&#xce;" horiz-adv-x="571" d="M-26 1442l196 237h230l196 -237h-184l-123 131h-8l-123 -131h-184zM168 0v1339h238v-1339h-238z" />
+<glyph unicode="&#xcf;" horiz-adv-x="571" d="M-26 1571q0 53 33.5 88t87.5 35q53 0 87.5 -35t34.5 -88t-34.5 -87t-87.5 -34t-87 34t-34 87zM168 0v1339h238v-1339h-238zM353 1571q0 53 34.5 88t87.5 35t87 -35t34 -88t-34 -87t-87 -34t-87.5 34t-34.5 87z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1320" d="M57 637v113l156 8v581h356q307 0 480.5 -165.5t173.5 -497.5q0 -166 -44 -293t-127 -212t-202 -128t-268 -43h-369v637h-156zM451 193h102q205 0 315.5 117.5t110.5 365.5q0 246 -111.5 358.5t-314.5 112.5h-102v-389h282v-121h-282v-444z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1337" d="M168 0v1339h244l415 -753l140 -285h8q-10 104 -20.5 224t-10.5 233v581h225v-1339h-243l-416 754l-139 284h-9q10 -106 20.5 -223t10.5 -229v-586h-225zM348 1448q12 119 65.5 184.5t131.5 65.5q41 0 75 -15.5t63.5 -34t55 -34t52.5 -15.5q29 0 49 24t31 75h125 q-12 -117 -65.5 -183.5t-131.5 -66.5q-41 0 -75 15.5t-63.5 35t-55 34.5t-52.5 15q-29 0 -49 -24.5t-31 -75.5h-125z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1374" d="M96 676q0 162 43 290t122 216t187.5 135t239.5 47t239.5 -47t186.5 -135t121 -216t43 -290q0 -164 -43 -293t-121 -220t-186.5 -139.5t-239.5 -48.5t-239.5 48.5t-187.5 139.5t-122 220t-43 293zM340 676q0 -113 24.5 -204t70.5 -155.5t109.5 -99.5t143.5 -35 q78 0 142.5 35t109.5 99.5t69.5 155.5t24.5 204q0 225 -94 353t-252 128q-160 0 -254 -128t-94 -353zM385 1679h258l172 -237h-190z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1374" d="M96 676q0 162 43 290t122 216t187.5 135t239.5 47t239.5 -47t186.5 -135t121 -216t43 -290q0 -164 -43 -293t-121 -220t-186.5 -139.5t-239.5 -48.5t-239.5 48.5t-187.5 139.5t-122 220t-43 293zM340 676q0 -113 24.5 -204t70.5 -155.5t109.5 -99.5t143.5 -35 q78 0 142.5 35t109.5 99.5t69.5 155.5t24.5 204q0 225 -94 353t-252 128q-160 0 -254 -128t-94 -353zM557 1442l172 237h258l-240 -237h-190z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1374" d="M96 676q0 162 43 290t122 216t187.5 135t239.5 47t239.5 -47t186.5 -135t121 -216t43 -290q0 -164 -43 -293t-121 -220t-186.5 -139.5t-239.5 -48.5t-239.5 48.5t-187.5 139.5t-122 220t-43 293zM340 676q0 -113 24.5 -204t70.5 -155.5t109.5 -99.5t143.5 -35 q78 0 142.5 35t109.5 99.5t69.5 155.5t24.5 204q0 225 -94 353t-252 128q-160 0 -254 -128t-94 -353zM375 1442l196 237h230l196 -237h-184l-123 131h-8l-123 -131h-184z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1374" d="M96 676q0 162 43 290t122 216t187.5 135t239.5 47t239.5 -47t186.5 -135t121 -216t43 -290q0 -164 -43 -293t-121 -220t-186.5 -139.5t-239.5 -48.5t-239.5 48.5t-187.5 139.5t-122 220t-43 293zM340 676q0 -113 24.5 -204t70.5 -155.5t109.5 -99.5t143.5 -35 q78 0 142.5 35t109.5 99.5t69.5 155.5t24.5 204q0 225 -94 353t-252 128q-160 0 -254 -128t-94 -353zM362 1448q12 119 65.5 184.5t131.5 65.5q41 0 75 -15.5t63.5 -34t55 -34t52.5 -15.5q29 0 49 24t31 75h125q-12 -117 -65.5 -183.5t-131.5 -66.5q-41 0 -75 15.5t-63.5 35 t-55 34.5t-52.5 15q-29 0 -49 -24.5t-31 -75.5h-125z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1374" d="M96 676q0 162 43 290t122 216t187.5 135t239.5 47t239.5 -47t186.5 -135t121 -216t43 -290q0 -164 -43 -293t-121 -220t-186.5 -139.5t-239.5 -48.5t-239.5 48.5t-187.5 139.5t-122 220t-43 293zM340 676q0 -113 24.5 -204t70.5 -155.5t109.5 -99.5t143.5 -35 q78 0 142.5 35t109.5 99.5t69.5 155.5t24.5 204q0 225 -94 353t-252 128q-160 0 -254 -128t-94 -353zM375 1571q0 53 33.5 88t87.5 35q53 0 87.5 -35t34.5 -88t-34.5 -87t-87.5 -34t-87 34t-34 87zM754 1571q0 53 34.5 88t87.5 35t87 -35t34 -88t-34 -87t-87 -34t-87.5 34 t-34.5 87z" />
+<glyph unicode="&#xd7;" d="M100 367l303 307l-303 309l121 123l303 -311l305 311l121 -123l-305 -309l305 -307l-121 -123l-305 309l-303 -309z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1374" d="M88 25l141 178q-63 90 -98 207.5t-35 265.5q0 162 43 290t122 216t187.5 135t239.5 47q213 0 361 -119l133 168l125 -98l-150 -191q59 -86 90 -197.5t31 -250.5q0 -164 -43 -293t-121 -220t-186.5 -139.5t-239.5 -48.5q-201 0 -346 111l-127 -160zM340 676 q0 -156 47 -273l520 662q-88 92 -219 92q-160 0 -254 -128t-94 -353zM481 264q86 -82 207 -82q78 0 142.5 35t109.5 99.5t69.5 155.5t24.5 204q0 137 -39 244z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1335" d="M160 588v751h237v-770q0 -109 19.5 -183.5t55.5 -119.5t86 -64.5t112 -19.5q61 0 112.5 19.5t87 64.5t56 120t20.5 183v770h230v-751q0 -166 -36 -282t-101.5 -189.5t-159 -107.5t-209.5 -34q-117 0 -211 34t-161 107.5t-102.5 189.5t-35.5 282zM367 1679h258l172 -237 h-190z" />
+<glyph unicode="&#xda;" horiz-adv-x="1335" d="M160 588v751h237v-770q0 -109 19.5 -183.5t55.5 -119.5t86 -64.5t112 -19.5q61 0 112.5 19.5t87 64.5t56 120t20.5 183v770h230v-751q0 -166 -36 -282t-101.5 -189.5t-159 -107.5t-209.5 -34q-117 0 -211 34t-161 107.5t-102.5 189.5t-35.5 282zM539 1442l172 237h258 l-240 -237h-190z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1335" d="M160 588v751h237v-770q0 -109 19.5 -183.5t55.5 -119.5t86 -64.5t112 -19.5q61 0 112.5 19.5t87 64.5t56 120t20.5 183v770h230v-751q0 -166 -36 -282t-101.5 -189.5t-159 -107.5t-209.5 -34q-117 0 -211 34t-161 107.5t-102.5 189.5t-35.5 282zM357 1442l196 237h230 l196 -237h-184l-123 131h-8l-123 -131h-184z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1335" d="M160 588v751h237v-770q0 -109 19.5 -183.5t55.5 -119.5t86 -64.5t112 -19.5q61 0 112.5 19.5t87 64.5t56 120t20.5 183v770h230v-751q0 -166 -36 -282t-101.5 -189.5t-159 -107.5t-209.5 -34q-117 0 -211 34t-161 107.5t-102.5 189.5t-35.5 282zM357 1571q0 53 33.5 88 t87.5 35q53 0 87.5 -35t34.5 -88t-34.5 -87t-87.5 -34t-87 34t-34 87zM736 1571q0 53 34.5 88t87.5 35t87 -35t34 -88t-34 -87t-87 -34t-87.5 34t-34.5 87z" />
+<glyph unicode="&#xdd;" horiz-adv-x="1019" d="M-12 1339h254l145 -342q29 -76 58.5 -146.5t60.5 -148.5h8q33 78 64.5 149t60.5 146l145 342h248l-403 -841v-498h-238v498zM381 1442l172 237h258l-240 -237h-190z" />
+<glyph unicode="&#xde;" horiz-adv-x="1232" d="M172 0v1339h238v-213h213q111 0 204 -21.5t160.5 -69.5t106.5 -127t39 -195q0 -113 -39 -195t-107.5 -135t-162 -78.5t-201.5 -25.5h-213v-279h-238zM410 469h192q152 0 223.5 60.5t71.5 183.5q0 125 -73.5 174t-221.5 49h-192v-467z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1236" d="M150 0v1026q0 98 28.5 179t83.5 139.5t138 90t194 31.5q92 0 162.5 -26.5t119 -70.5t72 -101.5t23.5 -120.5q0 -76 -26.5 -128t-59.5 -94t-59.5 -81t-26.5 -84q0 -41 28.5 -69.5t70.5 -53.5t92 -50.5t92 -63.5t71 -93t29 -135q0 -68 -23.5 -126t-69 -101t-112 -68 t-150.5 -25q-86 0 -157.5 26t-141.5 71l86 161q104 -80 207 -79q68 0 105 38.5t37 92.5q0 49 -29 81.5t-71 59.5t-91 51.5t-91 58t-70.5 80t-28.5 115.5q0 63 25.5 109.5t55 88.5t55 86t25.5 105q0 70 -37.5 115t-111.5 45q-102 0 -156.5 -73.5t-54.5 -215.5v-991h-233z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1071" d="M106 270q0 162 141.5 250t450.5 123q0 39 -10 75t-31.5 63.5t-55.5 43t-85 15.5q-76 0 -146.5 -29t-136.5 -70l-86 158q84 53 187.5 92t224.5 39q190 0 282.5 -111.5t92.5 -322.5v-596h-193l-18 111h-6q-68 -57 -144.5 -96.5t-166.5 -39.5q-133 0 -216.5 81t-83.5 214z M297 1473h233l185 -299h-177zM336 289q0 -68 40 -98.5t103 -30.5q61 0 112.5 28.5t106.5 81.5v226q-102 -12 -171.5 -33t-111.5 -46.5t-60.5 -58t-18.5 -69.5z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1071" d="M106 270q0 162 141.5 250t450.5 123q0 39 -10 75t-31.5 63.5t-55.5 43t-85 15.5q-76 0 -146.5 -29t-136.5 -70l-86 158q84 53 187.5 92t224.5 39q190 0 282.5 -111.5t92.5 -322.5v-596h-193l-18 111h-6q-68 -57 -144.5 -96.5t-166.5 -39.5q-133 0 -216.5 81t-83.5 214z M336 289q0 -68 40 -98.5t103 -30.5q61 0 112.5 28.5t106.5 81.5v226q-102 -12 -171.5 -33t-111.5 -46.5t-60.5 -58t-18.5 -69.5zM411 1174l185 299h233l-241 -299h-177z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1071" d="M106 270q0 162 141.5 250t450.5 123q0 39 -10 75t-31.5 63.5t-55.5 43t-85 15.5q-76 0 -146.5 -29t-136.5 -70l-86 158q84 53 187.5 92t224.5 39q190 0 282.5 -111.5t92.5 -322.5v-596h-193l-18 111h-6q-68 -57 -144.5 -96.5t-166.5 -39.5q-133 0 -216.5 81t-83.5 214z M272 1174l197 299h188l197 -299h-164l-123 174h-8l-123 -174h-164zM336 289q0 -68 40 -98.5t103 -30.5q61 0 112.5 28.5t106.5 81.5v226q-102 -12 -171.5 -33t-111.5 -46.5t-60.5 -58t-18.5 -69.5z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1071" d="M106 270q0 162 141.5 250t450.5 123q0 39 -10 75t-31.5 63.5t-55.5 43t-85 15.5q-76 0 -146.5 -29t-136.5 -70l-86 158q84 53 187.5 92t224.5 39q190 0 282.5 -111.5t92.5 -322.5v-596h-193l-18 111h-6q-68 -57 -144.5 -96.5t-166.5 -39.5q-133 0 -216.5 81t-83.5 214z M250 1182q12 117 62 182.5t128 65.5q39 0 73 -15.5t62.5 -34t53 -34t49.5 -15.5q53 0 73 99h125q-12 -117 -62 -182.5t-128 -65.5q-41 0 -74 15t-60.5 33.5t-53 34t-50.5 15.5q-53 0 -73 -98h-125zM336 289q0 -68 40 -98.5t103 -30.5q61 0 112.5 28.5t106.5 81.5v226 q-102 -12 -171.5 -33t-111.5 -46.5t-60.5 -58t-18.5 -69.5z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1071" d="M106 270q0 162 141.5 250t450.5 123q0 39 -10 75t-31.5 63.5t-55.5 43t-85 15.5q-76 0 -146.5 -29t-136.5 -70l-86 158q84 53 187.5 92t224.5 39q190 0 282.5 -111.5t92.5 -322.5v-596h-193l-18 111h-6q-68 -57 -144.5 -96.5t-166.5 -39.5q-133 0 -216.5 81t-83.5 214z M252 1309q0 51 33.5 86t87.5 35q53 0 87.5 -35t34.5 -86q0 -53 -34.5 -88t-87.5 -35t-87 34.5t-34 88.5zM336 289q0 -68 40 -98.5t103 -30.5q61 0 112.5 28.5t106.5 81.5v226q-102 -12 -171.5 -33t-111.5 -46.5t-60.5 -58t-18.5 -69.5zM631 1309q0 51 34.5 86t87.5 35 t87 -35t34 -86q0 -53 -34 -88t-87 -35t-87.5 34.5t-34.5 88.5z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1071" d="M106 270q0 162 141.5 250t450.5 123q0 39 -10 75t-31.5 63.5t-55.5 43t-85 15.5q-76 0 -146.5 -29t-136.5 -70l-86 158q84 53 187.5 92t224.5 39q190 0 282.5 -111.5t92.5 -322.5v-596h-193l-18 111h-6q-68 -57 -144.5 -96.5t-166.5 -39.5q-133 0 -216.5 81t-83.5 214z M336 289q0 -68 40 -98.5t103 -30.5q61 0 112.5 28.5t106.5 81.5v226q-102 -12 -171.5 -33t-111.5 -46.5t-60.5 -58t-18.5 -69.5zM352 1315q0 92 58.5 146.5t152.5 54.5t152.5 -54.5t58.5 -146.5q0 -90 -58.5 -144.5t-152.5 -54.5t-152.5 54.5t-58.5 144.5zM473 1315 q0 -47 25.5 -76t64.5 -29t64.5 29t25.5 76t-25.5 76.5t-64.5 29.5t-64.5 -29.5t-25.5 -76.5z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1607" d="M106 270q0 162 140.5 251t445.5 122q-2 39 -11 75t-29.5 63.5t-54.5 43t-85 15.5q-72 0 -142.5 -29t-136.5 -70l-86 158q84 53 184.5 92t211.5 39q104 0 174.5 -48t109.5 -134q61 86 138 134t176 48q96 0 168.5 -36t122 -99.5t75 -152.5t25.5 -193q0 -70 -10 -111h-615 q12 -131 89 -202.5t188 -71.5q66 0 119 21.5t108 56.5l84 -158q-72 -47 -159 -78t-183 -31q-119 0 -205 50.5t-145 121.5q-104 -90 -201.5 -131t-195.5 -41q-133 0 -216.5 81t-83.5 214zM336 289q0 -68 40 -98.5t103 -30.5q59 0 125 31.5t121 87.5q-16 35 -23.5 79.5 t-9.5 90.5l-4 47q-193 -27 -272.5 -78t-79.5 -129zM907 588h422q0 123 -49 191.5t-147 68.5q-86 0 -148.5 -67.5t-77.5 -192.5z" />
+<glyph unicode="&#xe7;" horiz-adv-x="946" d="M84 502q0 125 41 223t110.5 165.5t160.5 103.5t192 36q98 0 170.5 -33.5t124.5 -83.5l-113 -149q-41 35 -82 54.5t-88 19.5q-123 0 -198.5 -91.5t-75.5 -244.5q0 -152 74.5 -243t193.5 -91q61 0 113.5 25.5t93.5 60.5l98 -150q-72 -63 -158 -96t-172 -33q-102 0 -191 35 t-154.5 102.5t-102.5 166t-37 223.5zM376 -342q78 10 127.5 31.5t49.5 62.5q0 33 -30 55.5t-95 38.5l82 160h143l-47 -100q51 -18 86 -52t35 -98q0 -49 -27 -83.5t-73 -59.5t-105 -39t-125 -18z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1038" d="M84 502q0 123 39 221t103.5 165.5t148.5 104.5t172 37q102 0 180 -34.5t130 -98t79 -152t27 -192.5q0 -70 -11 -111h-639q16 -137 95 -210.5t202 -73.5q66 0 122 19.5t112 53.5l80 -147q-72 -47 -160 -78t-184 -31q-104 0 -194.5 36t-158 103.5t-105.5 165t-38 222.5z M281 1473h233l185 -299h-177zM311 592h447q0 121 -50.5 188.5t-154.5 67.5q-90 0 -157.5 -64.5t-84.5 -191.5z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1038" d="M84 502q0 123 39 221t103.5 165.5t148.5 104.5t172 37q102 0 180 -34.5t130 -98t79 -152t27 -192.5q0 -70 -11 -111h-639q16 -137 95 -210.5t202 -73.5q66 0 122 19.5t112 53.5l80 -147q-72 -47 -160 -78t-184 -31q-104 0 -194.5 36t-158 103.5t-105.5 165t-38 222.5z M311 592h447q0 121 -50.5 188.5t-154.5 67.5q-90 0 -157.5 -64.5t-84.5 -191.5zM395 1174l185 299h233l-241 -299h-177z" />
+<glyph unicode="&#xea;" horiz-adv-x="1038" d="M84 502q0 123 39 221t103.5 165.5t148.5 104.5t172 37q102 0 180 -34.5t130 -98t79 -152t27 -192.5q0 -70 -11 -111h-639q16 -137 95 -210.5t202 -73.5q66 0 122 19.5t112 53.5l80 -147q-72 -47 -160 -78t-184 -31q-104 0 -194.5 36t-158 103.5t-105.5 165t-38 222.5z M256 1174l197 299h188l197 -299h-164l-123 174h-8l-123 -174h-164zM311 592h447q0 121 -50.5 188.5t-154.5 67.5q-90 0 -157.5 -64.5t-84.5 -191.5z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1038" d="M84 502q0 123 39 221t103.5 165.5t148.5 104.5t172 37q102 0 180 -34.5t130 -98t79 -152t27 -192.5q0 -70 -11 -111h-639q16 -137 95 -210.5t202 -73.5q66 0 122 19.5t112 53.5l80 -147q-72 -47 -160 -78t-184 -31q-104 0 -194.5 36t-158 103.5t-105.5 165t-38 222.5z M236 1309q0 51 33.5 86t87.5 35q53 0 87.5 -35t34.5 -86q0 -53 -34.5 -88t-87.5 -35t-87 34.5t-34 88.5zM311 592h447q0 121 -50.5 188.5t-154.5 67.5q-90 0 -157.5 -64.5t-84.5 -191.5zM615 1309q0 51 34.5 86t87.5 35t87 -35t34 -86q0 -53 -34 -88t-87 -35t-87.5 34.5 t-34.5 88.5z" />
+<glyph unicode="&#xec;" horiz-adv-x="536" d="M2 1473h233l185 -299h-177zM150 0v1006h235v-1006h-235z" />
+<glyph unicode="&#xed;" horiz-adv-x="536" d="M116 1174l185 299h233l-241 -299h-177zM150 0v1006h235v-1006h-235z" />
+<glyph unicode="&#xee;" horiz-adv-x="536" d="M-23 1174l197 299h188l197 -299h-164l-123 174h-8l-123 -174h-164zM150 0v1006h235v-1006h-235z" />
+<glyph unicode="&#xef;" horiz-adv-x="536" d="M-43 1309q0 51 33.5 86t87.5 35q53 0 87.5 -35t34.5 -86q0 -53 -34.5 -88t-87.5 -35t-87 34.5t-34 88.5zM150 0v1006h235v-1006h-235zM336 1309q0 51 34.5 86t87.5 35t87 -35t34 -86q0 -53 -34 -88t-87 -35t-87.5 34.5t-34.5 88.5z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1130" d="M98 461q0 106 34 192t91.5 146.5t133 92.5t159.5 32q70 0 134.5 -26t111.5 -85q-29 104 -78 184t-119 148l-291 -148l-63 109l250 127q-47 35 -98.5 65.5t-108.5 61.5l104 145q74 -39 145.5 -83t137.5 -97l293 150l63 -111l-254 -129q121 -123 199 -293t78 -405 q0 -123 -33 -226.5t-93 -178.5t-146 -116t-193 -41q-92 0 -174 34t-145.5 96.5t-100.5 152.5t-37 203zM315 461q0 -68 19.5 -122t53.5 -92t79 -58.5t94 -20.5q113 0 174.5 93t61.5 263q0 27 -1 52.5t-3 50.5q-55 70 -113.5 94t-120.5 24q-113 0 -178.5 -75.5t-65.5 -208.5z " />
+<glyph unicode="&#xf1;" horiz-adv-x="1146" d="M150 0v1006h194l16 -136h9q68 66 146.5 113t182.5 47q162 0 236 -103.5t74 -295.5v-631h-236v600q0 125 -37 176t-121 51q-66 0 -115.5 -31.5t-113.5 -93.5v-702h-235zM301 1182q12 117 62 182.5t128 65.5q39 0 73 -15.5t62.5 -34t53 -34t49.5 -15.5q53 0 73 99h125 q-12 -117 -62 -182.5t-128 -65.5q-41 0 -74 15t-60.5 33.5t-53 34t-50.5 15.5q-53 0 -73 -98h-125z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1124" d="M84 502q0 125 39 223t105.5 165.5t152.5 103.5t180 36t181 -36t153 -103.5t105.5 -165.5t39.5 -223t-39.5 -223.5t-105.5 -166t-153 -102.5t-181 -35t-180 35t-152.5 102.5t-105.5 166t-39 223.5zM295 1473h233l185 -299h-177zM326 502q0 -152 62.5 -243t172.5 -91 q111 0 174.5 91t63.5 243q0 154 -63.5 245t-174.5 91t-173 -91t-62 -245z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1124" d="M84 502q0 125 39 223t105.5 165.5t152.5 103.5t180 36t181 -36t153 -103.5t105.5 -165.5t39.5 -223t-39.5 -223.5t-105.5 -166t-153 -102.5t-181 -35t-180 35t-152.5 102.5t-105.5 166t-39 223.5zM326 502q0 -152 62.5 -243t172.5 -91q111 0 174.5 91t63.5 243 q0 154 -63.5 245t-174.5 91t-173 -91t-62 -245zM409 1174l185 299h233l-241 -299h-177z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1124" d="M84 502q0 125 39 223t105.5 165.5t152.5 103.5t180 36t181 -36t153 -103.5t105.5 -165.5t39.5 -223t-39.5 -223.5t-105.5 -166t-153 -102.5t-181 -35t-180 35t-152.5 102.5t-105.5 166t-39 223.5zM270 1174l197 299h188l197 -299h-164l-123 174h-8l-123 -174h-164z M326 502q0 -152 62.5 -243t172.5 -91q111 0 174.5 91t63.5 243q0 154 -63.5 245t-174.5 91t-173 -91t-62 -245z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1124" d="M84 502q0 125 39 223t105.5 165.5t152.5 103.5t180 36t181 -36t153 -103.5t105.5 -165.5t39.5 -223t-39.5 -223.5t-105.5 -166t-153 -102.5t-181 -35t-180 35t-152.5 102.5t-105.5 166t-39 223.5zM248 1182q12 117 62 182.5t128 65.5q39 0 73 -15.5t62.5 -34t53 -34 t49.5 -15.5q53 0 73 99h125q-12 -117 -62 -182.5t-128 -65.5q-41 0 -74 15t-60.5 33.5t-53 34t-50.5 15.5q-53 0 -73 -98h-125zM326 502q0 -152 62.5 -243t172.5 -91q111 0 174.5 91t63.5 243q0 154 -63.5 245t-174.5 91t-173 -91t-62 -245z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1124" d="M84 502q0 125 39 223t105.5 165.5t152.5 103.5t180 36t181 -36t153 -103.5t105.5 -165.5t39.5 -223t-39.5 -223.5t-105.5 -166t-153 -102.5t-181 -35t-180 35t-152.5 102.5t-105.5 166t-39 223.5zM250 1309q0 51 33.5 86t87.5 35q53 0 87.5 -35t34.5 -86q0 -53 -34.5 -88 t-87.5 -35t-87 34.5t-34 88.5zM326 502q0 -152 62.5 -243t172.5 -91q111 0 174.5 91t63.5 243q0 154 -63.5 245t-174.5 91t-173 -91t-62 -245zM629 1309q0 51 34.5 86t87.5 35t87 -35t34 -86q0 -53 -34 -88t-87 -35t-87.5 34.5t-34.5 88.5z" />
+<glyph unicode="&#xf7;" d="M70 590v172h911v-172h-911zM385 307q0 59 40 96t99 37t99.5 -36.5t40.5 -96.5q0 -59 -40 -97t-100 -38q-59 0 -99 38t-40 97zM385 1044q0 59 40 96.5t99 37.5t99.5 -37t40.5 -97q0 -59 -40.5 -97t-99.5 -38t-99 38t-40 97z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1124" d="M84 502q0 125 39 223t105.5 165.5t152.5 103.5t180 36q158 0 279 -90l96 117l94 -74l-102 -127q53 -66 82.5 -155t29.5 -199q0 -125 -39.5 -223.5t-105.5 -166t-153 -102.5t-181 -35q-76 0 -147.5 22.5t-130.5 68.5l-95 -115l-94 74l103 125q-53 66 -83 153.5t-30 198.5z M313 514q0 -106 29 -186l373 458q-63 59 -154 60q-111 0 -179.5 -92t-68.5 -240zM408 221q61 -61 153 -61q111 0 180.5 91t69.5 238q0 109 -29 189z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1138" d="M139 375v631h236v-600q0 -125 37 -176.5t118 -51.5q66 0 116 33t108 106v689h235v-1006h-192l-19 147h-6q-66 -78 -142.5 -125t-180.5 -47q-162 0 -236 103.5t-74 296.5zM305 1473h233l185 -299h-177z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1138" d="M139 375v631h236v-600q0 -125 37 -176.5t118 -51.5q66 0 116 33t108 106v689h235v-1006h-192l-19 147h-6q-66 -78 -142.5 -125t-180.5 -47q-162 0 -236 103.5t-74 296.5zM419 1174l185 299h233l-241 -299h-177z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1138" d="M139 375v631h236v-600q0 -125 37 -176.5t118 -51.5q66 0 116 33t108 106v689h235v-1006h-192l-19 147h-6q-66 -78 -142.5 -125t-180.5 -47q-162 0 -236 103.5t-74 296.5zM280 1174l197 299h188l197 -299h-164l-123 174h-8l-123 -174h-164z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1138" d="M139 375v631h236v-600q0 -125 37 -176.5t118 -51.5q66 0 116 33t108 106v689h235v-1006h-192l-19 147h-6q-66 -78 -142.5 -125t-180.5 -47q-162 0 -236 103.5t-74 296.5zM260 1309q0 51 33.5 86t87.5 35q53 0 87.5 -35t34.5 -86q0 -53 -34.5 -88t-87.5 -35t-87 34.5 t-34 88.5zM639 1309q0 51 34.5 86t87.5 35t87 -35t34 -86q0 -53 -34 -88t-87 -35t-87.5 34.5t-34.5 88.5z" />
+<glyph unicode="&#xfd;" horiz-adv-x="1013" d="M25 1006h239l174 -494q23 -66 44.5 -138.5t43.5 -144.5h9q18 70 37.5 142.5t37.5 140.5l152 494h227l-364 -1051q-31 -86 -68 -153.5t-85 -115.5t-110.5 -74t-144.5 -26q-41 0 -71.5 5.5t-59.5 15.5l43 184q14 -4 33.5 -9t38.5 -5q80 0 128 48t72 124l19 63zM370 1174 l185 299h233l-241 -299h-177z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1155" d="M150 -397v1843h235v-373l-4 -158q59 49 130 82t148 33q96 0 172 -36t128.5 -103.5t80 -161.5t27.5 -211q0 -129 -36 -230.5t-95 -170t-137 -105.5t-162 -37q-72 0 -134.5 27t-121.5 76l4 -160v-315h-235zM385 254q55 -47 106.5 -65.5t96.5 -18.5q100 0 167.5 87t67.5 259 q0 152 -51 236t-166 84q-106 0 -221 -113v-469z" />
+<glyph unicode="&#xff;" horiz-adv-x="1013" d="M25 1006h239l174 -494q23 -66 44.5 -138.5t43.5 -144.5h9q18 70 37.5 142.5t37.5 140.5l152 494h227l-364 -1051q-31 -86 -68 -153.5t-85 -115.5t-110.5 -74t-144.5 -26q-41 0 -71.5 5.5t-59.5 15.5l43 184q14 -4 33.5 -9t38.5 -5q80 0 128 48t72 124l19 63zM211 1309 q0 51 33.5 86t87.5 35q53 0 87.5 -35t34.5 -86q0 -53 -34.5 -88t-87.5 -35t-87 34.5t-34 88.5zM590 1309q0 51 34.5 86t87.5 35t87 -35t34 -86q0 -53 -34 -88t-87 -35t-87.5 34.5t-34.5 88.5z" />
+<glyph unicode="&#x152;" horiz-adv-x="1753" d="M96 676q0 166 48.5 290t136.5 206.5t211.5 124.5t275.5 42h864v-200h-538v-342h450v-201h-450v-395h559v-201h-897q-147 0 -269 43t-208 128t-134.5 212t-48.5 293zM340 676q0 -250 116.5 -366.5t327.5 -116.5h72v954h-72q-209 0 -326.5 -111.5t-117.5 -359.5z" />
+<glyph unicode="&#x153;" horiz-adv-x="1699" d="M84 502q0 125 38 223t101.5 165.5t147.5 103.5t178 36q111 0 200 -55t144 -158q59 100 147 156.5t189 56.5q96 0 171 -36t125 -99.5t75.5 -152.5t25.5 -193q0 -35 -3 -63.5t-7 -47.5h-621q12 -131 90 -202.5t189 -71.5q66 0 120 21.5t109 56.5l84 -158q-72 -47 -160 -78 t-186 -31q-104 0 -194.5 56.5t-149.5 156.5q-61 -104 -148 -158.5t-204 -54.5q-94 0 -178 35t-146.5 102.5t-99.5 166t-37 223.5zM324 502q0 -152 61 -243t164 -91q104 0 165.5 91t61.5 243q0 154 -61.5 245t-165.5 91q-102 0 -163.5 -91t-61.5 -245zM995 588h426 q0 123 -50 191.5t-148 68.5q-88 0 -150.5 -67.5t-77.5 -192.5z" />
+<glyph unicode="&#x178;" horiz-adv-x="1019" d="M-12 1339h254l145 -342q29 -76 58.5 -146.5t60.5 -148.5h8q33 78 64.5 149t60.5 146l145 342h248l-403 -841v-498h-238v498zM199 1571q0 53 33.5 88t87.5 35q53 0 87.5 -35t34.5 -88t-34.5 -87t-87.5 -34t-87 34t-34 87zM578 1571q0 53 34.5 88t87.5 35t87 -35t34 -88 t-34 -87t-87 -34t-87.5 34t-34.5 87z" />
+<glyph unicode="&#x2c6;" horiz-adv-x="1124" d="M270 1174l197 299h188l197 -299h-164l-123 174h-8l-123 -174h-164z" />
+<glyph unicode="&#x2dc;" horiz-adv-x="1124" d="M248 1182q12 117 62 182.5t128 65.5q39 0 73 -15.5t62.5 -34t53 -34t49.5 -15.5q53 0 73 99h125q-12 -117 -62 -182.5t-128 -65.5q-41 0 -74 15t-60.5 33.5t-53 34t-50.5 15.5q-53 0 -73 -98h-125z" />
+<glyph unicode="&#x2000;" horiz-adv-x="905" />
+<glyph unicode="&#x2001;" horiz-adv-x="1810" />
+<glyph unicode="&#x2002;" horiz-adv-x="905" />
+<glyph unicode="&#x2003;" horiz-adv-x="1810" />
+<glyph unicode="&#x2004;" horiz-adv-x="603" />
+<glyph unicode="&#x2005;" horiz-adv-x="452" />
+<glyph unicode="&#x2006;" horiz-adv-x="301" />
+<glyph unicode="&#x2007;" horiz-adv-x="301" />
+<glyph unicode="&#x2008;" horiz-adv-x="226" />
+<glyph unicode="&#x2009;" horiz-adv-x="362" />
+<glyph unicode="&#x200a;" horiz-adv-x="100" />
+<glyph unicode="&#x2010;" horiz-adv-x="659" d="M86 430v172h487v-172h-487z" />
+<glyph unicode="&#x2011;" horiz-adv-x="659" d="M86 430v172h487v-172h-487z" />
+<glyph unicode="&#x2012;" horiz-adv-x="659" d="M86 430v172h487v-172h-487z" />
+<glyph unicode="&#x2013;" horiz-adv-x="983" d="M86 438v156h811v-156h-811z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1638" d="M86 438v156h1466v-156h-1466z" />
+<glyph unicode="&#x2018;" horiz-adv-x="563" d="M115 1010q0 268 254 401l57 -104q-86 -49 -128 -107.5t-42 -150.5q6 2 18 2q55 0 95.5 -34t40.5 -93q0 -66 -38 -104t-98 -38q-78 0 -118.5 59.5t-40.5 168.5z" />
+<glyph unicode="&#x2019;" horiz-adv-x="563" d="M137 905q86 49 128 107.5t42 150.5q-6 -2 -18 -2q-53 0 -93 34t-40 93q0 66 36.5 104t96.5 38q78 0 120 -59.5t42 -168.5q0 -268 -256 -401z" />
+<glyph unicode="&#x201a;" horiz-adv-x="563" d="M137 -215q86 49 128 107.5t42 150.5q-6 -2 -18 -2q-53 0 -93 34t-40 93q0 66 36.5 104t96.5 38q78 0 120 -59.5t42 -168.5q0 -268 -256 -401z" />
+<glyph unicode="&#x201c;" horiz-adv-x="987" d="M115 1010q0 268 254 401l57 -104q-86 -49 -128 -107.5t-42 -150.5q6 2 18 2q55 0 95.5 -34t40.5 -93q0 -66 -38 -104t-98 -38q-78 0 -118.5 59.5t-40.5 168.5zM539 1010q0 268 254 401l57 -104q-86 -49 -128 -107.5t-42 -150.5q6 2 18 2q55 0 95.5 -34t40.5 -93 q0 -66 -38 -104t-98 -38q-78 0 -118.5 59.5t-40.5 168.5z" />
+<glyph unicode="&#x201d;" horiz-adv-x="987" d="M137 905q86 49 128 107.5t42 150.5q-6 -2 -18 -2q-53 0 -93 34t-40 93q0 66 36.5 104t96.5 38q78 0 120 -59.5t42 -168.5q0 -268 -256 -401zM561 905q86 49 128 107.5t42 150.5q-6 -2 -18 -2q-53 0 -93 34t-40 93q0 66 36.5 104t96.5 38q78 0 120 -59.5t42 -168.5 q0 -268 -256 -401z" />
+<glyph unicode="&#x201e;" horiz-adv-x="987" d="M137 -215q86 49 128 107.5t42 150.5q-6 -2 -18 -2q-53 0 -93 34t-40 93q0 66 36.5 104t96.5 38q78 0 120 -59.5t42 -168.5q0 -268 -256 -401zM561 -215q86 49 128 107.5t42 150.5q-6 -2 -18 -2q-53 0 -93 34t-40 93q0 66 36.5 104t96.5 38q78 0 120 -59.5t42 -168.5 q0 -268 -256 -401z" />
+<glyph unicode="&#x2022;" horiz-adv-x="665" d="M82 539q0 57 19.5 106t53 84t80 55.5t97.5 20.5t97 -20.5t81 -55.5t54.5 -84t19.5 -106q0 -59 -19.5 -107.5t-54.5 -84.5t-81 -55.5t-97 -19.5t-97.5 19.5t-80 55.5t-53 84t-19.5 108z" />
+<glyph unicode="&#x2026;" horiz-adv-x="1972" d="M174 135q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115zM856 135q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115zM1538 135q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45 q-66 0 -110 45t-44 115z" />
+<glyph unicode="&#x202f;" horiz-adv-x="362" />
+<glyph unicode="&#x2039;" horiz-adv-x="577" d="M96 430v172l277 305l94 -76l-236 -315l236 -317l-94 -74z" />
+<glyph unicode="&#x203a;" horiz-adv-x="577" d="M111 199l233 317l-233 315l92 76l278 -305v-172l-278 -305z" />
+<glyph unicode="&#x205f;" horiz-adv-x="452" />
+<glyph unicode="&#x20ac;" d="M45 461v114l117 9q-2 16 -2 31.5v31.5v30.5t2 29.5h-117v114l129 8q20 119 66.5 211.5t114 156t153.5 97t188 33.5q92 0 176 -43t144 -117l-133 -129q-41 47 -87 76t-106 29q-111 0 -182.5 -82t-95.5 -230h479v-124h-492q-2 -12 -2 -24.5v-27.5v-35.5t2 -33.5h410v-125 h-395q29 -143 98.5 -222t173.5 -79q66 0 117 32.5t98 96.5l133 -123q-72 -92 -161 -141.5t-201 -49.5q-188 0 -322.5 125t-175.5 361h-129z" />
+<glyph unicode="&#x2122;" horiz-adv-x="1351" d="M6 1239v145h543v-145h-193v-494h-159v494h-191zM641 745v639h190l87 -206l49 -150h8l49 150l84 206h190v-639h-155v238l18 225h-8l-127 -366h-113l-127 366h-8l19 -225v-238h-156z" />
+<glyph unicode="&#xe000;" horiz-adv-x="1003" d="M0 0v1004h1004v-1004h-1004z" />
+<glyph unicode="&#xfb01;" horiz-adv-x="1222" d="M55 819v176l135 11v104q0 78 18.5 144.5t59.5 114.5t103.5 74.5t152.5 26.5q53 0 101.5 -10t83.5 -24l-45 -176q-55 25 -111 24q-127 0 -127 -170v-108h197v-187h-197v-819h-236v819h-135zM809 1315q0 59 41 97t104 38t104.5 -38t41.5 -97t-41.5 -96t-104.5 -37 t-104 36.5t-41 96.5zM836 0v1006h235v-1006h-235z" />
+<glyph unicode="&#xfb02;" horiz-adv-x="1204" d="M55 819v176l135 11v104q0 78 18.5 144.5t59.5 114.5t103.5 74.5t152.5 26.5q53 0 101.5 -10t83.5 -24l-45 -176q-55 25 -111 24q-127 0 -127 -170v-108h197v-187h-197v-819h-236v819h-135zM799 258v1188h235v-1200q0 -43 16.5 -60.5t34.5 -17.5h15.5t21.5 4l31 -176 q-47 -20 -125 -21q-127 0 -178 76t-51 207z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.ttf b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..680103c671287a1a1feecc46cec6cc5295e7131c
GIT binary patch
literal 54012
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

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.woff b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.woff
new file mode 100644
index 0000000000000000000000000000000000000000..56e335d010688e27340f16f8f78c343e848f6a0b
GIT binary patch
literal 27116
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

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.eot b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.eot
new file mode 100644
index 0000000000000000000000000000000000000000..d0743324939c117b1e014f7e4be16affd4032b83
GIT binary patch
literal 23844
zcmafaRaBipv*qF7&N;Z-!QDN$ySux)ySqb>5Zo=eLvVL@_W%KcCJ-k7optBV!>l#k
zt5@x{YgbqGOFz`tAH)y<*wzOCfd3{8;Gac?hlYlM1_EKA06jp!KTbgf9snSN`se%a
zkq!kQ`w!N%LQ(#2?td%^Kpo%=@C3L4%mJ4Fgz5lOfD^#|A5!_pIsX$P0L1=T2Y|&t
z90t((r*iw}xBbUC{Zp|4m;tN+4gfbm;9rFLKj#0fVEv~O0NDJC^7xnOKe1l_Cz=_+
z^Iu-af4S}d?f)N*)xUim{$()(u>V6`|F!u3saXG2LHqxyne6|n7yuAcmsa_o^ZsuH
z4ai&v@b>}uhXI0D;F*iKaeoKx2^)JyhaeXU_e&E-Z$@P&`sAO`VXOSZiEhrq25AUK
za&Z^q-=wGEfm_TDx&0*ctaMe0{Jpxix0|nS<=uG(9s_BP_hZtMccQh+97obqNJB0v
zX?1i~UaRC4(n;XtM7ZiGuoauFsJ6|s4WSJ^>~jw+wqu&{&u(-|r*s?Ot6bK%j*Ar>
z)5rILBw{|l)^K>mWL}Y!Ikm-O?W2U&5ctK~PbbBpQ#uB0A>c>9Wv6U>3S7bA;t(8v
z7<l8Xg}cw9HV3Izex;?tC*H}7td`0uF-aIU@K2*rMw(8_v^kNZT)|1%bYGCTsw6gR
zj6dDYUW4I9#Hrads%jl3zAn5Jeq9tD2A&YJCj!`ibs_ganV;~tp8oI&<Fkb`-Qq=L
z_Iu-+h)|6D7?#Q5T4uV@t}#pfnmvdp$!V^KC|=NZ!jc@rQ`JG-a+tA45VI86_RR&$
z$gZUGR>9RSQ3xXt(U8d0rg4MLr?@7;Odev~6{=BMsv&9vqXMcdi^=K}XFu;>o=fw4
zGgK8rwNoc~pytbzg{U+h(zqf@pt6)8eTLmgpuKaoGj&DoQDRyqf7H%Z>StE%<+Ul1
zgu;S|oQDkD=63M=9?l3#+Q@`#(-55~y3~xd`KNcT%`rvvR#5QZ?k%~Cn@l3nL<j?#
znGN0b@#++@`<%?ssz)o?E63V*G``^gq;n@)5B;Bg$>g#)kzib<<U1WIY)aZz8ntFx
zm7SMVc1+*6&O&&p*AH|-s8N0BDd<`WCOdI>-#g*0w6Gf0@++0acBt=hq%<Sm$Gym*
zR8H}XP6>XEPP?n<N$2>kS|i|bKt#XkhR)LReI42X>KAeXo0#*j=b}~lSoaBIZ-V(F
zW-)wM%s4Y3imD}fcI2ri$BJ8G(vihkf+;fJ=3(?$3CdtEGb_st1#@B|#X@=LaI=Cc
z_+R-noT9YX8aB)Bt5x2!+1aYu3cYo5tz718suB3)PY)S%re)t*_*B-5;4TlF+3W}_
zmUixA{E=NhPewbCX2MF`%cn)`c-wECxLaC%{qpC$$zqSA8x2lKqlh89BCN8;fl;T`
zvDCYK7FfT=*qs~IyV>++0-5i->B*AapyWYS^!qUsutmq;_ZwA&R1MxbdB&YJX#<Of
zJrLW~iBj*&$U2|13n6k&G$&YSbgsEhvD-T1uao#jVpcq|12yBw*G(t9!JSdWHm}Y$
zqM+X&fOMMx6`jp#VRQVf3{+S|zFl}>dF=xepjv-1E8;V5)53A1Zq24=w}js65xA7r
zdwO{Jm+QjS^8x0hZDb+uhQCQ4(OoiTGL3Q5dhMW~)-^sJLp)xX=c?D~TV??LNJ0N=
zT?ct)z})X^xS7A~7-{;q$o0(n-`}SWWKuYYpOOe}KVeHn)qR5sbs=ko-o+UF)J%){
z^HxD`_L*N=X{4h7NDd%2q-W>|2`OG10CBL-Q^bFieA&W;W7``?X;Z)u#Zy1!&nef~
zcOCH({GIKwv5jg?nOaN;4{hUOVKpqO7J>)@4@`p8pwk;galKJQuI#XqsEdlE`>1Gr
zqt97}()h}dTay)~nC~ZlBJz}FoT`qP<B9(E+*<o$BaemH;!myc>+%_OIQz&9`!wxR
z9VaTAL9R`JJfkktfR0CjR*KwUv~DvvKxb5^&z{~Ls+~~ai{(b;O+^lI1-)4hj+3$0
zlwT%&qP3Ge694x_%F<n&o|l}{R2Ymx(5#<RNQeS-s2_Xru4VeQ%kk4R-1cytg<9bt
zqXs$ajY=*8d^EwrcIoO-dFf=4h~I<VCn>*$MI>_4SLT$QF9JwZp<<pOMW|6kAbbQ{
zPi_b6o_R9GI_{}^XQ(!94ElKS?sI01DX)$e9CY+<y%9NX!8%`P0P|GJK~EWq$V<9$
zErg}Ap`u`URGPMjx>XQwQgRQR&5+sU<L-3&^~C+?wn-pzWlqNn?$@~&9Ek&xoM_h4
z&UjRf#*{z9*LX7{?HGcX=uT~f7`Wpf;_XKPQ5g7|!W=Qr%l`6zK@X{V^iQa!XLsjM
z>iv>yz_i(Axy{Eg@OvCGvDfu}<VEcQ=d5z6&#W{*of}rF{xbb6UH_LMZcW<&tH{k%
zVCk@$7~2^A!057b2kob7`!vX#5OPw3M*Z)F!fyUbY#gnD3Cwa+D;}Rb=`cc*4}r7C
z_0s0xIi5PHh<zo6bkQlwq+4ew=7zp)0R2ei{Pp#%-sZf<baM2h#IB>_a@g!6NhO`y
zLYyG9n7U~J40<z}Mk_MZ0bZ$cVD`{;`96~MHm7JG5i1Gmr0Pa2^$5dLv9PdCB??n#
zqs9uz2hjr96x^^$`wYp6aW(NsTt9$MDb3K2HtiZ{>0>lcygRy;a#1`<?@!Y5ZuV3*
zUhzMnT4(B^rIFrWA>jKWWCX*rKyI+&$zhul5?9FY$I6W=>fD13l~cD)iRa9y#M)Ld
zx#W7nMtEty1eB8Lb?!&s2&CJY><=OpfEl60ml@}qI}TJX^tFY`^dzTxuiN2h@(Fml
zDk<A<d8iB&N5<xqN8N(AP!)3!b&M%dIBgG6a?s{bf+i<m_)TycHL0MHTDmYEbYd||
ztBcVI#utSRl<u(u8!(pFe|&Xx$etW^u7eaIsZ@apY=rSm&`c5xJY)!<9^Y{0olj?d
zH)?+iz%I#4so`T)wLCz6uL3<><}?up)2x-$7E`2*n)bp^UUvg;dQlmkMdXHRS0X{9
zuh3El5=m3C9eCMLWQeMtPe+**_23r6%3XMYBoe#j>6?OwI8%m_brR_!`h^kP5A-~y
zQ!`UiMRepChQA4`KPBBl{|QZ>FUOhnj<@&R1CD<!Qu#S$Re6!B0}lGiD9g^U;W(mM
zS}iPyNjM(UQ00*M0Wfp~B}{HsFj6v@tm|pT-c1>?QU?B!hM^~X@m4UY){LkwEV{;c
z!aHF`x!c{vC~|Q?k+^%Ilz5>pXP2pBAv=^m(@r1P>|mIPf;k&t<cRI5>>~@H9lH*1
z5tmb+=IZbHs}F|sZ1(Qn1i3~>vK*a}e9so>wg!7Cv43OQz%6e|XANWx7Of)(9~GCi
z7^(K8*Ru%Wbv!(1p3EbaA|^wHAD?N^JyEW2abII7tei^(e0i+$39?r4f2Ejrns?Yf
zb0f1N%Tc!KIIXm3YY30R6_|jd9kGRGEP-A$U|pmdqgED{<5;*di~l3~w{>JRZZ(vL
z`z*kBR?RCBO7bm*zxeG(fNqzaon!R4j?8X`!{CmA=)JoIbqy|Jo9SRU6eb)@Fi4k)
z0%d`6F1>=`0owC*#Ep4h3p3Fx;c~y_2C$k7#e~;SXe2k}G(e$h6-QKU3ZF_+Ol!E@
z^&_4V0#?JqzFutr$LH)B*Yp_^{s9?QCXo`O@(ge6AJyrIqbFW4yI_}9kTb(FeXfS8
zF`d^q$$BE20dYUo17|@ey|N9Vm(rqqamP-s9u0^ryBeSPzDI1EKQ$f#Llb&)Obx`T
zm|?}qhlyXzDIbNiMwzEJVKVA<XPiwey9J1sRhZZy&b8gfwX?XX7?)XK4&_?x%4*jb
zKwlaM!5g3nCb6h@Lk4h#8~eu@3s|H_1z95c_~O`bvrm*TFVkSb@a=B!4F$kA?t6@3
z@zsE;I6Ztv3{`k6mQWXDN<J3Anldg&G{Gu@5R0g%7qZ^~kE@Nk4JZNbm!PBR1r$th
zcwFGn{SoQxqN>fzLwqJK;&dw;n%o%yx$EVFGb$Xczv&hn;=|b%7V24*yJXaqEXLDy
z@OZYj`{HQAv&P0b=Ap6VF<P3N%l3|MA93|-+I8^{lVzeRR$*=zQv>`E-Jo-4YQE2i
zc9CsBgKP-%^nwvGG9R0jmz<>N1lM$%*sIyLqlWlCp>I-dd2JkerQc8Kc)pX<x}*34
z7%ajFC`X#c7{3m#;+fu8B+#^C;#is<b<{yhN?mDepijbxeA?lV^FP*a$u)UdZiL%H
zp!?%ef0Bm?b{DYicM#>tuAc3hVrb0Jzu%)5xmY?Nash`f6K`slIE<b>Bod~+<6J(3
z_-o}7P4-<YKi-Msia(5m<mAK(mAVfr6<fp9e2$E2Bvtr{T4rY;6@rF<Z)nn0z~ol!
zm&85pWDE6~DEnuzB;bT6`#0%i(%>}IzD30<yF=R)7CSaEDscS1S*I(b*cd1)9`%!!
z581ue<j!~!PgJ4mEj)L8(Jguu!Z8iy7-@`H_GdydEU8tJSE9G9QZ?xlT*Tv{7#65<
zIPT#MEwXa{QG9)qeTpY}id6_&e!b<{ixKgL`9*z!n9idAtX%U1OVmLJ_c)erFfr6O
zhSru$hC;y68xcKH(yQN3WoF$B8<r8d-xW5ni<$NvJx00wZ=%|Ly&6f_659hFsw9bp
zN?Jr^hS6E1?vZA#)-{z)w6o0=I=T!dxopOPo0uhbE?xK9i3i3iYfe5#Egwwf;Ribk
zJ<Gh@Y$A@c`b&(=_wdGZ**6NQM-`9KNlKLPI@Yt)?q7!)yVr@X?gZyks?xe`ar&CH
z6so2><&>5`u;0nNj>S2G6oV;myKJq*^9Bpy+H|6wTyqgVV|v0iN8@?E?TIC7!tz}W
zCq6A%o`iIL*bJYXE1FLQWHtrs(|{FsakZ(m@5Db>G2157t1#sAxh{vgm08p@!&<2I
z<Ki(a`*qc*B*Sc<tmA>EZ>lEGTF1qFtPbo-m(h83&Q_(QUW+BV*BCmOfIu!d1d}rN
zWfxf?zqi831EB#50W%9~*$}vis<^vdJkU`n@%9f)Qu)P{Sj%ujVRmZb%ANtj(OFWV
z^56AE!nPx1?XP>x2otGlt;>E<rxc~Bn2`0!yh9+eAez#u$5RGk+=OxfU)?ryK844t
z-W@6lx1R7zgSD;)V#Uh0pneiaOZ>cBxsa<f15*_vgJcy?)096HRVtQ*G_$8W4}nFu
zd;fP{H@s+>Qz5?m?6^Y=Td0gp`{Nwd`w(clo`cIO6mKR5#Cc9rx~0ZXj{@G#?)xOQ
z3+w#T1>5}!{)PF^hC$Io-`G*EA3v0g|E8=t4BU7(Pf?~zpL!ZkMf<3Q1>EFZPq!3|
zL?kK{{FX#?Aa&nb*)KB8wdvC0ehjH<Dn^DBvIfq<>7>ZB7Xadg@~K4-Q(fO8b8}z^
zLksE^R*DAnq8d9*aTmw*#C)+);%6JrK_b{9)T7`RLJU;-O6K`rP|sQ#<L9G*wXf-K
z9VvuHEH*$}<Q(xm5zj}Gf<qr(SU7flWpV<;I>4gbseOizQZcMw(+%?Hg_Lyriz3)5
zU4QUE4$fDnw-HGjK^yg0<OtayXckllr81RIgPy=qmdQ;vF|O8o0o=$iz4%HscS;{w
zPNoqxUR)^P{BeaCS3^M!=6iD_t<ilcU%c~@WU5vQELwaH(}Gz8SfLyfY?4Mwau=%2
z43%!m*nhwhA{Sz$Z96*Ar>EfEPkv`8$=(D<U>4Vy&8$d?n`uqv2is4FT9~V(yHL39
zG~LLI47YO}M6xEU$D4nGnm~#(N`}*P`}|`#$X4A^#o4CkQ72qW9eP(aCA_YPEbLoO
z8AHe{R>^k`CGuGM$3aZ!u#2T;Rwxu7gd~WeU0p-|McANBgiihug=&o{ad4%J4nZ62
z6)R!fSkW*$8Up8ScmKqeie%BZ67HX7=_r-!r48;ky2zP_P%;R3N_7wxruDW%+cJAv
zU8lWcOakd7M9hW~@3^)MVjy%M(~G&kPkC*@V+i@Oh$Q)ulyz>rI%1L4CUu4~K_R=7
z+ty@>%ydSDyR`n`dZw!hx25oLgb<WzNup!8H^{dz8TDsVC2r2_-YGf-p@j_}KkWrk
z-W|o>;?7iW=1<>%Kfd<NL6IXgs|<TO@UM6XZ_{7?w%93s9+2tpBYMk0F?MV+VSzfs
z=rl>X@iF87bD7d3!y6Lw80`jP0o0x`xu1B1$q0`+V=<3nCGhAK+MP?0pHYV+i{Hrr
zgjH_%(}i#P1aBGTvPP~-4OSQPa2k+xr^(*w{M2jeM0wrI5^B<t<yjp5z96&|4aQhM
zdU?KpN889gW3)Z@v&X*HU1QdpSiYfEg$uiMoeSO;ssV1O%4qg)mKC;GYu5p-;qpav
zUbY_^64H=}m>Ohs?+aG#KK`-7q9dagMQH!`o}mx&kT^52c=@r}qvj$=iq808;TzS}
z8(gSGR4Q#=DLYuexa=|>PB9rQ%5<nAD?#CyE^nGhE1)0+F_?4vLTb!N))34Z@30@2
zmXL;v5BHIXgXRwHfBYaufM=bM!n5}XC7v?1K!gK-df2JR8ARY~nS(#EL3l(Nm-{@0
z#{cY>b7JXJX>|j!KMsEXbU9L$MuBFAqPrf3Wg5lZQFC3SoC0SnmsO!&p?;|#m(`!%
zpP8FTd|>+5Qxi*+T}l*a#t~(hm`ZxoZqbjtbe;r<SL!t?^P_U0(NX;;P1UU#W;=PF
z&-BjmbV8|etl<rELLv0G5!TR@=puGc$-`wwc!_Zxyu42~a|`t@ya%4YdRFPu<M3^q
z#+^A#xN39>bYMu}nk-JC(+LVx3F>ov1h=iSU5Ow6cE_`x=G-w1LAOeU!F{%_@{EUI
zx(S=(#B5r-4P!^|Rk+8p_>4``o8U)6BTf2E)h)3bNm$3+qq(Alp1LVCvi)t>u?&6k
z4Tn0<7P$WFdk!tsErI<yyG!x#m()usTq=S|>?|-Yd42GNo!sAH*jba7H_M{7=s0gu
zN(cid1Rza@p@C|F#D#HMm8P(3KQ?rcl1Db|oN((f=d@%Idpi1Ft7WJNX9HLzE&3ph
z(1zuK#tZFrTXk|1?G*Ugccc}RO5A~O3t7BB!lLGYgTVD*?_?J;GiQJDJt$d=z)vwu
zLGC)kl>^e?WsaO<A;T|>XV{{k-O*5^OU9=>MPKSIgi@A5Mw!bXZJUlt&gF3yp5mT3
zQ()S880G=os*j01Oz3hmd#`zqnN`_sqIUj>JQ^2A{<5z23%wqC+K^qzP0<aEI+aJy
zY4dYe=`T%WC}iQIsU!8)84Jv%3^6@s`=}V_U48YQ2|3Dm0Z1g!4j7rlw(qnJZu0_g
z(QrZ%Xf!jDzY!qj2-)|N`wYGz?g6iG900v|B#AoP2xm~pgjkFJY7&;W%;#04AqBbP
zWXaru;C;h)!8Kl|)KTeP8q@j(#;ek1JI=TG%hbXO>fuhL)`Bk&`SQK{)_XE?wY6>Y
z(4S~|=kvYKBZR;WXjf<{1jr)|ja()?h-8t+BBU4+n`Wukf9P!E71VO5`9wl>U4XYi
z53s`Cqv5Pw)w&o3O%9LPOGwO<+rsbFn(-Wee%qGl$4VU72<HB1^3Pq@u1i6c#C9e(
zgS(`n7^SK^!7rT#=dj3Zt2fw`Abz%ZCoqa;p!ZuH+^lEd+>{65OAsATCrP*oGNHt-
zQbr{Bv7#--iIA4FADMq$?NAxzHoZ%<u7tRfo;$#<gbn!FllX21<LD`a*29EdsbWV@
z%V|eo=uKSMXP0KTLWt@R*<)jyho{%@_u?CiD^eAZK=sFR*dK=NJN34R?e#!%k+iJy
zee8_Hl##H$gYIINvPF+~9i^KB7~Vb3{fz~gPsWWD9nhb<QjIFVzj|Zj*~XFfu=T};
zVx^uJxXI_o?<fK8d)6;D$@Kei)AfQGnvys$A4HIVKbFm9c{?lgKvq>9i6}VL6_V~>
zV>H~6{48v+{uWD~5&kI>lw(L7!jfhkrI@GQCOpg(0e3eU>DdGSR6H5$k`TuOFma)*
zd^&o;`0!9D0y-FUZE!eNeW7oe7&0CR;6R(PwbAbc3XdNx)lNBNFaq4RSg5+b1|Z@e
zdEkUXs^U)_L-Wa!0$EU^3b<D>Y}fZkpcNW^b~N(kgU#TJVoLB#{F!Mv)D^|%{WPc8
z{<xeF1AOG(1PL28;7ci_H$u?>bk%APub6#*bV3bQdoGIM%xw?CibXODHeR%WE{@WY
zeU2kL`_mRaHiW<6#+YF2mctVjn1&RKOl%}LI>80pwE*<!dk?7dNSl}?W7tq&4RF<~
zCLreh?08QcusK4mAn1N1(%)|-lyygi#9=kGuC3_}7Jd~>i{wU*co0pOfpHq<>yS}d
zm|obion({%$18y@aSr>(dMBBjG%vz?R%<=gJT*Gkwd!#dzLL(^V+6X_Y9)#q2_712
z%BQx4*gtBoq9wxN7BxChcbvg9Q(0v1_1lOZ4Y1l~7&8>0o)r2>V;Mlf#NkaR%}ng`
zwBd?q{4&SiBGHYNUfI_4>)%WcBNho!LmR~z-NThtR@#0$yj?5|L275Xw=>Ed6rtU)
zCH*3&v^WKPiX?@-_ASPvRLDmN{YHK(DS}AwjkFd$a+BPjCKKjhLmp06wQU}Q?epN=
zYzJA78`h5!dP(aEPkmBC2QG)%o4~SNS-rF>8L~~79Rvctl7T57B7?e^N@^=28IL}f
z7>raYRjJ66^U8biQ|S8zjW4)$;q5-y7#O(H&$oAfSa6H1Mv`fBg^L2`_WR93@NJZu
zue#$aq!TDZLz$O>snna!O5~IYXm<!+zWeZ}eJIOH)XfAyu)M+^+W`ulPx{u6<6AOr
zgsV`y5LHLdU7le5_ISNOQdp;FRDK0mmI8#yN~!g~hKH;$K#p22e93VpuIX@0M!eMg
z2F4!BkuisI-z79&YCSbZSmi_VyVYZ;V{CpNPRud(C*O;F4+f3jAwH1}(@h=-5hnc{
z5zqavB+@7O6jksBJ%7HfvLK~EdEOm+Bps`ii067LT?NTlTNNtTFODAvV72{<;C;ap
z39j1^JywbxmG^m6YXSS9NaLvPL=HD2JMKtLp1fFM3W!cfdbALVS_rkp^zWS*Pw?-<
z&agH27#Vmks3E)}xZzaO#(c8D8n$ARQp&h3v>Eg4O6vSIYxdf+;rOeXLg@o0f?U%&
z#>KgFhv`Jss%wz%8+t2Kj~P<>y(xsyRjLy!I8mN933^i}y7>;guo=yKmwHd8NrfiZ
zSDErut4d~Re)?PE*Ja@PpbE_o%yuhEpfG+GXeh$ISjPp`d6-ygPAvxmoTQ_pBB3l8
zRL*aktS&PC??&PXuiTX9^TGk?1^*(_($A|O=Z?av4_8GWPMKVOLG{~TBU_1t;n?D!
zZ%0wFO!}hwgAdDNzoiJ3S%B2OR^UC}VWgf)dhc3XVt>agdI|lPDJPDm>Lz|pf`g4<
zO<?W!p42NWPQ$oLCY9EWkdFPV%uShc46D4D2oe1A(gEzRaF+FkT4-negm>jlNm}7|
zRzo@m68Q|wwY)2AlqS$MlHAzZo+Oua)nYeBf({LH$yi-2fK``jA;I|#gl8xCDiXJw
z?7!}%OcM<9*O3gQgFC1dz9u)Gp*LmirD-bhFwx0=gyNqwp^FeBc>jGJK`YcTc)c^?
ztKy#TypM{JoM^+J#7?)3O4>SKp7h6{gWmp{G+Y4f>Cy0^{c%7>rRa5^qb(8qnNlij
zvhk4bS_AfEFmwRF62#;oZEz^UUQT@7cx$&^L&zu7SU8ytDx^e^Eu?_>FA!t?#Qb1C
z3y(ZNop_bbR~YLXN><g{$GT9pI)0*`!SNjm&x39mI4@2$-C^}0+exMN(>wb_NsA0u
zT)w76;=!(uq(of79=|zXyelZ$H;%weA-B5>2bSOkM4m|KicUt;9%yW-7eP^&63{bN
zYo7mhoQbC2#0pEFmDPnut<axqknE@cR=!c%g>yp-kenu1GsVBpl1j%_g)uo!Q%qRp
z43B0k{0fT}Mt6ZsXrK@`g!FvP(i!Mcg~^2e%Jn0<U%gLmtwlAny40q3ZvO9Km9wP~
zGfH={k_!YDAXWv-u{?W7YICoL6=FJa%1ZfA%qxv$qA<V2tQ!gyzJG&9YJxhYshCf9
z@DeA*m0MJ^%>AWcq)kxo&+j+tysaFbFl=kUOF{79JMYVWyYp^l5oM1F*zN+BmMsrT
z9D%OJ-B1&Y;)XQM6PXDn24Ei^g_FzFre`|3J|2$$7OpK|^Bw8r1)Z$Ew(W!~OQIi&
zei#^z*-K##dVV5A;y(3QYLNjKsf~SJN4Z<aBR7`05P=OZ#3MuU>2Fg=``#q<<(_Tz
zO%6d@24NWC^yIg?={fAwt!0}ak?<H*Y$O`;x2snLWxfXGQ}vSxU%Lzwo?=^405WWU
z`ho(I(1}CZ=v6)y-eM0^#~pZb^w93roDBcf`zt4b`C<!2Ag^HR8t5cftz8mT2suJs
z`2iZKKb5`CqVoj@roUQMe6U^%KA!n7mEN~IgLNd&ejK9sBd!Z=M3|8k)*>eaRq{JN
zT+2ER<ozH+5*MFAk>8bE{)^psj3t6o3DmFYKMI<0Y`8bEU?~ztith%Kh@U@t&><`*
zUq@*aBwk+2>0xQqC$Ri#k{(<bTX(~|P1L_Xx06Xvc5p@h@W>P>^4Iltk~C&T_y!c$
z@tD9S=k_3ZsLm97wcqzCcyC=<CSba#q>X9<14Qq-_4$5{&Gfm+^w*6%EQdd6zYO>6
z``(N(1F6%iq<eubt5xFC@)|D#+Pfhe9TY?r+_^5~lp}eFT+{5s7I0FYWLDB=W?gFQ
z3Q#|Km5MX7GcVA7iz1X%w8nlveNKT)q+2#bP;ig&GDW<~m>4-5QIKS?l8xvc2o}*0
z&R;PYJdMVXeIG)lDSeGnaV3xTkexKXW*ipHJ?rop&rWn76FouO6Oo%5WQK5l0ocCa
zk|-~DyhN)j&z#?~T7zwM7M-qEy^FsxMK|T#-H)didM}@FRiGX0lc|L1#{@}cXmM~$
zlz8u@u}!>R_b+-ulAszsAemGpp`Ux&HHd|d@9Xn!no*chvN2^1R6v&rC3cm`vpQ+M
zuSw966O7`hea>wMvPG}@_^OIBRFo$n;gJ#8-ze4PDncrSg?|F5n8M>5VEa&vjQAY4
zDfT)V+MqJzN+t}2_Jy7Mr<JNQtjS@~f}$b<+IQFC)`f(;!+?E>(*2Y#O_ltxawY1z
zwS%mKYc)CRWA%e_5lKCIQc^voL1T<G?|+m$!Yh->An6&l0A2~l-x{;1y^N&_j3}$d
zQj^os>{gW;njqJ)<Ra5-*y>XDlb5>S#1y)+Uu?kjZ^Lf31(>sGw6MJm%f=f+h38+&
z_5UiSg1K-}tdJvf7_!)hU0u0Fy<L=+$}IVs#c%%1rH`n-`+#%<p|~n-{1H!{aqRI{
z>qm+)Skot3-J%a|_@4HQYv(U6$+kWTrN0$VXX_gD&dL`a4p^{!=D;6oOiRF;>tZL9
zIo!x=l1QX7$ExRsPclnLCD5#1mPjB{6L1c#M|7x(yda4Ie?wEnG&zdt7K<tRJ4jcn
zpd({oBHf>5A*GeccH%_(SyGDUb1e|x+lq-3{*k6I@CpX%7|VT{FtA%(j4#I7qqqMX
z<JW8?QZ-;^k)nd#AXgT5bRICT7LpjN8;tpx_^FKtek2xOTEfI)^D$@2;2G>3&ko&b
z1+=i(?bC`12bEbmw_Zh)ScqUT5LJ{%O*h*n3RAjAv$86JEhktRI}1#l7^VFOd`Xqt
zf*%!v>rz1z``rtZU#u=z;jx1;CiHsSZg${9De#^Iob@B}W+6mh+oEjQafGa{Y<RIU
zW?r2v9Pc3zC+@vNq4)vEKFK8nIv%<x`cH8m@<L4~jMkdYXjrgu6gzB~h_ue5q$4N8
z9hFhyOaArs{Kp*$WC^^&W)BR2MiVo9G!2(qazXuRmJ>$)J_(o@vif#Y?1gXV;l*gj
z)~=h|^1b2;_ncQVHu2tS<YP|EhE|lxz{t6nk;RC5ZJCvi7XarkLHkoycOxd+5K-P)
zYR5<HczQ_G{gp1^&)C3_5L)!ZiKxOG#u6C@BohUQF@SnmpPm*yVRbYU9-zcEU5=ad
zekhkL{4tjoAzNt&)VFiku(umejmgGa-;VbavpJo9Qj2mx4l0ReftO@17%{GlzC`_w
z5C{M-REIBE(#y!86&ggv);ce!3{z@zB_G5-fP0B3^Eow3V~u+M;*QNiRK$#aP2dA?
zwQO+YP-CTqKxw|MgRPVlYj?(7!Vbpa!0dd~tg9z1gm#Lh&yVC$qEEjkcx}tYZkuf1
zDodw=YzcH$-k1jY=COB{Rzg!k9%1BSWG97)n*aq@k1)Xb_yNzeVT&JzauajTonVT|
z*oTOmn^^kfX|)D3iuKA9$K2S^Ffe_P7yg4pr2)jKFDCSsXBYVo@3>4Yv!RWs8dE{M
z?k>=BkTPM18H%e~1}8*k;PO5F1kuyyB%}5<la6q4T+Bh-tn-=C3jqKE7k6yW;+^%W
zZfF1N!4l5Ro!dC(xGDUAbdPzuhxM~4nl(#3I}&u8>aaV4Y-<ZICn2u4nl&+^Jc|yp
zqv8s;1lrOj7r&jM+SL<T>k)a)oqEi%#;~P$MBZeEStl8iSZjN?vhx$;o#$46F;)Js
zDr*yxw<x6924AE-!=7Ooi?_xa*70rd7$)_4J7}qrO`V+Y>gs+%xiD)pk!EHz=w(d2
zA*7?%%T@{!a~C8bfgMF|$wMMYKmw)$Gbl0seA>MRPl@R~q#xgNU?GWRlto+QNd~i;
z4`U3T+6qi7$U{Q6zF|ggCbyY2+QIwQgvI>E*ALy6q*+-9^~yo5^n|XUKtsQ1hvxV`
zg=w$_#g%}_+~}}mv3;DO(T6@UyN`w@zK0Y-fpSDaaKUH{gMn%<%+eBwh}i^RTl6j;
zV%v!88ukObJXyynm9HJGHz-jh@1j)wnzQR^k0mlVB4)bg6W#gUh>(yY*0fn`;n-~C
zF?lH==tO;KmQabuxSI$UEa!lxnLNK#tRb8@Zz^>o$di@{hz{eCcH+>pD7m0Xm5DhD
zxD|J))XBW)*d%$b4dpLKz3|wx`5cp%?GnKK`|pD^1_-;W5+~O62tO?#qXB4`mV<+t
z9&+3;^8-QkPF)P%$1FSy|M^`YG{L(H2R698P?fFBhxfzj#V`I>Y6eb0D}0$fB<Z*o
z;{|(f2Aat|{&xq5UKZ$vyrIkk1++YEPf*DZpP*X>qIx3DfNrvt<3(p%11&p2?JLmU
zar_pOYlHeJz$kmo%L3JmM|SqM)Nd1$Ffu1Bgh^~J64B(G|3ugpiYeo8)EMPvrm<3{
zfF)+#QxxttYA1k0TpwRaL~f^~oWbP*Fi0)7{a`u%UR-_>xt#-+gP&(QO~7OaI5{k_
zG+lpwnVOKy9Z;So*#6mQ%9i5XFH#wqx!W&GBpLKPSe_QS?ZbdQ&q%r&G5@Kpf|Wv{
za{aB3+8M89`@0DRUB~sf`hAf}8Cy0-!MHY)TJ&mnn?i(DR(b#>R(D7!Z+5(N)jFA^
zjY?hja@@H9&XkXUB{T^wvFgdZ@I*qi=RWBRW1y+IM(W3IPEIo^9|iNff!(>t_e&qs
zI#kuZCB-S_41P&{mwqWqZJynf1@4)9ER8+j+$9AJTDH2z>MO!l1xAVg3*`t!`>K^*
zUM}Fy#=*t<XYDZ;88k`>2lP7y66O~fh6dBrIb3jEhz|dqJu!NMIsy#O`|xVO?c5M0
zil9Va)Nf#Y*>_GWEBeME+ks}CKZ;vkYl$Zgrm~_SoL@x!d2}C6D2sXd7-fpnh1m#d
zA-F_P_^aqtL(3L?3hg=aw9e(8E#tBGqi3CI6#B8um;9oCli6AV;7wA;lA8Uj+H&#>
z<@d=OxiC<o-7_-BsXzY}l^B{zQHWfi=W+lHA_6abPW`snb|VL{y=q1b*(axdXjii9
z<k?)zKMv{8nIo^AO~B9RhH0FX(4O2`P0V$@ZQ%|{2&?=t`jpK2lmfHFLq1NG@&}i$
zMwijgwO~Vf`8~?{F|gp_SJ}|bMZlQnRid6K&(G{i5-^t0^+svOPkMDoxPpsL8TZHj
z@{yN2#5R?%)bws>i24s85e6Cu%LTH@-e-ng3p6Rxg@Zm$+zsi&HfL2EEQ%Jo_yLX}
zc9^exGE@8&aH#W904QU`lNUsFhg^G+h+v<SIc!b`hbBqnh4qiJCx)MXM$HrQP}nY(
zE(wt!xhL;m$u$t=t0F_uw^wZnl{<&%gFyx2_V*2dG9Xz36^>8G%;RUnpp9|3H^J`L
zm|sU0_?rBYfE?mw&;I1xQ!J$;H2yx%2CcZU*!{6}jY0D!mWT_EOXyq&6WG?Q)Ce@E
z!%p=r>s1~9jwT74Tq}NlHq_O7(h<fAf%$qHQiem<Ov&-i9x@B`Z=Wh0yyg5^nqHZE
zMd1cCA<IULIm@$}se<ZIt`ioD)!<C}ay$&>#TcBZ5ZPkER9xPn0V5u}TbZa8$#89B
z|CMq?Du%J*eLJ6bp%w%p=v<aauGQ6HVwbBPTkwa16sx6Kk4gsE0W(<*88_VzPuWkl
zXYW!Oy+Ts~0gWwjgH0Ych{!qUjZzSyG0c<QrBJ5ThrAXjg`iYIi%xk0)F~ca`-1!U
zb>ax6Y#l()qc<m_VcW(YnuHyf12XP{xuTE#<8C%Z3aGeN{1nbA9K@u>G^~e?Z|7y&
zU;Qp59mY>LQ8{L&_DHxKml334u7bcW;tHjn20NN}<z6GA<dC_ps7Y)iu}<@qO{2&G
zO+*_TWfHe#B=%m?E1h4B@W;;b==hVaHgR&U);i*Jx+MlDWv*5O23Ep_=6GE%)cI8T
zCbS3)5q<e1HC7<QTpHfIYwasOsU@Gfp&VH_xtdn<`nQ@9Q4X^!4W=BuOhS9ctG++8
z4nT5Wb(VH`d@ChI!c+rPOxarQN*NQiM~y?&tlZS_t_@(d4w8&z95R{YdlsxLWyS-b
z)ODgi4TGGcYd|^^0*MR;x*1x;F#(_jW3rs(#(pUAoX=B|KjcwjMUdU4y;HD;7bCS~
z^WH#xNDo$Hz#M&r*7(cNUsRlU^6w&7iO33TaxnV>@1vVn^lf-%+0JEHYK80-4BIl_
z{p$N;T>Pgfje?xOd^wgALI&Ee5W3>=f`rt|G{v`Yq6_Z;VMMdNGK(@-KzRRj>cN~_
zZ^RCcd2R$jXd0#HNR=giC<#iMCbNfe5m(OuLJ4!No$-~GA9pOoZGLut3c<;vh_W;-
zk={zgVmP=or>3d`y&gm%VGxC)G!APN>h@_df(;-fqw*^2uU3wQo#88XU*|ank~t6)
zzMr;oR_v6a!i&`}C9xDa?zRZfiee;Ax3+>=kmGi(zsK?metRbp*$%vglfhk(xBR@3
zX(J>DF)nZBF8`}7_=Fm7Y{hZF1!TdWKpf1K$eK(-^N~I#&@G$k!<bE(jK1}~)BRNl
z9I6Xs-Nxrbm%b7-e$pAg+}s`E_HC*Rx$ujscsxJK9sV2*8vQ&^j+%u{*rv6?^dm}E
z;idW_%Drnx)faZUo62@;c5zY?&oLVkFdp^{4Gbh>APlo`#bZvINd0qOd>!l0(9kJk
zguB;_ltJp;!#Eij@1&b8VQxn;4@5Akc(gC*OrL0z&|E@u)r^&Ah=lfAL9~>tnw4kB
zAUYtc91RF73a`Uk#0z8pWqQSS0F8P+h$_5)V8muv3=X){KjyuINMBMhZP-^fwJug+
zv8RcFLUBY2)t{G_Z~e@d&<e`e>d9Ju9du#&b)ii%y?I|pS;CI?O!B8wXxt5glaYl>
z;<jODL;eaMF&z9@+-?&WI=lG!S(f&dEiXXDqNXfbwyPL<#!5gZrv73L82$SZ(7To7
zzKJBBK~9i12e%2$jvkyzDIU{<Fi`6DXM=^l_sVaFF5=qzTzMr%8oNM`hh^c(Io19!
ziYadldvlrJgM7#ESxW1CN;!LD{VHM+7BIk{Q5|$EG#@tEgR1mi=o`o{`EwjobK~Wr
z?GmpbR{G1mc=x$U+NZY3X1$RxP9+3;l?EO$=oeJ0z5(jv7P@Y{<;NW6$lP-z0?5bn
zSpDITHgDAFO*0tWB(suvtp1Fza*yaE3fPU<TC%yC?3Wsp<dz)`mLDU!yJQ_riOs70
zvBs9GF=Zf?f=<`lESN}`4i`CQk~9*mLlvC5PaS0s0^Tg|BL-ZQ*i%p`QlGMz3$2LW
zq(s|!aoltg>>i;8*?co6l=*wkKbm4#Ra;03@M7be=iH9Y^vKB`KBzglG^`s5EK6t<
z!x%zLgRC4pQgRO3<K^&Dt6fB+F)(UD5h|9<3$9@rZ*RNl?WAi**cr^1`xgT{=?Cd-
z9GH<-6n#0Q4rG0}rdcjY)N8s^{i;Mq;k(A))&UNrN1TkB>DGoVF_;iBny}(>DCJ8C
zlIp?S@9lkAoyNj01ja(>Dj5P_Uf(dnzNV~W2iysG{baHuaTZ-_SZEqm9@Q+NH?QUx
z81&J6FYf7|PXN{=K!M!=z3O+~@I1#ni9NZQ=Z9rLSmGa@MLM&7RIZ%fiX-K%E9}+R
z_JmvfK~R80`r_I&NcWZQ7OFAK<*gB^=qct$%5RZIsyHQ<@UD*<pc>VFxCcxCB%+s{
zFgj1KhqST|Px6;=5mAG)kMueIx$`FNk3Ojj?CFWbl<!>!W|PYOsh^!+aXEeD3sCk8
z>emhXMX66_>QuBA>_`KJc*x9ZeiKBP2Qhv>5Ia@Ry$(Y%z0K?B&Yx&EbH;HxyIeOO
zERa_>W@hZM5Z&lD-yiu(Z0ra-n%TA^G8tbaCvH*OAt|7@_4O5$du=blcC}rR`b)!S
zN#2Tm)t_gx*>#~&H(&g=bOJUkz&>T(j+-55XVXV?|EjM2*VHsx9)K3)SeMqbuV8@w
zO-#QQ`5Tuj-yg98cT4{VP2asvvYY3)b_o2BXKjfZP`^k@2S!)7-zK&K5wQcF?a~Vm
z!<PF)8v{p`UhpG8z2Ul`fs=r^{TAOPsFsaI?Bdhs6BX}>l{Mp8L~i{ovI;foDjl>P
zal*v-1rfE%)R|q-b7-83U*X8Jb6~o!RG5H?t$co<2huNlS?TP{*gXzLvf3Ub(H&P0
zInwZZrQGci);C33W@_g}plJF8ZgLrXh>|OgqUEw0GbV<eM0Z}qKzP1?OR92T3mCz2
zaRY<Su5ws)Az(IbcE<F8>6bh{3s+1G$hwfT|8G8l^z;!Te&}W=Aj&O=#6^khq?7CW
zRD=j9*Nig5k3w=qHq>h5`@6Hr08iO{O$y55YA%zih15@Ut$oaMs~1sQkpg<R;9mCz
zajHaGoZnoSN)tQV;QaASEvmtdl|Ob#OErhL183X9%4X6hqUOQ-;S+y-+D^s$p8J*j
zDSSg~y1FC(J${F{aA$t08mL`YJ%_hv;`%OoQgwErK0+*%QNiyfksl<5DuE)GS`p?e
z7_M|4#S;I;`zqW2+aC=yZl6^4Kb<dh0W;Lme-UnTjMG!BB0TY*33Qyp4x_6f+tDR9
z+93)Qy(T`=pPKrE<h~aPtr1nle&%X3;e7{-c>B~=6E8+z(rLKg#+SPjhF)}*fbX9{
z5@g-hl~VmSgZuI>qOiIsF>VMMJ!>cm-^(Kujnlg0E4^0v8pU)f%BOzhk4@!{8X!Uu
zrXeui+qUKahuAG2U+pb$)X$Ea5HSRcbFk4dh~j<$RTM7d>=qg-a(%%5V`QAv<Z%4g
z^=H5@prQb8#48Ge(h-gge`fUQISXByKL>^ULZK?rD7bw(4XCoR{+=$K?B|COp92UP
z;JytmL?OIZxf_p==oZn{H@3eV;aLY6Rn--ipwDZtNt_zdv`Dl08W+nbA}E+&RW?FW
z-A3CeM!xTc(QG#v9)fiY-S?TD6G8@XEI^W<L-4>S;#F0HA63FetNdhuTKz{1p4ls@
zlweZq>`iVZSfWy`ejIUJu_dhfq&fNfmMz0l#(N4EY{QM?&tjzy@Orfn3JLO4v%iIx
zP{)oKHk(_%_A*Tb$h5dW@g<z$^Yy$3wNlGA(gb5NhG$kdo(3L9e;Nnz7&87jjd^L5
z`S;Fr+2TE=Mg2bC(a{r-b$w<LUS@)DMeV6jYi+1)RY}@^K7~Y*uI0lSFVJOSQzwi1
zVDu{s9&<9cB8-nDG69pNr)g#0P#d<VcB$WCnnl~!rp2o}qbv&;W|9FFiBsY!Rkeam
z!_K*atj(-D+pgDg^uy~do8}eumj?Ys-05t1B{JBQpyqICI)<}pV|l$VjUV3@pQPM`
z-pQiAaFPL09f!(Ua<+UokKueJJ(y8-qGqJ6OU5@;$tj-`{49OZmA1ub2HngNLX$`r
zWM;}pS$rs*nW2d97Aq+w_^-Lzm_Zj>>y4TeF4JNbyXZn1mZ1|GYBO1=zyf|CHSmaY
zJRYq`cG7=HGt-eiXqsOqk9hYmUryMR)c&v#3MG{<MI*^WU)5Jls(#$unO!lq<J>#x
z6>8fV1o|sxUyjP|A(KQQ_>><d(QvycX<-@_4?$!l;}Q*I#ySkIs!CgT$$qz|^=3-7
z_IE~J7r&FGhC7U$TVJq&mUA);G5F{#<hxdDWrcNd>IdnIaRq1V?laPOVBMR)`&irJ
z%2}Bs^yKX5i6>N@oj!z~AyUzRE?7qKEF55Mj%FW4cqbyy*o;wxBz<_JN$^twa&1%|
z-tk&M$TaC&ugX!}r<VOaB&Shy9#OE0CCBvYp&D!#>?CZgmc<xH`7@X4fa#eih1gd%
zaaj`Kxf%aC1h62LgsjvzT&!ZD0c6b5FXu5Vmjf)iaZU)DI53G(@?Y}I_rEIokz=a1
zcvXz_OfSIjwN4l{`#BckVR9}~Vb11;s+2>Ect_TXg!AWNz?nDR(C;a@J3c}-p-4?+
z1g^7X`Fge{?h1!fzO8LCcximk{gEQZFhU28bpii%VmL_0Em<6s8Q&+q6W%|=qOJGG
zCKu*Df8s$%llxY4VpiH^3^v#RF-$f&YW%p2DPQ4JZ5Hsvll|8f-WGQ^u&a@n9$jK>
z`z2Lm$3p!JLtQmoO<0MOhx$@U#ZPs^t<#e1X~CWO_=1B=kk?P-9!6<M7hAR40>eH@
zrbnF#n^}zyI3bI;@OGw*&M6Zy2@4bE$+Ym5>o*@W2rfLO+QTT8!{mI;4TezT3sI9*
z!3+Y6VLMuXtpzmKAGcpibZvYD#F7u13zriWn-Nw<sL=0xPYR8kHUSY5bpxeG4T^Fq
zy88e}_8F0fl+<~9=gkX|_wqKl{7xxaQt~uS0yBAae{_PfRJ@EC$e`Z+*EAEF*c|mH
zI2PQ@PIuGWQF2zR%qP=6efe-TL{-n3Z`bXeJM^tt#W<lL#NDKvALBF>wV&O&=lBu1
zCom#CbEf0g=f`A8D%awBeES9qgOSF$0fEJ$E)@;zqfT(j=zVPPAvY8(;(bh8b7nj&
z+d09Ui9gdsAk`!jnL%`9f<0J2G8T$rS?BW-edVv4m@===Od0sL8Y9hYR+pNZw!7Bt
zIyGG-9SN65mNX?N!VWFY`&8kTDSB+O2rOi5KRt}9;xfb}Lw?YObHH2cPH8d;roB?7
zNq2=EQU55-)VsVlWWLg_%)0X%CXQkEZex<rjVwTMk7(YE3<L7g?Lxa&$oJrXSC^}j
zKT^@}<WTXAY(Mut@qzkyuVRx1py&&8Z^$RZkv_evUpT|<dEELh{4^}k<t1_L-Hk?8
zV%bqmS5<#^ovJh8_Kh92Wwn`;M^}h#PK=UeP>|*5o00#-Xq<CrwiDt`0r4AeYM9Od
zn#8H#h4CLDuhSDM8_LBza%oViTjL;T;8$OMewdFaYfeAREL@SjJF$aRi=cS^Jf1cc
zi1igso_D==YBC@%s-!H1U);2qUbPIVM5h=hNJO=nt<veGPJ3)TzD*t%ERoU%-hq}Z
zEglqc$!(-%MdX~yrK{1*l}(tO)jzd|Z>1H|$*RXt@_<q;O)ZRU6^VblawYa$RDVci
zqREILQM8DKq4$j7oDHSD?SujYZZm1241lYG22$JFWR@=p$v>-TL~gMM-ScwwzdE);
zjXKd_I!Xz_WI-L<ga80g&`>4-%Emg5n=d#Crja`{t1i6LVMPiy2(|AZVtffub&M++
zX~Y!}2Q`%shh62pZy;8a#H;p8n>vq?29&m5hL}$qD|wG|z<A_1m3U#v2x+qg1AZc@
zpr9FXY^IPIdy|J8zt=Z?ea35cBy-f+44qHTj#H)i17b`P-1w8-l-vfXH``Unm5hn@
z=~5*YS#EzuU~A3VFo(@^_dL7jY5C=)qW=AI6=O+4v<OAbX#e=&I*`RPk2w8PZ?Spb
zhIM}MFK!kciyHAuq>#kdcjT9%AGF3gVoYYNZZ7>Y=%zq;UpBZ<dGUgJSPSc0kBn%q
zm9h4s02M4V%OQ8R#qEq7{Q_%eNa;OYe(Or!cq;M<sq)ac3g9jEW0Hmqj^jWB({|34
zaHLYEkLd$-Pv}%$2Nr|=urci<^SI>%5RT<5fnTjS&Y^{+LD4b(%}AInOA4DORZ4}}
zWh0N6IA5K^?`)K)d5QgygT;3!zi2~7&Syvvh8H=%Uyu<AsiZk1Vzi#^>heoIwn!Fi
zTMFMvzQpx!I=Oa(_Bq;`kWEv5x$3x!ftJ*G>wH9{A6AK?#;6dESWUAUKsVm`48nwH
znn@953{@P$!I<{dJw8-9f)ORp;C-Q~L`jdW+tmYJV`Qov5HrMP%|U-rEaYft;4QF*
zo`R`dbtKlFnI*C_E-qT`12saSA}-41YTm^Aleftk;^qvBMh_R>GGsReowoGMh9>$-
zPv$DyJxEAT)#v-SJ_or{rzx{;P)iADqUohU6Iljteb0y~)(SQ@rMk+g@GYwrK(qio
z<ABE!bt|qC^sP8#?#qJ-7~xYQ_TpuT48*m2wBW%jR6u3%n)tbE8B^)Ku>$XaB6H(J
zVk)D63%ygddnMH4*^K@dbj5OYOmdQ0$GV7xoJ)?&0pIZ&f;ehxDIA>9D#|eeQAvl-
z46=KB&4xZ=qwv5PD%(@kK{F){%OUl5c#IQRF+0!_tJ$fJ1qV@_7I0a=T!U~eHF)fa
zFPj8UM??yb908t{4NY}lBH}NL)_T-S7yAP-cnt-ZcpW76XZQE^%)DJST6;w2k=eMq
zHk^F}wN5qsX3c_FYiVQkYD(6w47B%O6{#nA8Zv1H6%0yilrQSH+Y0;tnsY{>D*~Y5
zMn}4^r)D9!edA+&+mIX*yDM@Y9TeGO<T2MFi>>0JwM&?G5H2(o*Pxem1et@>#uHW;
z9A4lksc?8`&t{KABt7FSbyz6364n9*HE6=3Y7_z<&ch~dBCXe#RtOV7@lnD+k7M4K
zrP#Vx;RUm#5u^+~P9wK?W~M}pcST_B-XW_ArG*Dok|&Ou5^#DWowa6&Ls_?N<8|o=
zJ-FcHmd(1VG0Sd13hCu;;Od5pOGV4K0w0PEhIs*%XAudohhp3kU{)s2;pBTclQ`Sk
z1mOg!_}DZDW!&ji3|WMgiSK<Dmuy;5h@d!x8n9&S-fGXJTf}=<fupi(2n#3VlTAgl
z1gL0xbUAZ)d2H7PPKHe6wraDZK~VoXzaurYITP-{1<z4A79fS!M~WqRf^i$4%HIVQ
zv%iu`YgKraxy^eBLw#na5^DqBh1oU!OrOA6_`d>T9G&CakI)t7v0_wd#WiGWIWK|)
zcyt$ovUEHk+41Dd^`lr}_ZYny@eH0!T~Na>I9#;CiUw4{iEl6lX@@Kj=+D_OfHQPo
zTSQ(3f~4VoxU$UAbU1aGkp*eI4H41klOotlhS-hXY9ZM6XFS}8P`txVNyBdB+`iZV
zz$tk+SiJGY=kgkeGN@xwjc5nTEf0B!wo~NaNmu~R=c>Skff2C<Etbs94|QGX8I!>x
zf5?e%D2S>=y76r+ekXR=dFpxJ^Eyh%uI`<JZLQ+3EK-R=l8NOe239Rc#CF2gL?W!X
z54LI`)D=YjLtA*+3P&5@O5lVx?QAghGW6vl!&^_JHg;Du6HIS^h$AD<ajbC$PB1bl
z8iiB|mR`5m4TV2#1IaQ0R&;yP7}km>&Q2e}sc4*FSYCkDiM9seliQ&%1aT1pbOlya
z&~EY@LxgWd*;BsyTI@Lz3lO;zn5R0Wjg+Y=I32~54c^aa!C@y$_c|b=D8VsUzGQO0
zC)J8oEXU$+UH{udDkjqgv&qD3-j8#k|E>wxBo$nQ3OEpsP%M{1S==h<Z!!q=I*6v?
zx%mZu!NP7|Ftwl3yj}>>GO_laUN8!#6se_V7v2^pqq%iSi<_l=d3pfTuJ_0PJe(}H
z8v*0#%W=(20!vFa>^bUo`#95NvN@ax&4LO6#MvEr0Mh>49;Jji!~%QL3E+adxXMTn
zh#Wlf2>G`iDke@dw9t-nGRFtte@8=cA_4>SO)7w$J6Pzm807OE&MT6RZcXL#p7_m!
zBK9#DPEKwIg?%e|`6n?Sx`Z=nLIAK%ewU;dH*gyRmElv&^TEINdw(_fa#kt?TNs;D
z8jQG9exY~8)cK>|T6=Kp-uLHz0S<Hus4WxVNj5G9a1Ct2duMV%Z69ewd)1CmsUG^1
z8&3uk{Ct?j3n|!-k6(NZ0~G+Pt~w=84akpI-9>}n2L?c(hg;?j<m(*R09EjaC?@@`
zmi(+zo~f+@ZKLf}1Y`JwKcQ_o(M-IpyCNw@heLutYnVOO;C~^`(Ms@<O9q=I{*W99
z%sjI%bj|_k4;?ZC(by^yJ}0{3ulBMnM;tpi=N!TCY~7mAs{V6lr9vAge(^=%_GWQJ
zV;N4eEsYKMRmjm%<!ze0v;Lc%23W*(RD$skBJZJ#?GwB%k27xR9*-8f-6@qK3{L|G
zXtaG~u(%5ZFc-KZKqEn$yGZ@ya{Bi&Xp=7}4{nUaE+R+*g9k9m-$pK?^V3=iFd~=H
zLn4*Sf*?eF%V~cF)Lo*74E2(8L2gy@^gvq|j|fl);7w-3E*l0BI<=Vr3Si<f51&ng
zKv|@==y>-l)Ku!@b#i7!A}yK4;{>iRva`_^#6IWdh%A=8z-w6pRAq8ROGXt9WY5#o
z<Y^UX#S3R<F3?H^{#uN7JuKllN<bVufJEvX(xn(xb5FdnC>!<OMnELr8*!=d@B>O=
zz_)NHj5<5D$qy+ti1@;TQtHAh!On^%iyaGE$>byCG&k+a^f@gp#_!%6=c2IW(5x}^
zEBT>V7IXz^5pJ;c+4iXdAW#kPxax8|6ps7BzlkBiOdc*Fu?5RpiZh1{pp1skwk!;Z
zgd~S($hoLn1d!ti8TafPTWBdhOfUfo8zSdtmp~h|{F;R^s$eTU=?oUKxImqSU<1u}
zX)I-9V$9Y{IG*G)F@9!XnV5dD*c$AP_^d%wxeNf^eB`@hGf`qZW`L_PA&NhA$n>+l
z_5#j~k$NMh7zxu_3I&5u!@n)Na>xW5dV?#F!pyLt(9;Bfv=hb&PyCnQv@=CM>Nn2;
zqCrbKdFo?Gx#$})A;5$~iepT-1=q*XAYIU&Ki63-usX+prNU&d_4z8v5q`P|f5`AG
zCdQLJ7oforAQ;G>ga2f~<QQ>eQ?A732DU@AF$7FkDj>;31QTh+$KlQbA|bdeA|nhF
zADxHC{ET`*1nCGPEdRL={Q&X~OA5W&EL#FGjAByH&L@Eqb?f+Ias*T&d;$kJ0R-$a
z06G}+7{yAj!1wU#YJ(Z<MttBggj!V7EGmg4#ZECsMD-CrN8KdKFlCJu7j4O=4I*#=
z;Rnmn5ghmbLQ!sqF<-uv$+%-8(TO*gGvp?&wfTTR?(;_?rW^;x;v!=;pu2gPOCiod
zzp0Ad%I~U?S%AFLH$iX?I-+HWRG*4#7$S6<%N;Ti@az?A6DnolnT5)5pupX$pHm@d
zA^`)FrD2D<R*N!({3w#ueoI}sAr3f5FG?Ao4Iv78H-zO2F&P0S6&0q?2k!YG1R@$e
zJcJy|MzcXHCMl%{mlVk>$i~8SG!XQTs+A*T<YnX%k{6>%oK4B2e``4@vr9&5-Tivb
zQ{jmmNM!={C?n(m+<jRV&0Ab($gWy+Ft8L0sw4{DMR3AddBfC&LtmX`B(yX+$35U>
zkD9YcY{!_agDqe>qoj5Sg-N(LLf`Q(td45)3uAf%Xqb8oqInP0<8&NORk;w6zNo7b
ziljEU@O>$A0W}$QcmrHGq+nK2B2ch}J&Vl>=#gV|@6z}>x;fzYFg+|D9Xfiryt9u8
z8@h-lF_+R$tGI)_zmaNWkr=mM4H1_Yl5#9i<i`6_-m_3dt0NTc5%=3M!KG*u9Lx13
zIP49F&IR7y_t|nQ4zLi@5fsOrD3cJLFcLX<W{BM0F%CIHRMQ$~yiPm^^yhqoi5W8Y
zVHPQ#D-0{3iw0}1O5j2rO4$%siGK>&E&*gJ?F0VQ$pR61UR`SvD0+baE%^edfWS$7
znUp1$1aW=0+=q^WjmK$P<^Y&fO=Z6kKNOtYn2F4`#E1qMN+eYF1GUW*7Ueo#-G<O!
zrl`~G%eLyVS+d#d&oRsN5d94^l_E#dKsTi$a)}lw{1}6hW}(Dm%5kAS(q<>{2~CcY
zOiu_GBoai-1SmD>2{RiUfH-3`!5oBC>m8mq12>0x!cy#ZVXTywGMx!PvOUq&C}?j>
zNCyJ!uxM2g5BmWN8WlZbrX%1zys8`JTCg4x#lMunm!6={@HcrNKz>(20C%iLEt!(N
z4THM&Q7uVBJRTz5MXU_fY%YI)c#S}`?r=USb;=8}9_a~lQMEe@Y8)_bnoA)D=5m&P
zSU&uOSJdU!q@5VeGlRQL!PufU%*LB$gn{cQ66r;0m|VCtT`u}HRt_(qRuLv!x4X0f
zDrKCIPedP(6GKI%z!D(n!_P(L40+ve#JX(?b%lK7&5e2_1ot949p<_~9?G}FcV)MA
z!(w!o*Z}}f6Eq8&n=47yhG+#tJZ+q2H5OC9!z`klG2l7>6_^5O2xfVgkExK9&q0`t
zzY!=^mJ6j1lF-;Q7DKZUb{Of)>c)8S+*<L#u4M3@f;p3+d^0UGvb=RN-dGvnP9=g0
z)2!W>nVA&c2X;-FWQUptMG>WjCI)^?v$Gml>LjW#vtmCv3)Tf2;0U`;1sQv046DUS
z1j{LuoCOk{(#=Iffe;bn571e{I2k2j>EumJK<>2Vm16zKex+(<G~c%1ScDYgTfl8L
zHEEbSq-NkwacQ$KT!S1D79wloT)B8bL115jggy8(u;zSh&}B($8NU41W{=tv6+M#o
z!mTA*k>%ky0HfiW6&~<e6D}ZbaC^m99!d5Ll&ReSt;?Y{B;3RuAc@R*iR>Yo0vb@9
zKx$g=ur{{~4{ynV0jW99;CIXb>N2j%T2=+XP0dPsjAM?`m~p-!)``U((h^RI+7fIi
z=zw9=tW+B5^PYju0Lo!5aP$zJOFG9wG?c#9sDBn2Lg<vley#BpaF)5RM^^mIe0}c#
z8d+D11_NcW5yPx&)sd<M%43!oUJ>P9oC-_~Qe$Mrov|4Lz+B@(4KWe#imNF#`XM%l
zm62WwH1R`3Q1)p(Yz_Nu4u!u52R~s#A>QHEY>3@iEe@yao1KGWPJ+OPZd{!QAfU13
zK^O(lSiFd6B+^~=3TfO_GhyZ}>Q~5ixH_#4&@t;xa9Ru!S*&=(7%#`1DHxqMYkb0R
zDI6nIMmP!m8tSkpq9{1|v`YWsovsU3IS_GIrfs>`6r4RF(<NneBxqw0;}{AT$L!G^
z7-TTIU?35eh|^K!Qp{T*8nrrvngJLq6FI+rli-vnMqgNxBqgw6j2>#BA<$kE_lAQq
zR$=qXeBA^S6c2v|*(liQrG}ISuP90)BL44+$jGUbjQ~cI!49s0Ziey3q6i2iXkh+;
zeZFx6Cfeq(B${5^f)Em&`Yz2P+DVWKUj#nWUl5JCi~bTkA>y;QSkA(F<FCi0VQ*gw
zs30O4ldI{18xx3t66h2)ID`wj5L*STKKk0rC!Ifofz*JIy9iHg2c~`4?^wV?@teEs
z5_^pAV@oM_Af!F$>|P+NG};J_4BBDdjBBsr^(1r7?`<MM0pRLTsl#MWdZi6SCy92&
zM|}ZT2#O2@b|a&d<WK^JfkCoZn<6w7v~RJf@<Vd!Q6l2Es+hSRNuUl0w*aQ3uuwF+
z#mQO)amX7F3&&`TWD7eWnf*$*0t+A7;lpqX7#7Ds_Y{wCWCvzQdvE4&o$3ZDq`0~V
zT9DX>mxX&ipmpR3iVx>~V1ZK947(y$ShD`p8mU5Y3`C7n%7MM~%Vit>rlUa->>nxk
z(asl!VF1qLQrB;!fiKiGa_5LR#5ppI0n50O8IEFsguq-GS<uM#KS;l0JrXELNSK@h
zutZv9>f=Uqm5l8cD=!Gk`v7E#M;H&Z8FXmk7!b<<HbS6?O!|%vIDq0YLbM4!BW7S+
zc3Q9kN3RNGEQoRHMe4t!^MSAlII~|Ke-Q(o?&IJ=%iM}V&*+iSSr93UMff0^NMn8Z
zeJuoPKa3>VQype3DmH9T#8KxFZZj52a1kuR5Nxam)_;aKaAE15OdQJV4#^V<&fTyB
zWLb)6Xu(#SVurdeZ`fTp0C0Se6OEp&Ld0~|0o<1xch2SPc@+V<;I|RAuK+bRK<T+1
z6QnvI3jF4;**pgQd*|~gU1%H`3wJCf;k&6;Da<^CQ;(vYqp5w!>s`Se%7|f?aZ$Y#
z1B+I*NO^~;o70#&*_o2mvMFjvkvQIY(G&v*pC}!LL4786V4kD9q%vm~E}@j38gb-5
zp$mwcL@E-5E*q7;th;^mm<dMECdURa{t6?yW%MFxt!19L*X=QUj;=`W+P=DV`vsh+
zy|e1j)c9H&WHQD4Ed*%6zeWjYnp{D~MMTkw>>O=DaMBnQBnKE_8c`Xr_k%=<oZJ^q
zN%ix+Rx6V7jJGstsYx3enj`rU-<OZiiO&Gzm0+nUS2rVumPPsEhAicY^hBX8Z5oC+
z?FjD#z21DzA{#d#z6b;%fyi(HR1@_YFl%-lNH*Y7DgqwAs{)ZzXe-^Is8p*7cwjJt
zk!kuw$^7B3&Wxr)54m7Vt0h5F61lAICMa|wt50lQN4WK8vu=bU$lV_x!|HzfFd84?
zhFPgjnK=rV3oKZ@D<^J);w=RxR)7{;mhyhU_?cA+Jaz(=aq63hMZ*x-1<|@X!byeG
z&k!0xS^;~MY76<?6Eaaa`I&py?1aeiXs|_%&|E3vLrgn{`Xzek41;()9auabFlTzy
zZX3_826TKH7nN6vjjzPv((TbQ@+f?I0^>=J1BFarh+|#$*71C3K4OfArvoZVLL#Z4
zFXys80WYnGcue9gr*%hgNCx1wQc55d8lR#?e?KuXjdyH^eVb1C@krMfN-WwOGv4%#
zU=pIb$bc_~qk7b++u2qRGeo8WrP&VKe-$KqX6u8a4!I_(gB6h)NF=kS3a|n@8Hh+y
z7;nLrg%~=rD>Ve|79yyu+8CwMpd?_R^4&WO60ON%PnnMWX6*D>UKs=ey!XJh_1U?t
z0@ZN9VS3<yqmvzcYVh)&f;6i(&2r)d%V}A}1cib)U_SPw3g}OSXc*>oq;-dx-{9Z%
zbr=8MJ%OsA!D-_s_E{g1SA&4xI*gqHQ{ZXci)<VY-N6jR`dS}v<tMAbA?IRhCr)8h
zn5d7a&E73zLDZB5GE_mFtdJ>bA-=&^W`a4=2S<^PS@t7DXh!;GxJ0A89EFnj|Da^=
zjHIL#Ie=_BAU=Wg!wOz$FC*T!f`ONTN<@4A4~H7?Kl?nVB8qoKc#gn_P;ObUbk>9q
zi1OqqHp24-p_<6Rjip>KE|D-V_Z{10#3?LQVGy#z(Gn&wAE*vMV6b8z6e=VDV+u5$
z?_LhoYULgFa^)EkJZUvK_l<7vI(>mYvN|YDVIn1Do4IpP-bIRA&}D=AAObLx&0Z8!
z=~dq+MQ1hafZV8zLy1c=E=GgK+{BXn$rX93Nk<Gs9XuFu165K$3An=)*E~rf*{25$
zqPRZ56%r997p;9Syp@7pY+0}?&5J-cd9>{SE?sH1PLZ+RYk>^fjeW{l_}CB>c+hkO
z1E8ciD?dk_1S@Chn9cvyNKKjr3pVUiRy^qg_h?zt%I2k^Zak@sA?hIaCUkGFLdzl{
zrq7WOXM5N-B+tDCsCh(;M5&J)!zychAZk3+*_kNvT;eEeDCRfara->2)?h?7a6v>D
zN}!5pL0lmXmNV%j$S<C1GJn&b)jt-hZE)s-1Ut*ojXDd5j={ANzvvV#3mqjg_6Q1b
zh*;H4dZ6TnWW;J1vCuedqe%Re(ut4@(}t%0UEu93P=yn2rOyzCkkEMLRH>a%1<l#l
zY|k<W2nxcOh>pVsb>oR_W%R_dJpo<Wp+?I)s9i~k`f~g<%z+Z~qUu>?reLl?%sF7V
zI~&|dSwjFh7DmD?IBt{v+MBFQDRqA95q(7d#9#z8U<s0V?LYnTXcvspXW1G;7-pJ0
z1Dax>t_LGt?wsbN?p=60;>U=UPUI#vxGeS-`r@HJ7(h8BuOAe72zEaL7+9SR@L(3V
zifEOSSsvvq+ggZW=vgA{qY%n-(wf{A5ek1<D+F^C(1!b+TbrI3l!g)cihx?n@Hq=@
z0OjH;%YrcXq=ZA&fW?qPcUPzd<{Lw9oWsezNZ=wWU@tJ;rEWq_mZZoF#}yDnq6DeG
znCF7fDC!#Z<{ev1oWUQ+^IxtMLf&h%X9qO3utRbxYGn|^dB2h~K$qfFRrVyXux;S}
zYcwE|DjHIP2ys*-YwQL}co~xo$tu#jXk*T3w1o*MfU2b&28V}Y_S29RNKue|Q#6)i
z&2&MLZw|*M&>YMOit=RbDYZHWYN;bc{jDg)2Q*sU2Q|g>TY*Z-gV6Bch2h}T0|Z$`
zNl{;gdV~!bcr2$!(yEi_F?Y^=aBSf7l8NnIHfBu!X~(pJLPbad$(2W3H5mk+?uZis
zNNR$z1~=^_0?To5ok>05sj}3MD5fA*(E;1`JKS_cZ?(4tAyEV%d2MCL%z%-is<WM6
zFYpXOH1|k?sG|{I>H#(gRhVQXnZ_TPoMGq=;jF$Rv+(rC|NP?K_|GN4<Ez_0BrL_B
zsV_JETHOGT+0Kw=3l3%QGuc^K(v@^2^Q>+2WNg&~-wgo-DO#gVerof>C}`Q1+Rkkb
zj9*_whAOAFl5HaN7WkXWVG6MTGlYcW^&m2zEF6U3bV1sD@c9{Za4tm5l^!@~o=nsu
zv8lP*1<odQ+mU0SJh6DR3xe88>&qV<Ev5R%^~^6JT^0rm*A9EODhUpg4>*y8VYk6M
z#AN_+03kv>H8_oOIf&_UYX^}T(W)mACZ-383lt6=$Z=PKFgzwMlVJ#HcR^r-!?}zt
zEJ6-!1$P7)&7Yr)!ba=`OAvtG&t^>qgj0r4F~np@5_lp6VQBNKKy^6j@*F!#W=uX1
z(@GlMiW{>7Wk{KG2_G)U6O;uw&K1Kh?{m)~veGL_J|H=9rJsY}soNuRfPuQpULk{&
z2&9J;bg#;4I8UD>763Gm*3kqFu%h22I0MQcjJr54?NUg?l@7>E;tjcLbFzbzZ>hRa
z+`))-R@FnOS*^&@SP@VBy~xL-)QzbD$`2b5TG>z9s>i%0+*XA)1vYV9oKCyDWsPM`
zFjZ&!Atd@SRWKW=(wX8&*|l*faKcWzM_)HiO&{i_Z>~*1po6dGVCsH!6UZYb|29i8
z?ISJ!Kt@9r^Tm)>?io!|D8qK(Yj`6n+l3C29x88mn8Nu?1pFc{LXuZfGOkx8zLj*5
zmYt=Mz4k<5gZ6+YNggVZ5*lQ32yomE$joyMFJ*0jM^07U$-PW6DpU>j6_tN?SimD>
zm|nX{kk{LY%PT<Yw1Bi1hGaYe6%!W%GR)eMkUy`G!yu`&q*ggj7x--a0y=7cqT<fK
zyVuqXmGdJkaD8CWKxY)hJU>(=g!v>n6d#jJvLGiNsM?Zib;5S;5J{vsED-MSoP()7
zLCiH0?H-7R?H$!5P69Gp0GE)h8bPWbD{rz~6_G5%8Yq%xE$fzEngUjSD6aavGPkte
zR_|gCuAd@6=u&cnW7=>Sj=nyg2<e#=3H^E|A5*Cy;qhqFSqU~XEM5XZXF^f`4<_RH
zfhNCR*8-GJxxi8Hd#K$>JO&IlVx&x3pBT4kZY4iaC5Y_;nDf9%h8%r7PtbeAh&(Y9
zb$h8ydyjTl?-qz`4n^q};N5HKf^D+zvu-g6{T2zK^U+n$Vp6oE1+eiZB7L8iqNYjk
zDL95n;joWLGMsjl4(esa>OH+~xYDK)peyOdgOg;ik1pIO3@o@!G~YsjR~=*tHWW-k
z!j15`>M)C(`~z@^2HefmCo{XLKWD{ZNCV#CT6bT|>Jf0Ar?a|Yg7cW)B<{lndeWg3
z{zXR`o!x#V@36vH5Q&Mw-{Lt82_%U*<xif3y+-h!?_U$yk>t0O@m~EYfgJs8y~DlB
zhm71;P$4mU@(s_)+s*GtSJD1N61X)jgZEB1tjIS&B8?Ihl7kt!M7ipuaZr?f`O^7n
zG)7`L>i)OVwV?OgH&1y3dSBnbxPNs=|LTSK!q&Pl3EC{eQti1PI+>Yeig8zP_@x+s
zVcj!_8F-Ucb5WD%A87@RpB7VGd|5pPU{6K=nO*)Om2l~#Bd|PB(OCT_V*ax0Crcg7
z%pH!8RfR~6bb*Vd0WK{-E#SS&WUvv4?Xw7blpC{8!Co2gR_naN<$gh2yJbEWc)%wk
z)atQEqA`L%dC59V3JSfZyK4~)IU?zMm3t+C1PRW1K+I;9Ca};)xZtNVRs?~q3Ey)U
z(aa$n15~O?R4YuGE13NPvvs`=VM~~qg;C&)_E0?rlf4|eKBLt0z4#!uYh!E0P&V$H
zOQXD=&2Cvk_cQ|&RiJtwCWkPL8M>G%y$~7N8rG{!9YHV{jK!#wfK=x+Ve-XEx3XM$
zKk{<un#_YH{l(w3LYu@Py5wpEJ-}TL3)Ad+&o@}<vc^LSjs=S;nn{Eh{R1UzL2@9B
zfm2UNatf*?46ZI#83UOha+Q;k8m|<mbCxz9O#*^pfgaxP;`*r0nn=ieTm;dV#Ss_a
zH9$5=qy^z68vjRPKbm>bS;ZQJvVK%zIllUOueJuO`i&9+oluQ!t2)=$@)^+W!_v^N
z5fz<jwm@>%?k<T1y4R~Fj;{{p(<=z{kh#C6A12Kn04;1ljE*irm}k8{Ry|)2q=F{>
YvT=+7_`Kx%fRUbSn2>(#AxsM7z#p-f0{{R3

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.svg b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.svg
new file mode 100644
index 00000000000..fcd05c3683a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.svg
@@ -0,0 +1,245 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="source_sans_probold" horiz-adv-x="1081" >
+<font-face units-per-em="2048" ascent="1536" descent="-512" />
+<missing-glyph horiz-adv-x="425" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="682" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="0" />
+<glyph unicode="&#xd;" horiz-adv-x="425" />
+<glyph unicode=" "  horiz-adv-x="425" />
+<glyph unicode="&#x09;" horiz-adv-x="425" />
+<glyph unicode="&#xa0;" horiz-adv-x="425" />
+<glyph unicode="!" horiz-adv-x="696" d="M166 164q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5zM197 1372h303l-11 -272l-43 -627h-196l-43 627z" />
+<glyph unicode="&#x22;" horiz-adv-x="1097" d="M156 1405h303l-10 -272l-60 -408h-164l-59 408zM639 1405h303l-10 -272l-60 -408h-164l-59 408z" />
+<glyph unicode="#" d="M70 383v192h174l28 226h-161v192h186l43 338h172l-41 -338h213l43 338h172l-41 -338h162v-192h-186l-27 -226h172v-192h-195l-47 -383h-174l45 383h-211l-47 -383h-174l45 383h-151zM420 575h211l28 226h-213z" />
+<glyph unicode="$" d="M80 135l131 203q78 -59 148.5 -89t144.5 -30q86 0 126 35t40 106q0 53 -40 90t-100.5 71t-130 68t-130 81t-100.5 110.5t-40 155.5q0 152 83 251t228 128v211h199v-207q98 -14 172 -59.5t133 -108.5l-151 -172q-55 51 -106.5 76.5t-117.5 25.5q-74 0 -112.5 -30.5 t-38.5 -100.5q0 -49 40 -82.5t100 -64.5t130 -63.5t130.5 -80t100 -114t39.5 -164.5q0 -147 -79.5 -252.5t-239.5 -140.5v-213h-199v205q-90 10 -189 50t-171 105z" />
+<glyph unicode="%" horiz-adv-x="1755" d="M53 938q0 100 24.5 178t68.5 132.5t105.5 83t133.5 28.5t133.5 -28.5t105.5 -83t69.5 -132t25.5 -178.5q0 -100 -25.5 -179t-69.5 -134t-105.5 -84t-133.5 -29t-133.5 29t-105.5 84t-68.5 134t-24.5 179zM262 938q0 -143 36 -200.5t87 -57.5t87 57.5t36 200.5t-36 198.5 t-87 55.5t-87 -55t-36 -199zM430 -25l721 1385h174l-721 -1385h-174zM1038 401q0 100 24.5 178t68.5 132.5t105.5 83t133.5 28.5t133.5 -28.5t105.5 -83t69.5 -132t25.5 -178.5q0 -100 -25.5 -179t-69.5 -134t-105.5 -84t-133.5 -29t-133.5 29t-105.5 84t-68.5 134 t-24.5 179zM1247 401q0 -143 36 -200.5t87 -57.5t87 57.5t36 200.5t-36 198.5t-87 55.5t-87 -55t-36 -199z" />
+<glyph unicode="&#x26;" horiz-adv-x="1366" d="M51 356q0 70 19.5 126.5t53.5 101.5t78 81.5t93 67.5q-39 72 -60.5 142.5t-21.5 134.5q0 72 25.5 135t72.5 111.5t114 76t150 27.5q152 0 240 -82t88 -221q0 -66 -23.5 -120t-63.5 -100t-90 -85t-101 -74q57 -66 125.5 -128.5t142.5 -115.5q51 66 90 145.5t64 174.5h274 q-37 -123 -91 -234.5t-132 -216.5q63 -33 121.5 -54.5t109.5 -29.5l-72 -244q-84 16 -170 51t-172 85q-86 -63 -189 -99.5t-230 -36.5q-109 0 -192 31t-139 83t-85 121t-29 146zM336 375q0 -76 54 -123t145 -47q82 0 170 53q-78 63 -149 133t-130 144q-41 -35 -65.5 -74 t-24.5 -86zM461 1012q0 -37 11 -78t32 -82q72 43 121 90t49 115q0 47 -22.5 75.5t-69.5 28.5q-51 0 -86 -39.5t-35 -109.5z" />
+<glyph unicode="'" horiz-adv-x="614" d="M156 1405h303l-10 -272l-60 -408h-164l-59 408z" />
+<glyph unicode="(" horiz-adv-x="704" d="M147 569q0 270 71 497.5t200 438.5l188 -78q-113 -201 -164 -420t-51 -438t51.5 -438t163.5 -420l-188 -78q-129 211 -200 438.5t-71 497.5z" />
+<glyph unicode=")" horiz-adv-x="704" d="M98 -289q115 201 166 420t51 438t-51 438.5t-166 419.5l189 78q129 -211 199.5 -438t70.5 -498q0 -270 -70.5 -497.5t-199.5 -438.5z" />
+<glyph unicode="*" horiz-adv-x="935" d="M78 1118l47 148l237 -49l27 241h158l26 -244l236 52l49 -148l-221 -100l121 -213l-125 -90l-164 182l-166 -182l-125 90l121 213z" />
+<glyph unicode="+" d="M70 569v213h360v377h221v-377h361v-213h-361v-376h-221v376h-360z" />
+<glyph unicode="," horiz-adv-x="614" d="M94 -238q113 41 172.5 106.5t59.5 143.5h-17q-72 0 -127 44t-55 126q0 78 55.5 125t132.5 47q102 0 155.5 -74.5t53.5 -209.5q0 -170 -94 -292t-274 -175z" />
+<glyph unicode="-" horiz-adv-x="679" d="M88 412v213h504v-213h-504z" />
+<glyph unicode="." horiz-adv-x="614" d="M125 164q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5z" />
+<glyph unicode="/" horiz-adv-x="694" d="M27 -328l411 1782h197l-412 -1782h-196z" />
+<glyph unicode="0" d="M76 655q0 166 33.5 291t94 210t146.5 127t191 42q104 0 190 -42t146.5 -127t94.5 -210t34 -291t-34 -292.5t-94.5 -213t-146.5 -130.5t-190 -44t-190.5 44t-147 130.5t-94 213t-33.5 292.5zM360 655q0 -133 14.5 -219t39 -137t57.5 -70.5t70 -19.5q39 0 71.5 19.5 t57 70.5t38 137t13.5 219t-13.5 218t-38 133.5t-57 67t-71.5 18.5q-37 0 -70 -18.5t-57.5 -67t-39 -133.5t-14.5 -218z" />
+<glyph unicode="1" d="M143 0v244h283v751h-244v187q106 20 180 49t144 69h221v-1056h244v-244h-828z" />
+<glyph unicode="2" d="M61 1118q96 102 196.5 154.5t240.5 52.5q96 0 175 -29.5t136 -84t88 -130t31 -170.5q0 -82 -35 -167t-93.5 -170t-133 -170t-154.5 -166q49 6 109.5 11t107.5 5h262v-254h-915v172q125 117 228.5 218.5t178 190.5t116.5 165.5t42 146.5q0 96 -49 146.5t-135 50.5 q-72 0 -127.5 -40t-104.5 -94z" />
+<glyph unicode="3" d="M45 160l139 190q59 -57 130 -94t155 -37q96 0 153.5 40t57.5 114q0 43 -15.5 77.5t-54.5 58t-106.5 37t-173.5 13.5v213q88 0 146.5 12.5t94 36t51 55t15.5 70.5q0 68 -41 106t-119 38q-70 0 -126 -31t-118 -84l-151 184q90 78 189.5 122t220.5 44q100 0 183 -23.5 t141 -69.5t91 -111.5t33 -151.5q0 -102 -56.5 -173t-160.5 -116v-8q113 -33 185.5 -112t72.5 -206q0 -90 -39 -160.5t-104.5 -118.5t-153.5 -74t-186 -26q-160 0 -270.5 50.5t-182.5 134.5z" />
+<glyph unicode="4" d="M39 311v207l475 782h369v-759h149v-230h-149v-311h-281v311h-563zM328 541h274v211q0 63 4 146t8 144h-8q-25 -53 -51.5 -108t-54.5 -111z" />
+<glyph unicode="5" d="M47 158l135 190q59 -53 128 -91t153 -38q100 0 159.5 51.5t59.5 151.5q0 98 -56.5 149.5t-148.5 51.5q-29 0 -51.5 -3.5t-44 -11.5t-45 -20.5t-51.5 -30.5l-135 86l36 657h738v-253h-478l-22 -244q37 16 70.5 23.5t74.5 7.5q84 0 159 -25t132.5 -74t90 -124.5 t32.5 -180.5q0 -109 -39 -192.5t-104.5 -142t-152.5 -89.5t-181 -31q-160 0 -270.5 52.5t-188.5 130.5z" />
+<glyph unicode="6" d="M84 621q0 182 44 315t116.5 219t168 128t197.5 42q129 0 223.5 -46t155.5 -110l-158 -180q-35 37 -90 64.5t-112 27.5q-53 0 -100.5 -20.5t-83 -68.5t-58 -126t-27.5 -190q25 33 58 58.5t67.5 43t69.5 26.5t66 9q84 0 154.5 -24.5t122.5 -73.5t81 -125t29 -178t-35 -182 t-93.5 -137.5t-137 -87.5t-167.5 -30q-94 0 -183 37t-157.5 115t-109.5 200t-41 294zM367 471q10 -78 30.5 -129t47 -83t58 -45t66.5 -13q68 0 116 50t48 161q0 104 -48 146t-122 42q-49 0 -100 -28.5t-96 -100.5z" />
+<glyph unicode="7" d="M90 1047v253h905v-184q-113 -137 -181.5 -257t-106 -248t-54 -274.5t-24.5 -336.5h-303q8 162 29.5 298t61.5 260t102.5 243t154.5 246h-584z" />
+<glyph unicode="8" d="M86 332q0 119 64.5 194.5t156.5 124.5v8q-76 57 -125 130t-49 178q0 82 31 148.5t86 113.5t132 71.5t167 24.5q88 0 161.5 -25.5t125 -71.5t80 -112.5t28.5 -146.5q0 -94 -51 -167t-119 -118v-8q94 -51 159.5 -131t65.5 -209q0 -78 -32.5 -143.5t-93 -113.5t-145.5 -76 t-189 -28q-98 0 -181.5 26t-143.5 73t-94 112.5t-34 145.5zM344 367q0 -86 59.5 -134.5t141.5 -48.5q76 0 125 40t49 122q0 43 -19.5 74t-56.5 56.5t-87 48t-112 48.5q-43 -41 -71.5 -94t-28.5 -112zM397 967q0 -80 62 -125t162 -84q80 92 79 190q0 76 -42 122t-115 46 q-59 0 -102.5 -37t-43.5 -112z" />
+<glyph unicode="9" d="M70 889q0 100 34.5 181t93 138.5t137.5 87t167 29.5q94 0 183 -37t157.5 -114.5t110.5 -199.5t42 -294q0 -182 -44 -315.5t-116.5 -219.5t-168 -128t-197.5 -42q-129 0 -224 47.5t-157 108.5l160 180q33 -37 88 -64.5t113 -27.5q55 0 102 20.5t83 68.5t57.5 125t25.5 192 q-25 -33 -57.5 -58.5t-67.5 -43t-70 -27t-65 -9.5q-84 0 -155 25t-122 74t-80.5 124.5t-29.5 178.5zM344 889q0 -104 49 -146.5t123 -42.5q49 0 100.5 29t94.5 100q-20 154 -76.5 212.5t-126.5 58.5q-66 0 -115 -50.5t-49 -160.5z" />
+<glyph unicode=":" horiz-adv-x="614" d="M125 164q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5zM125 828q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5z" />
+<glyph unicode=";" horiz-adv-x="614" d="M94 -238q113 41 172.5 106.5t59.5 143.5h-17q-72 0 -127 44t-55 126q0 78 55.5 125t132.5 47q102 0 155.5 -74.5t53.5 -209.5q0 -170 -94 -292t-274 -175zM125 828q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5z" />
+<glyph unicode="&#x3c;" d="M70 575v209l942 363v-248l-361 -119l-276 -96v-8l276 -96l361 -119v-248z" />
+<glyph unicode="=" d="M70 333v213h942v-213h-942zM70 807v213h942v-213h-942z" />
+<glyph unicode="&#x3e;" d="M70 213v248l360 119l277 96v8l-277 96l-360 119v248l942 -363v-209z" />
+<glyph unicode="?" horiz-adv-x="948" d="M84 1210q70 84 164 135.5t209 51.5q86 0 160.5 -20.5t129 -63.5t85 -109.5t30.5 -156.5q0 -63 -22.5 -113.5t-56 -93.5t-71.5 -83t-70 -83t-50.5 -91t-11.5 -110h-265q-10 70 5.5 127t44 106.5t64.5 90.5t68.5 78.5t54 73.5t21.5 75q0 63 -37.5 96t-99.5 33 q-57 0 -101 -26.5t-85 -67.5zM266 164q0 82 51.5 136t128.5 54q78 0 130.5 -54t52.5 -136q0 -80 -52.5 -134.5t-130.5 -54.5t-129 54.5t-51 134.5z" />
+<glyph unicode="@" horiz-adv-x="1849" d="M100 420q0 215 74 390t200 300t294 192.5t356 67.5q166 0 300 -53t228.5 -150.5t145.5 -231.5t51 -294q0 -141 -43 -246.5t-110.5 -176.5t-150.5 -105.5t-163 -34.5q-88 0 -153.5 41t-81.5 114h-5q-43 -59 -112.5 -97t-132.5 -38q-123 0 -197 83t-74 225q0 94 32 184 t87 160.5t131 113.5t164 43q51 0 90 -23.5t66 -78.5h4l28 86h187l-94 -451q-43 -176 94 -176q45 0 89 25.5t79 74t55.5 117t20.5 152.5q0 111 -31 211t-98.5 177t-174 122t-256.5 45q-131 0 -256 -54.5t-223 -153.5t-157.5 -239.5t-59.5 -312.5q0 -152 48 -264.5t131 -186 t190.5 -110.5t228.5 -37q80 0 163 22.5t148 57.5l66 -164q-94 -51 -192.5 -74.5t-208.5 -23.5q-154 0 -294.5 47t-248 143t-171 240.5t-63.5 341.5zM754 424q0 -137 106 -137q33 0 64.5 20.5t70.5 71.5l49 276q-31 59 -94 60q-47 0 -83 -29t-61.5 -72t-38.5 -94t-13 -96z " />
+<glyph unicode="A" horiz-adv-x="1169" d="M-14 0l420 1335h360l420 -1335h-320l-82 317h-409l-82 -317h-307zM436 553h287l-33 123q-29 100 -54.5 212.5t-53.5 217.5h-9q-23 -106 -49 -218t-55 -212z" />
+<glyph unicode="B" horiz-adv-x="1236" d="M156 0v1335h456q104 0 194.5 -15t157 -54t104.5 -102.5t38 -159.5q0 -45 -13.5 -90.5t-41 -84t-70.5 -69.5t-100 -45v-8q143 -27 216.5 -103t73.5 -211q0 -102 -39.5 -176t-110.5 -122t-166 -71.5t-204 -23.5h-495zM459 233h168q250 0 250 183q0 88 -62.5 128t-187.5 40 h-168v-351zM459 797h139q111 0 162 44t51 120t-52 108.5t-157 32.5h-143v-305z" />
+<glyph unicode="C" horiz-adv-x="1187" d="M92 659q0 166 51.5 296t138.5 220.5t202.5 137.5t244.5 47q125 0 226.5 -52.5t168.5 -121.5l-166 -187q-51 47 -102 74t-123 27q-70 0 -130 -30t-105 -85t-71 -135t-26 -180q0 -207 88.5 -320.5t235.5 -113.5q84 0 144.5 32.5t109.5 85.5l166 -182q-84 -98 -191.5 -147.5 t-232.5 -49.5q-129 0 -244 44t-201 130.5t-135 214t-49 295.5z" />
+<glyph unicode="D" horiz-adv-x="1298" d="M156 0v1335h376q154 0 278 -39t212 -119.5t135 -205.5t47 -297t-47 -299t-133 -210t-206 -124t-267 -41h-395zM459 244h57q84 0 153.5 22.5t120 72.5t78 132t27.5 203q0 119 -27.5 199.5t-78 129t-120 69t-153.5 20.5h-57v-848z" />
+<glyph unicode="E" horiz-adv-x="1118" d="M156 0v1335h837v-254h-534v-268h454v-252h-454v-307h555v-254h-858z" />
+<glyph unicode="F" horiz-adv-x="1071" d="M156 0v1335h843v-254h-540v-309h461v-254h-461v-518h-303z" />
+<glyph unicode="G" horiz-adv-x="1302" d="M92 659q0 166 52.5 296t141.5 220.5t208.5 137.5t255.5 47q141 0 244.5 -53.5t170.5 -120.5l-166 -187q-51 47 -105 74t-140 27q-78 0 -142.5 -30t-110.5 -85t-73 -135t-27 -180q0 -207 93.5 -320.5t283.5 -113.5q41 0 79 10t63 30v230h-222v246h490v-615 q-37 -31 -85 -60.5t-105.5 -52t-123 -36t-135.5 -13.5q-135 0 -252.5 44t-205.5 130.5t-138.5 214t-50.5 295.5z" />
+<glyph unicode="H" horiz-adv-x="1376" d="M156 0v1335h303v-514h461v514h301v-1335h-301v557h-461v-557h-303z" />
+<glyph unicode="I" horiz-adv-x="614" d="M156 0v1335h303v-1335h-303z" />
+<glyph unicode="J" horiz-adv-x="1038" d="M31 217l205 152q39 -68 87 -100.5t99 -32.5q82 0 124 50t42 183v866h303v-891q0 -96 -25.5 -182t-78 -149.5t-133.5 -100.5t-191 -37q-154 0 -258.5 59.5t-173.5 182.5z" />
+<glyph unicode="K" horiz-adv-x="1255" d="M156 0v1335h303v-547h6l399 547h330l-403 -532l479 -803h-332l-324 563l-155 -205v-358h-303z" />
+<glyph unicode="L" horiz-adv-x="1056" d="M156 0v1335h303v-1081h526v-254h-829z" />
+<glyph unicode="M" horiz-adv-x="1558" d="M156 0v1335h319l223 -600l80 -233h8l80 233l217 600h320v-1335h-283v489q0 49 4 108.5t10.5 120t12.5 119t12 107.5h-8l-109 -309l-206 -518h-121l-205 518l-107 309h-8q6 -49 12.5 -107.5t12.5 -119t10 -119.5t4 -109v-489h-278z" />
+<glyph unicode="N" horiz-adv-x="1359" d="M156 0v1335h309l348 -663l133 -295h8q-10 106 -24.5 237t-14.5 250v471h287v-1335h-309l-348 666l-131 290h-8q10 -111 24 -237.5t14 -245.5v-473h-288z" />
+<glyph unicode="O" horiz-adv-x="1398" d="M92 674q0 164 44 292t124 215t191.5 133t246.5 46t247 -46t192 -134t124 -216t44 -290q0 -164 -44 -293t-124 -219t-192 -138.5t-247 -48.5t-246.5 48.5t-191.5 138.5t-124 219t-44 293zM401 674q0 -100 21.5 -181t59.5 -138.5t93 -88t123 -30.5q137 0 217 117.5 t80 320.5q0 201 -79.5 313.5t-217.5 112.5q-135 0 -216 -113t-81 -313z" />
+<glyph unicode="P" horiz-adv-x="1239" d="M156 0v1335h487q109 0 204 -21.5t165.5 -71.5t111.5 -133t41 -204q0 -117 -42 -203t-113.5 -141t-165.5 -81.5t-201 -26.5h-184v-453h-303zM459 692h166q245 0 245 211q0 106 -62.5 149.5t-182.5 43.5h-166v-404z" />
+<glyph unicode="Q" horiz-adv-x="1398" d="M86 674q0 164 44 292t124 215t191.5 133t246.5 46t247 -46t191.5 -134t123.5 -216t44 -290q0 -270 -114.5 -444.5t-309.5 -229.5q47 -70 127 -97.5t166 -27.5q43 0 81 7t67 18l53 -222q-37 -18 -97.5 -30.5t-137.5 -12.5q-213 0 -359.5 98.5t-218.5 256.5 q-106 23 -193.5 79t-148.5 144t-94 203.5t-33 257.5zM395 674q0 -203 80 -320.5t217 -117.5t217 117.5t80 320.5q0 201 -80 313.5t-217 112.5t-217 -112.5t-80 -313.5z" />
+<glyph unicode="R" horiz-adv-x="1259" d="M156 0v1335h481q106 0 199.5 -20.5t164 -68.5t111.5 -128t41 -198q0 -147 -65.5 -242.5t-172.5 -142.5l302 -535h-338l-256 481h-164v-481h-303zM459 721h153q119 0 181.5 50t62.5 149q0 98 -62.5 137t-181.5 39h-153v-375z" />
+<glyph unicode="S" horiz-adv-x="1134" d="M70 168l174 207q72 -61 157.5 -100t169.5 -39q94 0 140.5 34.5t46.5 94.5q0 31 -13.5 53t-39 39.5t-61.5 33t-79 33.5l-172 74q-53 20 -101 53t-86 77t-60.5 102.5t-22.5 132.5q0 82 36 154.5t98 126.5t149.5 85t191.5 31q117 0 230.5 -45t199.5 -131l-151 -191 q-66 51 -132.5 79t-146.5 28q-78 0 -124 -32t-46 -89q0 -31 15.5 -52.5t43 -39t65.5 -32.5t81 -34l170 -69q123 -49 193.5 -135.5t70.5 -227.5q0 -84 -34 -158.5t-98.5 -131t-157.5 -90.5t-212 -34q-131 0 -261 48.5t-234 144.5z" />
+<glyph unicode="T" horiz-adv-x="1136" d="M49 1081v254h1036v-254h-366v-1081h-301v1081h-369z" />
+<glyph unicode="U" horiz-adv-x="1357" d="M150 618v717h301v-747q0 -197 59 -274.5t172 -77.5t175.5 77.5t62.5 274.5v747h290v-717q0 -336 -134 -489.5t-394 -153.5t-396 154t-136 489z" />
+<glyph unicode="V" horiz-adv-x="1136" d="M-16 1335h319l162 -622q29 -111 52.5 -214.5t53.5 -213.5h9q31 111 54 214t52 214l158 622h309l-403 -1335h-363z" />
+<glyph unicode="W" horiz-adv-x="1662" d="M27 1335h309l92 -624q14 -104 27.5 -210t27.5 -212h9q18 106 37.5 211.5t39.5 210.5l144 624h256l145 -624q20 -102 40 -208t40 -214h8q12 109 25.5 213t27.5 209l93 624h288l-237 -1335h-379l-131 606q-16 78 -29.5 157t-23.5 152h-9q-12 -74 -24 -152.5t-29 -156.5 l-127 -606h-373z" />
+<glyph unicode="X" horiz-adv-x="1159" d="M23 0l368 686l-348 649h338l115 -252q23 -47 46 -99t52 -116h8q23 63 43.5 115.5t40.5 99.5l107 252h321l-346 -663l369 -672h-336l-131 272q-27 53 -50.5 105.5t-50.5 114.5h-8q-25 -61 -47 -113.5t-45 -106.5l-125 -272h-321z" />
+<glyph unicode="Y" horiz-adv-x="1073" d="M-16 1335h321l121 -307q27 -76 53.5 -146.5t55.5 -148.5h8q29 78 56.5 148.5t55.5 146.5l119 307h316l-404 -860v-475h-301v475z" />
+<glyph unicode="Z" horiz-adv-x="1105" d="M72 0v182l590 899h-535v254h907v-182l-590 -899h594v-254h-966z" />
+<glyph unicode="[" horiz-adv-x="704" d="M178 -311v1761h432v-160h-207v-1442h207v-159h-432z" />
+<glyph unicode="\" horiz-adv-x="694" d="M57 1454h197l414 -1782h-199z" />
+<glyph unicode="]" horiz-adv-x="704" d="M94 -152h209v1442h-209v160h432v-1761h-432v159z" />
+<glyph unicode="^" d="M102 561l318 811h242l317 -811h-248l-94 262l-92 277h-8l-93 -277l-94 -262h-248z" />
+<glyph unicode="_" horiz-adv-x="1024" d="M25 -117h974v-170h-974v170z" />
+<glyph unicode="`" horiz-adv-x="1136" d="M264 1483h291l182 -307h-219z" />
+<glyph unicode="a" horiz-adv-x="1093" d="M96 283q0 160 135.5 250t436.5 120q-4 68 -41 108t-119 40q-66 0 -131.5 -24.5t-138.5 -67.5l-107 198q98 59 205.5 96t228.5 37q197 0 300.5 -111.5t103.5 -346.5v-582h-246l-23 104h-6q-66 -57 -138.5 -93t-158.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 121.5z M383 305q0 -49 31.5 -72.5t85.5 -23.5q53 0 90 22.5t78 63.5v178q-162 -23 -223.5 -66t-61.5 -102z" />
+<glyph unicode="b" horiz-adv-x="1173" d="M133 0v1436h301v-353l-8 -155q59 53 128 82.5t140 29.5q92 0 166 -36.5t126 -103t80 -162t28 -212.5q0 -131 -36 -233.5t-96.5 -173t-137 -107.5t-158.5 -37q-68 0 -136.5 33t-128.5 98h-8l-24 -106h-236zM434 287q41 -37 82 -51.5t80 -14.5q78 0 133 70.5t55 228.5 q0 274 -176 275q-90 0 -174 -93v-415z" />
+<glyph unicode="c" horiz-adv-x="956" d="M74 508q0 127 43 226.5t115.5 167t169 103t200.5 35.5q94 0 170 -31.5t127 -84.5l-137 -187q-72 59 -141 60q-111 0 -174.5 -78t-63.5 -211t64.5 -211t162.5 -78q55 0 100.5 22.5t82.5 51.5l120 -191q-74 -66 -164 -96.5t-174 -30.5q-106 0 -197 36t-158.5 103.5 t-106.5 167t-39 226.5z" />
+<glyph unicode="d" horiz-adv-x="1173" d="M80 508q0 125 36 223t94 167t135 105.5t157 36.5q86 0 141 -28.5t109 -77.5l-13 156v346h301v-1436h-245l-21 100h-8q-53 -53 -125 -89t-145 -36q-94 0 -171 37t-131.5 105.5t-84 167t-29.5 223.5zM389 512q0 -152 48 -221.5t136 -69.5q49 0 89 20.5t77 71.5v416 q-41 37 -84 51.5t-84 14.5q-72 0 -127 -69t-55 -214z" />
+<glyph unicode="e" horiz-adv-x="1060" d="M74 508q0 123 41 222t107.5 168t152.5 105.5t178 36.5q109 0 189.5 -36.5t135 -102t81 -155t26.5 -193.5q0 -41 -4 -75t-8 -52h-608q20 -117 90.5 -169t173.5 -52q109 0 219 67l100 -182q-78 -53 -173 -84t-187 -31q-109 0 -203 36t-163.5 104.5t-108.5 167t-39 225.5z M362 612h367q0 88 -39 143.5t-131 55.5q-72 0 -126 -48t-71 -151z" />
+<glyph unicode="f" horiz-adv-x="698" d="M49 780v224l135 10v55q0 80 19.5 151.5t64.5 125t117 84t174 30.5q63 0 115.5 -12t87.5 -25l-55 -221q-57 20 -105 21q-55 0 -86 -34t-31 -112v-61h183v-236h-183v-780h-301v780h-135z" />
+<glyph unicode="g" horiz-adv-x="1093" d="M70 -174q0 123 145 205v8q-41 27 -67.5 67.5t-26.5 104.5q0 55 32.5 105.5t82.5 84.5v9q-53 37 -95.5 105.5t-42.5 158.5q0 92 35 160.5t93.5 114.5t134 68.5t157.5 22.5q90 0 158 -24h371v-219h-162q14 -23 23.5 -57.5t9.5 -75.5q0 -88 -31 -153t-85 -107t-127 -62 t-157 -20q-59 0 -123 20q-20 -16 -28.5 -32.5t-8.5 -43.5q0 -39 34 -57.5t120 -18.5h164q188 0 287.5 -60t99.5 -198q0 -80 -40 -146.5t-113.5 -114.5t-178 -75.5t-235.5 -27.5q-90 0 -167 15.5t-135.5 46t-91 79.5t-32.5 117zM317 -127q0 -57 61.5 -87t164.5 -30 q102 0 167.5 36t65.5 89q0 47 -40 63.5t-115 16.5h-105q-53 0 -86 3t-57 9q-56 -49 -56 -100zM379 674q0 -86 40 -128t99 -42t99 42t40 128q0 80 -39.5 122t-99.5 42q-59 0 -99 -41t-40 -123z" />
+<glyph unicode="h" horiz-adv-x="1169" d="M133 0v1436h301v-353l-14 -182q57 51 133 95t180 44q166 0 241 -108.5t75 -300.5v-631h-301v592q0 111 -30 151.5t-95 40.5q-57 0 -98.5 -25.5t-90.5 -72.5v-686h-301z" />
+<glyph unicode="i" horiz-adv-x="565" d="M109 1323q0 70 49 113t125 43q78 0 126 -43t48 -113t-48 -114t-126 -44q-76 0 -125 44t-49 114zM133 0v1016h301v-1016h-301z" />
+<glyph unicode="j" horiz-adv-x="569" d="M-104 -373l53 221q20 -6 38.5 -10t41.5 -4q59 0 82.5 39t23.5 125v1018h301v-1010q0 -84 -17.5 -157.5t-59.5 -129t-111.5 -88t-173.5 -32.5q-63 0 -105.5 8t-72.5 20zM113 1323q0 70 49 113t125 43t125 -43t49 -113t-49 -114t-125 -44t-125 44t-49 114z" />
+<glyph unicode="k" horiz-adv-x="1122" d="M133 0v1436h293v-824h8l322 404h327l-356 -418l383 -598h-326l-229 395l-129 -145v-250h-293z" />
+<glyph unicode="l" horiz-adv-x="585" d="M133 315v1121h301v-1133q0 -47 17.5 -65.5t35.5 -18.5h17.5t19.5 4l37 -223q-25 -10 -62.5 -17.5t-88.5 -7.5q-78 0 -131.5 25t-85 69t-46 106.5t-14.5 139.5z" />
+<glyph unicode="m" horiz-adv-x="1755" d="M133 0v1016h246l20 -131h9q63 63 134.5 109t172.5 46q109 0 175 -44t105 -126q68 70 142.5 120t177.5 50q164 0 240.5 -109.5t76.5 -299.5v-631h-301v592q0 111 -29.5 151.5t-95.5 40.5q-76 0 -174 -98v-686h-301v592q0 111 -29.5 151.5t-95.5 40.5q-78 0 -172 -98v-686 h-301z" />
+<glyph unicode="n" horiz-adv-x="1171" d="M133 0v1016h246l20 -129h9q66 61 143.5 107t181.5 46q166 0 241 -108.5t75 -300.5v-631h-301v592q0 111 -30 151.5t-95 40.5q-57 0 -98.5 -25.5t-90.5 -72.5v-686h-301z" />
+<glyph unicode="o" horiz-adv-x="1136" d="M74 508q0 127 41 226.5t109.5 167t158.5 103t186 35.5t185.5 -35.5t158 -103t109.5 -167t41 -226.5t-41 -226.5t-109.5 -167t-157.5 -103.5t-186 -36q-96 0 -186 36t-158.5 103.5t-109.5 167t-41 226.5zM383 508q0 -133 46 -211t140 -78q92 0 139.5 78t47.5 211t-47 211 t-140 78q-94 0 -140 -78t-46 -211z" />
+<glyph unicode="p" horiz-adv-x="1173" d="M133 -377v1393h246l20 -101h9q59 53 133.5 89t154.5 36q92 0 166 -36.5t125 -104.5t79 -163t28 -212q0 -131 -36 -232.5t-96.5 -172t-137 -107.5t-158.5 -37q-66 0 -127.5 28t-114.5 79l10 -162v-297h-301zM434 287q41 -37 82 -51.5t80 -14.5q78 0 133 70.5t55 228.5 q0 274 -176 275q-88 0 -174 -93v-415z" />
+<glyph unicode="q" horiz-adv-x="1171" d="M80 508q0 125 36 223t94 167t135 105.5t157 36.5q84 0 147.5 -29.5t122.5 -95.5h8l25 101h235v-1393h-301v309l13 156q-51 -49 -119 -81t-137 -32q-94 0 -171 37t-131.5 105.5t-84 167t-29.5 223.5zM389 512q0 -152 48 -221.5t136 -69.5q49 0 89 20.5t77 71.5v416 q-41 37 -84 51.5t-84 14.5q-72 0 -127 -69t-55 -214z" />
+<glyph unicode="r" horiz-adv-x="815" d="M133 0v1016h246l20 -178h9q55 104 132.5 153t155.5 49q43 0 71 -5t50 -15l-49 -260q-29 8 -53.5 12t-57.5 4q-57 0 -119.5 -41t-103.5 -145v-590h-301z" />
+<glyph unicode="s" horiz-adv-x="907" d="M43 117l135 188q70 -53 133.5 -79.5t128.5 -26.5q68 0 98.5 22.5t30.5 63.5q0 25 -17 44t-47 35.5t-67 30t-76 29.5q-47 18 -94 43t-86 60.5t-63.5 83.5t-24.5 112q0 70 28 129t79 100t122.5 64.5t159.5 23.5q117 0 205 -39.5t154 -89.5l-135 -180q-55 41 -108.5 63.5 t-106.5 22.5q-115 0 -115 -80q0 -25 16.5 -42t44 -31.5t63.5 -27.5t74 -28q49 -18 97.5 -41.5t88.5 -58.5t64.5 -85t24.5 -120t-26.5 -129t-80 -103t-131 -70t-180.5 -26q-100 0 -205.5 39t-183.5 103z" />
+<glyph unicode="t" horiz-adv-x="784" d="M35 780v224l155 12l35 270h250v-270h244v-236h-244v-407q0 -86 36 -124t95 -38q25 0 50.5 6t45.5 14l48 -219q-41 -12 -96.5 -24.5t-129.5 -12.5q-94 0 -160.5 29t-108.5 80t-61.5 124t-19.5 161v411h-139z" />
+<glyph unicode="u" horiz-adv-x="1163" d="M123 385v631h301v-592q0 -111 30.5 -152t96.5 -41q57 0 96 27t84 86v672h301v-1016h-246l-22 141h-6q-66 -78 -140.5 -122t-179.5 -44q-166 0 -240.5 109t-74.5 301z" />
+<glyph unicode="v" horiz-adv-x="1071" d="M25 1016h303l131 -479q20 -76 39.5 -155t40.5 -159h8q18 80 37.5 159t40.5 155l133 479h289l-332 -1016h-348z" />
+<glyph unicode="w" horiz-adv-x="1589" d="M49 1016h299l98 -471q12 -76 22.5 -149.5t23.5 -151.5h8q14 78 27.5 153.5t31.5 147.5l113 471h260l115 -471q18 -76 32.5 -149.5t30.5 -151.5h8q14 78 23.5 151.5t23.5 149.5l97 471h278l-244 -1016h-352l-92 406q-16 72 -28.5 143.5t-26.5 152.5h-9q-14 -82 -25 -153.5 t-26 -142.5l-90 -406h-344z" />
+<glyph unicode="x" horiz-adv-x="1052" d="M29 0l311 528l-293 488h324l90 -164q20 -43 41.5 -87t44.5 -87h8q16 43 34.5 87t35.5 87l69 164h312l-295 -522l313 -494h-324l-98 168q-25 43 -48.5 88t-47.5 88h-8q-18 -43 -39 -87t-39 -89l-80 -168h-311z" />
+<glyph unicode="y" horiz-adv-x="1067" d="M25 1016h303l145 -436q23 -70 41 -141.5t39 -147.5h8q16 72 33.5 144.5t36.5 144.5l123 436h288l-352 -1026q-37 -96 -77 -169t-92 -121t-118.5 -72.5t-156.5 -24.5q-47 0 -80 5t-64 15l54 230q14 -4 32.5 -8.5t34.5 -4.5q76 0 117 37t61 96l15 54z" />
+<glyph unicode="z" horiz-adv-x="942" d="M78 0v162l426 618h-379v236h754v-160l-426 -620h440v-236h-815z" />
+<glyph unicode="{" horiz-adv-x="704" d="M63 481v176q49 2 83 15.5t54.5 35t30 48t9.5 53.5q0 47 -3.5 88t-7.5 81t-7 84t-3 97q0 164 63.5 227.5t198.5 63.5h129v-160h-39q-63 0 -85.5 -29.5t-22.5 -113.5q0 -82 4 -162t4 -172q0 -117 -37 -169t-115 -71v-8q78 -18 115 -70.5t37 -168.5q0 -94 -4 -172t-4 -162 t22.5 -114t85.5 -30h39v-159h-129q-135 0 -198.5 62.5t-63.5 228.5q0 55 3 98t7 83t7.5 80t3.5 89q0 27 -9.5 53.5t-30 48t-54 34.5t-83.5 15z" />
+<glyph unicode="|" horiz-adv-x="548" d="M176 -512v2048h197v-2048h-197z" />
+<glyph unicode="}" horiz-adv-x="704" d="M94 -152h39q63 0 86 30t23 114t-4.5 161.5t-4.5 172.5q0 117 37 169t115 70v8q-78 18 -115 70.5t-37 169.5q0 92 4.5 172t4.5 162q0 84 -22.5 113.5t-86.5 29.5h-39v160h129q135 0 198.5 -63.5t63.5 -227.5q0 -53 -3 -97t-7 -84t-7 -81t-3 -88q0 -27 9 -53.5t29.5 -48 t54.5 -35t83 -15.5v-176q-49 -2 -83 -15t-54.5 -34.5t-29.5 -48.5t-9 -53q0 -49 3 -89t7 -80t7 -83t3 -98q0 -166 -63.5 -228.5t-198.5 -62.5h-129v159z" />
+<glyph unicode="~" d="M59 649q76 117 153 164t155 47q63 0 110 -24.5t87 -53t76 -53t79 -24.5t79 30.5t68 87.5l156 -121q-76 -117 -152.5 -163.5t-154.5 -46.5q-63 0 -110.5 24.5t-87.5 53t-75.5 53t-79.5 24.5q-41 0 -77.5 -30.5t-69.5 -88.5z" />
+<glyph unicode="&#xa1;" horiz-adv-x="696" d="M166 852q0 80 52 134t130 54t130 -54t52 -134q0 -82 -52 -136t-130 -54t-130 54t-52 136zM197 -356l10 272l43 627h196l43 -627l11 -272h-303z" />
+<glyph unicode="&#xa2;" d="M123 629q0 109 32.5 196.5t92 152t139.5 106.5t176 59v198h166v-190q80 -8 144.5 -38t109.5 -77l-137 -184q-61 49 -117 55v-557q43 8 80 27.5t68 44.5l120 -191q-59 -51 -128.5 -80.5t-139.5 -39.5v-195h-166v195q-100 12 -181 53t-138.5 107.5t-89 156.5t-31.5 201z M416 629q0 -92 38 -159t109 -97v512q-74 -33 -110.5 -98.5t-36.5 -157.5z" />
+<glyph unicode="&#xa3;" d="M98 0v186q92 41 154.5 122t62.5 192q0 14 -1 27.5t-3 27.5h-205v176l140 10h12q-14 41 -23.5 82t-9.5 82q0 96 33 174t91.5 132.5t138 84t176.5 29.5q115 0 199.5 -43t154.5 -123l-164 -164q-35 43 -74 64.5t-88 21.5q-82 0 -130 -47t-48 -145q0 -37 6 -74t17 -74h303 v-186h-265q2 -14 3.5 -28.5t1.5 -28.5q0 -74 -21.5 -127.5t-71.5 -108.5v-8h531v-254h-920z" />
+<glyph unicode="&#xa4;" d="M41 322l125 127q-70 94 -70 227q0 66 17.5 122t50.5 101l-123 127l149 152l142 -144q98 51 209 51q106 0 209 -51l141 144l149 -152l-125 -127q70 -92 70 -223q0 -68 -18.5 -124t-51.5 -103l125 -127l-149 -152l-143 145q-47 -25 -100.5 -37t-106.5 -12q-113 0 -207 49 l-144 -145zM365 676q0 -92 51 -146.5t125 -54.5t125 54.5t51 146.5t-51.5 146.5t-124.5 54.5q-74 0 -125 -54.5t-51 -146.5z" />
+<glyph unicode="&#xa5;" d="M25 1300h309l104 -272q25 -68 49.5 -135.5t53.5 -132.5h8q27 68 51.5 135.5t50.5 132.5l103 272h303l-301 -600h250v-143h-316v-113h316v-143h-316v-301h-301v301h-313v143h313v113h-313v143h250z" />
+<glyph unicode="&#xa6;" horiz-adv-x="548" d="M176 418h197v-930h-197v930zM176 639v897h197v-897h-197z" />
+<glyph unicode="&#xa7;" d="M76 668q0 78 44 146.5t120 115.5q-29 33 -44.5 75t-15.5 95q0 139 95.5 226t269.5 87q119 0 212 -42t156 -91l-137 -188q-47 41 -104.5 69.5t-110.5 28.5q-111 0 -110 -80q0 -37 40.5 -64.5t102 -55t134.5 -60.5t134.5 -79t102.5 -111.5t41 -157.5q0 -90 -44 -157 t-124 -116q23 -33 35 -71.5t12 -85.5q0 -70 -25.5 -129.5t-75 -102.5t-123 -67.5t-169.5 -24.5q-113 0 -220.5 42t-177.5 130l174 154q100 -104 224 -105q63 0 92.5 24.5t29.5 63.5t-39.5 67.5t-99 55.5t-130.5 57.5t-130 76.5t-99 111.5t-40 162.5zM330 690q0 -49 32.5 -83 t84 -61.5t114 -53t121.5 -56.5q70 43 70 121q0 49 -33 83t-83 61.5t-112.5 52t-122.5 55.5q-71 -47 -71 -119z" />
+<glyph unicode="&#xa8;" horiz-adv-x="1136" d="M223 1313q0 59 40 100t103 41t103.5 -41t40.5 -100q0 -61 -40.5 -102.5t-103.5 -41.5t-103 41t-40 103zM628 1313q0 59 40 100t104 41q63 0 103 -41t40 -100q0 -61 -40 -102.5t-103 -41.5t-103.5 41t-40.5 103z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1536" d="M92 666q0 160 54.5 284.5t147.5 211.5t216 133t258 46t258 -46t215 -133t146.5 -213t54.5 -283q0 -160 -54.5 -286t-146.5 -215t-215 -136t-258 -47t-258 47t-216 136t-147.5 215t-54.5 286zM231 666q0 -127 42 -229.5t114 -176.5t170 -114t211 -40t211 40t170 114 t114 176.5t42 229.5q0 125 -42 227t-114 175t-170 112t-211 39t-211 -39t-170 -112t-114 -175t-42 -227zM397 664q0 90 33 162.5t87 123.5t126 79t150 28q94 0 157.5 -36t112.5 -85l-113 -125q-33 35 -65.5 52.5t-73.5 17.5q-98 0 -148.5 -62.5t-50.5 -154.5 q0 -104 51.5 -166t137.5 -62q51 0 88 19.5t76 50.5l98 -139q-59 -47 -125 -77t-145 -30q-86 0 -159 28.5t-125 81t-82 127.5t-30 167z" />
+<glyph unicode="&#xaa;" horiz-adv-x="735" d="M59 721q0 109 90.5 167t292.5 79q-4 43 -27.5 65.5t-72.5 22.5q-41 0 -88 -16.5t-96 -45.5l-76 142q68 39 142.5 63.5t154.5 24.5q131 0 203.5 -75t72.5 -228v-388h-170l-20 68h-8q-37 -37 -84.5 -60.5t-106.5 -23.5q-96 0 -151.5 59.5t-55.5 145.5zM262 737 q0 -59 76 -59q31 0 54.5 13.5t49.5 37.5v115q-102 -12 -141 -41t-39 -66z" />
+<glyph unicode="&#xab;" horiz-adv-x="983" d="M100 410v213l275 295l112 -91l-227 -311l227 -311l-112 -90zM485 410v213l275 295l112 -91l-227 -311l227 -311l-112 -90z" />
+<glyph unicode="&#xac;" d="M70 569v213h942v-589h-221v376h-721z" />
+<glyph unicode="&#xad;" horiz-adv-x="679" d="M88 412v213h504v-213h-504z" />
+<glyph unicode="&#xae;" horiz-adv-x="946" d="M66 1051q0 90 31.5 165.5t87 131t130 86t158.5 30.5t158 -30.5t129 -86t87 -131t32 -165.5t-32 -166t-87 -131.5t-129 -86t-158 -30.5t-158.5 30.5t-130 86t-87 131.5t-31.5 166zM178 1051q0 -72 21.5 -129.5t61.5 -98.5t93 -63.5t119 -22.5q129 0 211 85t82 229 q0 143 -82 228t-211 85q-66 0 -119 -22.5t-93 -63.5t-61.5 -98.5t-21.5 -128.5zM307 852v403h182q72 0 119 -32.5t47 -102.5q0 -76 -71 -110l84 -158h-123l-62 123h-59v-123h-117zM424 1057h43q31 0 46 17.5t15 39.5q0 23 -15 38t-46 15h-43v-110z" />
+<glyph unicode="&#xaf;" horiz-adv-x="1136" d="M286 1212v191h566v-191h-566z" />
+<glyph unicode="&#xb0;" horiz-adv-x="747" d="M80 1110q0 63 22.5 117.5t62.5 94.5t94 61.5t116 21.5q61 0 115.5 -21.5t94.5 -61.5t63.5 -94t23.5 -118q0 -66 -23.5 -119t-63.5 -93t-94.5 -61.5t-115.5 -21.5t-115.5 21.5t-94.5 61.5t-62.5 93t-22.5 119zM238 1110q0 -68 39 -110t98 -42q61 0 99 42t38 110 q0 66 -38 108t-99 42q-59 0 -98 -42t-39 -108z" />
+<glyph unicode="&#xb1;" d="M70 0v213h942v-213h-942zM70 602v213h360v344h221v-344h361v-213h-361v-278h-221v278h-360z" />
+<glyph unicode="&#xb2;" horiz-adv-x="770" d="M55 1560q123 164 305 164q133 0 214 -70.5t81 -199.5q0 -49 -17 -95t-47 -91t-68 -90.5t-81 -92.5h242v-184h-592v119q154 127 252 224t98 173q0 59 -30.5 92t-85.5 33q-41 0 -76 -25.5t-70 -70.5z" />
+<glyph unicode="&#xb3;" horiz-adv-x="770" d="M55 1038l133 105q72 -98 170 -99q47 0 81 25t34 72q0 104 -190 104v127q74 0 117.5 23.5t43.5 74.5q0 41 -26.5 63.5t-73.5 22.5q-39 0 -70.5 -22.5t-60.5 -57.5l-125 111q66 72 133.5 104.5t161.5 32.5q55 0 105.5 -15t89 -44t61.5 -71t23 -93q0 -63 -31 -107t-86 -77 q61 -25 103 -73t42 -120q0 -55 -25.5 -101t-67.5 -78t-98.5 -50.5t-117.5 -18.5q-104 0 -188 42t-138 120z" />
+<glyph unicode="&#xb4;" horiz-adv-x="1136" d="M401 1176l182 307h291l-254 -307h-219z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1173" d="M133 -410v1426h301v-592q0 -111 30 -152t95 -41q57 0 97 27t85 86v672h301v-1016h-245l-23 141h-8q-39 -74 -97.5 -111.5t-125.5 -37.5q-37 0 -69 8t-58 37l18 -184v-263h-301z" />
+<glyph unicode="&#xb6;" horiz-adv-x="1302" d="M80 879q0 129 41 216t111.5 141t166 76.5t201.5 22.5h90v-932h-82q-109 0 -205 30t-167.5 90.5t-113.5 149.5t-42 206zM805 -164v1499h301v-1499h-301z" />
+<glyph unicode="&#xb7;" horiz-adv-x="614" d="M125 656q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5z" />
+<glyph unicode="&#xb8;" horiz-adv-x="1136" d="M360 -332q74 8 122 28.5t48 61.5q0 27 -25.5 48.5t-95.5 37.5l82 164h176l-41 -96q53 -16 86 -52t33 -100q0 -53 -29.5 -91t-79 -64.5t-115 -40t-138.5 -17.5z" />
+<glyph unicode="&#xb9;" horiz-adv-x="770" d="M156 1476v136q41 6 72.5 14t58 18.5t50 23.5t48.5 32h176v-799h-223v575h-182z" />
+<glyph unicode="&#xba;" horiz-adv-x="763" d="M49 868q0 84 27.5 149.5t74 112t105.5 70t125 23.5t125 -23.5t105 -70t74 -112t28 -149.5t-28 -148.5t-74 -110.5t-105 -69.5t-125 -23.5t-125 23.5t-105.5 69.5t-74 110.5t-27.5 148.5zM266 868q0 -84 28 -134t87 -50t88 50t29 134q0 86 -29 136.5t-88 50.5t-87 -50.5 t-28 -136.5z" />
+<glyph unicode="&#xbb;" horiz-adv-x="983" d="M111 205l227 311l-227 311l112 91l275 -295v-213l-275 -295zM496 205l227 311l-227 311l112 91l275 -295v-213l-275 -295z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1656" d="M97 1112v136q41 6 72.5 14t58 18.5t50 23.5t48.5 32h176v-799h-223v575h-182zM379 -25l721 1385h174l-721 -1385h-174zM959 178v111l288 510h275v-477h119v-144h-119v-178h-197v178h-366zM1161 322h164v84l13 239h-9l-82 -158z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1732" d="M97 1112v136q41 6 72.5 14t58 18.5t50 23.5t48.5 32h176v-799h-223v575h-182zM348 -25l721 1385h174l-721 -1385h-174zM1016 659q123 164 305 164q133 0 214 -70.5t81 -199.5q0 -49 -17 -95t-47 -91t-68 -90.5t-81 -92.5h242v-184h-592v119q154 127 252 224t98 173 q0 59 -30.5 92t-85.5 33q-41 0 -76 -25.5t-70 -70.5z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1675" d="M51 674l133 105q72 -98 170 -99q47 0 81 25t34 72q0 104 -190 104v127q74 0 117.5 23.5t43.5 74.5q0 41 -26.5 63.5t-73.5 22.5q-39 0 -70.5 -22.5t-60.5 -57.5l-125 111q66 72 133.5 104.5t161.5 32.5q55 0 105.5 -15t89 -44t61.5 -71t23 -93q0 -63 -31 -107t-86 -77 q61 -25 103 -73t42 -120q0 -55 -25.5 -101t-67.5 -78t-98.5 -50.5t-117.5 -18.5q-104 0 -188 42t-138 120zM424 -25l721 1385h174l-721 -1385h-174zM975 178v111l288 510h275v-477h119v-144h-119v-178h-197v178h-366zM1177 322h164v84l13 239h-9l-82 -158z" />
+<glyph unicode="&#xbf;" horiz-adv-x="948" d="M86 -29q0 63 22.5 113.5t56.5 93.5t71.5 83t69.5 82t51.5 90t13.5 110h262q10 -70 -5.5 -127.5t-44 -106.5t-64.5 -90t-68.5 -79t-54 -73.5t-21.5 -74.5q0 -63 39 -96t98 -33q57 0 101 26.5t85 67.5l166 -152q-70 -84 -164 -135t-208 -51q-86 0 -161 20.5t-129.5 63.5 t-85 109.5t-30.5 158.5zM319 852q0 80 52.5 134t130.5 54t130 -54t52 -134q0 -82 -52 -136t-130 -54t-130.5 54t-52.5 136z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1169" d="M-14 0l420 1335h360l420 -1335h-320l-82 317h-409l-82 -317h-307zM246 1683h320l166 -245h-240zM436 553h287l-33 123q-29 100 -54.5 212.5t-53.5 217.5h-9q-23 -106 -49 -218t-55 -212z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1169" d="M-14 0l420 1335h360l420 -1335h-320l-82 317h-409l-82 -317h-307zM424 1438l166 245h320l-246 -245h-240zM436 553h287l-33 123q-29 100 -54.5 212.5t-53.5 217.5h-9q-23 -106 -49 -218t-55 -212z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1169" d="M-14 0l420 1335h360l420 -1335h-320l-82 317h-409l-82 -317h-307zM234 1438l197 245h294l197 -245h-231l-109 125h-8l-109 -125h-231zM436 553h287l-33 123q-29 100 -54.5 212.5t-53.5 217.5h-9q-23 -106 -49 -218t-55 -212z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1169" d="M-14 0l420 1335h360l420 -1335h-320l-82 317h-409l-82 -317h-307zM230 1440q16 141 77.5 209.5t141.5 68.5q41 0 76 -14t64.5 -31.5t55 -32t50.5 -14.5q27 0 47 20.5t31 71.5h153q-16 -141 -77.5 -209.5t-141.5 -68.5q-41 0 -76 14t-64.5 31.5t-55 32t-50.5 14.5 q-27 0 -47 -20.5t-31 -71.5h-153zM436 553h287l-33 123q-29 100 -54.5 212.5t-53.5 217.5h-9q-23 -106 -49 -218t-55 -212z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1169" d="M-14 0l420 1335h360l420 -1335h-320l-82 317h-409l-82 -317h-307zM232 1577q0 61 40 102t103 41t103.5 -41t40.5 -102t-40.5 -102t-103.5 -41t-103 41t-40 102zM436 553h287l-33 123q-29 100 -54.5 212.5t-53.5 217.5h-9q-23 -106 -49 -218t-55 -212zM637 1577 q0 61 40 102t104 41q63 0 103 -41t40 -102t-40 -102t-103 -41t-103.5 41t-40.5 102z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1169" d="M-14 0l420 1335h360l420 -1335h-320l-82 317h-409l-82 -317h-307zM347 1628q0 92 63.5 146.5t167.5 54.5t167.5 -54.5t63.5 -146.5t-63.5 -146.5t-167.5 -54.5t-167.5 54.5t-63.5 146.5zM436 553h287l-33 123q-29 100 -54.5 212.5t-53.5 217.5h-9q-23 -106 -49 -218 t-55 -212zM494 1628q0 -41 24.5 -64.5t59.5 -23.5t58.5 23.5t23.5 64.5t-23.5 64.5t-58.5 23.5t-59.5 -23.5t-24.5 -64.5z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1728" d="M-29 0l633 1335h998v-254h-510v-268h430v-252h-430v-307h530v-254h-834v305h-362l-139 -305h-316zM532 539h256v569h-8q-41 -98 -81 -194.5t-81 -184.5z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1187" d="M92 659q0 166 51.5 296t138.5 220.5t202.5 137.5t244.5 47q125 0 226.5 -52.5t168.5 -121.5l-166 -187q-51 47 -102 74t-123 27q-70 0 -130 -30t-105 -85t-71 -135t-26 -180q0 -207 88.5 -320.5t235.5 -113.5q84 0 144.5 32.5t109.5 85.5l166 -182q-84 -98 -191.5 -147.5 t-232.5 -49.5q-129 0 -244 44t-201 130.5t-135 214t-49 295.5zM504 -332q74 8 122 28.5t48 61.5q0 27 -25.5 48.5t-95.5 37.5l82 164h176l-41 -96q53 -16 86 -52t33 -100q0 -53 -29.5 -91t-79 -64.5t-115 -40t-138.5 -17.5z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1118" d="M156 0v1335h837v-254h-534v-268h454v-252h-454v-307h555v-254h-858zM256 1683h320l166 -245h-240z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1118" d="M156 0v1335h837v-254h-534v-268h454v-252h-454v-307h555v-254h-858zM434 1438l166 245h320l-246 -245h-240z" />
+<glyph unicode="&#xca;" horiz-adv-x="1118" d="M156 0v1335h837v-254h-534v-268h454v-252h-454v-307h555v-254h-858zM244 1438l197 245h294l197 -245h-231l-109 125h-8l-109 -125h-231z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1118" d="M156 0v1335h837v-254h-534v-268h454v-252h-454v-307h555v-254h-858zM242 1577q0 61 40 102t103 41t103.5 -41t40.5 -102t-40.5 -102t-103.5 -41t-103 41t-40 102zM647 1577q0 61 40 102t104 41q63 0 103 -41t40 -102t-40 -102t-103 -41t-103.5 41t-40.5 102z" />
+<glyph unicode="&#xcc;" horiz-adv-x="614" d="M-25 1683h320l166 -245h-240zM156 0v1335h303v-1335h-303z" />
+<glyph unicode="&#xcd;" horiz-adv-x="614" d="M153 1438l166 245h320l-246 -245h-240zM156 0v1335h303v-1335h-303z" />
+<glyph unicode="&#xce;" horiz-adv-x="614" d="M-37 1438l197 245h294l197 -245h-231l-109 125h-8l-109 -125h-231zM156 0v1335h303v-1335h-303z" />
+<glyph unicode="&#xcf;" horiz-adv-x="614" d="M-39 1577q0 61 40 102t103 41t103.5 -41t40.5 -102t-40.5 -102t-103.5 -41t-103 41t-40 102zM156 0v1335h303v-1335h-303zM366 1577q0 61 40 102t104 41q63 0 103 -41t40 -102t-40 -102t-103 -41t-103.5 41t-40.5 102z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1347" d="M53 616v136l152 10v573h379q154 0 276.5 -39t210.5 -119.5t135 -205.5t47 -297t-47 -299t-133 -210t-205.5 -124t-267.5 -41h-395v616h-152zM508 244h57q84 0 153.5 22.5t120 72.5t78 132t27.5 203q0 119 -27.5 199.5t-78 129t-120 69t-153.5 20.5h-57v-330h258v-146 h-258v-372z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1359" d="M156 0v1335h309l348 -663l133 -295h8q-10 106 -24.5 237t-14.5 250v471h287v-1335h-309l-348 666l-131 290h-8q10 -111 24 -237.5t14 -245.5v-473h-288zM334 1440q16 141 77.5 209.5t141.5 68.5q41 0 76 -14t64.5 -31.5t55 -32t50.5 -14.5q27 0 47 20.5t31 71.5h153 q-16 -141 -77.5 -209.5t-141.5 -68.5q-41 0 -76 14t-64.5 31.5t-55 32t-50.5 14.5q-27 0 -47 -20.5t-31 -71.5h-153z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1398" d="M92 674q0 164 44 292t124 215t191.5 133t246.5 46t247 -46t192 -134t124 -216t44 -290q0 -164 -44 -293t-124 -219t-192 -138.5t-247 -48.5t-246.5 48.5t-191.5 138.5t-124 219t-44 293zM366 1683h320l166 -245h-240zM401 674q0 -100 21.5 -181t59.5 -138.5t93 -88 t123 -30.5q137 0 217 117.5t80 320.5q0 201 -79.5 313.5t-217.5 112.5q-135 0 -216 -113t-81 -313z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1398" d="M92 674q0 164 44 292t124 215t191.5 133t246.5 46t247 -46t192 -134t124 -216t44 -290q0 -164 -44 -293t-124 -219t-192 -138.5t-247 -48.5t-246.5 48.5t-191.5 138.5t-124 219t-44 293zM401 674q0 -100 21.5 -181t59.5 -138.5t93 -88t123 -30.5q137 0 217 117.5 t80 320.5q0 201 -79.5 313.5t-217.5 112.5q-135 0 -216 -113t-81 -313zM544 1438l166 245h320l-246 -245h-240z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1398" d="M92 674q0 164 44 292t124 215t191.5 133t246.5 46t247 -46t192 -134t124 -216t44 -290q0 -164 -44 -293t-124 -219t-192 -138.5t-247 -48.5t-246.5 48.5t-191.5 138.5t-124 219t-44 293zM354 1438l197 245h294l197 -245h-231l-109 125h-8l-109 -125h-231zM401 674 q0 -100 21.5 -181t59.5 -138.5t93 -88t123 -30.5q137 0 217 117.5t80 320.5q0 201 -79.5 313.5t-217.5 112.5q-135 0 -216 -113t-81 -313z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1398" d="M92 674q0 164 44 292t124 215t191.5 133t246.5 46t247 -46t192 -134t124 -216t44 -290q0 -164 -44 -293t-124 -219t-192 -138.5t-247 -48.5t-246.5 48.5t-191.5 138.5t-124 219t-44 293zM350 1440q16 141 77.5 209.5t141.5 68.5q41 0 76 -14t64.5 -31.5t55 -32 t50.5 -14.5q27 0 47 20.5t31 71.5h153q-16 -141 -77.5 -209.5t-141.5 -68.5q-41 0 -76 14t-64.5 31.5t-55 32t-50.5 14.5q-27 0 -47 -20.5t-31 -71.5h-153zM401 674q0 -100 21.5 -181t59.5 -138.5t93 -88t123 -30.5q137 0 217 117.5t80 320.5q0 201 -79.5 313.5 t-217.5 112.5q-135 0 -216 -113t-81 -313z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1398" d="M92 674q0 164 44 292t124 215t191.5 133t246.5 46t247 -46t192 -134t124 -216t44 -290q0 -164 -44 -293t-124 -219t-192 -138.5t-247 -48.5t-246.5 48.5t-191.5 138.5t-124 219t-44 293zM352 1577q0 61 40 102t103 41t103.5 -41t40.5 -102t-40.5 -102t-103.5 -41t-103 41 t-40 102zM401 674q0 -100 21.5 -181t59.5 -138.5t93 -88t123 -30.5q137 0 217 117.5t80 320.5q0 201 -79.5 313.5t-217.5 112.5q-135 0 -216 -113t-81 -313zM757 1577q0 61 40 102t104 41q63 0 103 -41t40 -102t-40 -102t-103 -41t-103.5 41t-40.5 102z" />
+<glyph unicode="&#xd7;" d="M98 381l291 293l-291 295l150 151l293 -295l293 295l149 -151l-291 -295l291 -293l-149 -152l-293 295l-293 -295z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1398" d="M80 35l141 176q-61 88 -95 203.5t-34 259.5q0 164 44 292t124 215t191.5 133t246.5 46q211 0 361 -109l135 168l156 -121l-156 -194q111 -170 111 -430q0 -164 -44 -293t-124 -219t-191.5 -138.5t-247.5 -48.5q-193 0 -336 97l-124 -156zM401 674q0 -59 7.5 -109.5 t19.5 -95.5l451 559q-72 72 -181 72q-135 0 -216 -113t-81 -313zM539 291q72 -55 159 -55q137 0 217 117.5t80 320.5q0 86 -16 164z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1357" d="M150 618v717h301v-747q0 -197 59 -274.5t172 -77.5t175.5 77.5t62.5 274.5v747h290v-717q0 -336 -134 -489.5t-394 -153.5t-396 154t-136 489zM346 1683h320l166 -245h-240z" />
+<glyph unicode="&#xda;" horiz-adv-x="1357" d="M150 618v717h301v-747q0 -197 59 -274.5t172 -77.5t175.5 77.5t62.5 274.5v747h290v-717q0 -336 -134 -489.5t-394 -153.5t-396 154t-136 489zM524 1438l166 245h320l-246 -245h-240z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1357" d="M150 618v717h301v-747q0 -197 59 -274.5t172 -77.5t175.5 77.5t62.5 274.5v747h290v-717q0 -336 -134 -489.5t-394 -153.5t-396 154t-136 489zM334 1438l197 245h294l197 -245h-231l-109 125h-8l-109 -125h-231z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1357" d="M150 618v717h301v-747q0 -197 59 -274.5t172 -77.5t175.5 77.5t62.5 274.5v747h290v-717q0 -336 -134 -489.5t-394 -153.5t-396 154t-136 489zM332 1577q0 61 40 102t103 41t103.5 -41t40.5 -102t-40.5 -102t-103.5 -41t-103 41t-40 102zM737 1577q0 61 40 102t104 41 q63 0 103 -41t40 -102t-40 -102t-103 -41t-103.5 41t-40.5 102z" />
+<glyph unicode="&#xdd;" horiz-adv-x="1073" d="M-16 1335h321l121 -307q27 -76 53.5 -146.5t55.5 -148.5h8q29 78 56.5 148.5t55.5 146.5l119 307h316l-404 -860v-475h-301v475zM383 1438l166 245h320l-246 -245h-240z" />
+<glyph unicode="&#xde;" horiz-adv-x="1269" d="M164 0v1335h301v-202h184q109 0 205 -21.5t167 -72t112 -132.5t41 -202q0 -119 -42 -204t-114 -140.5t-167 -82t-202 -26.5h-184v-252h-301zM465 492h168q244 0 244 213q0 104 -62.5 146t-181.5 42h-168v-401z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1294" d="M133 0v997q0 98 30 182.5t89 145.5t151.5 96t214.5 35q104 0 183.5 -28.5t131.5 -76.5t78.5 -109.5t26.5 -127.5q0 -74 -24.5 -124t-55 -90t-55 -73.5t-24.5 -72.5q0 -35 26.5 -58.5t66.5 -46t87 -49.5t87 -64.5t66.5 -92t26.5 -132.5q0 -70 -23.5 -131t-71.5 -106 t-119 -72t-163 -27t-163.5 25t-145.5 68l104 204q100 -74 195 -73q53 0 83 27.5t30 70.5q0 39 -27 66.5t-67 51t-87 49t-87 59.5t-66.5 80t-26.5 114q0 59 22.5 102t50.5 82t50.5 81t22.5 97q0 59 -34 99.5t-98 40.5q-94 0 -141 -69t-47 -187v-963h-297z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1093" d="M96 283q0 160 135.5 250t436.5 120q-4 68 -41 108t-119 40q-66 0 -131.5 -24.5t-138.5 -67.5l-107 198q98 59 205.5 96t228.5 37q197 0 300.5 -111.5t103.5 -346.5v-582h-246l-23 104h-6q-66 -57 -138.5 -93t-158.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 121.5z M270 1483h291l182 -307h-219zM383 305q0 -49 31.5 -72.5t85.5 -23.5q53 0 90 22.5t78 63.5v178q-162 -23 -223.5 -66t-61.5 -102z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1093" d="M96 283q0 160 135.5 250t436.5 120q-4 68 -41 108t-119 40q-66 0 -131.5 -24.5t-138.5 -67.5l-107 198q98 59 205.5 96t228.5 37q197 0 300.5 -111.5t103.5 -346.5v-582h-246l-23 104h-6q-66 -57 -138.5 -93t-158.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 121.5z M383 305q0 -49 31.5 -72.5t85.5 -23.5q53 0 90 22.5t78 63.5v178q-162 -23 -223.5 -66t-61.5 -102zM407 1176l182 307h291l-254 -307h-219z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1093" d="M96 283q0 160 135.5 250t436.5 120q-4 68 -41 108t-119 40q-66 0 -131.5 -24.5t-138.5 -67.5l-107 198q98 59 205.5 96t228.5 37q197 0 300.5 -111.5t103.5 -346.5v-582h-246l-23 104h-6q-66 -57 -138.5 -93t-158.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 121.5z M260 1176l196 307h238l196 -307h-202l-109 161h-8l-109 -161h-202zM383 305q0 -49 31.5 -72.5t85.5 -23.5q53 0 90 22.5t78 63.5v178q-162 -23 -223.5 -66t-61.5 -102z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1093" d="M96 283q0 160 135.5 250t436.5 120q-4 68 -41 108t-119 40q-66 0 -131.5 -24.5t-138.5 -67.5l-107 198q98 59 205.5 96t228.5 37q197 0 300.5 -111.5t103.5 -346.5v-582h-246l-23 104h-6q-66 -57 -138.5 -93t-158.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 121.5z M235 1178q16 141 73.5 208.5t139.5 67.5q41 0 76 -14.5t63.5 -30.5t54 -30.5t48.5 -14.5q27 0 43 20.5t28 69.5h154q-16 -139 -73.5 -207.5t-139.5 -68.5q-41 0 -75 14t-63.5 31.5t-55 32t-48.5 14.5q-27 0 -43 -20.5t-28 -71.5h-154zM383 305q0 -49 31.5 -72.5t85.5 -23.5 q53 0 90 22.5t78 63.5v178q-162 -23 -223.5 -66t-61.5 -102z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1093" d="M96 283q0 160 135.5 250t436.5 120q-4 68 -41 108t-119 40q-66 0 -131.5 -24.5t-138.5 -67.5l-107 198q98 59 205.5 96t228.5 37q197 0 300.5 -111.5t103.5 -346.5v-582h-246l-23 104h-6q-66 -57 -138.5 -93t-158.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 121.5z M229 1313q0 59 40 100t103 41t103.5 -41t40.5 -100q0 -61 -40.5 -102.5t-103.5 -41.5t-103 41t-40 103zM383 305q0 -49 31.5 -72.5t85.5 -23.5q53 0 90 22.5t78 63.5v178q-162 -23 -223.5 -66t-61.5 -102zM634 1313q0 59 40 100t104 41q63 0 103 -41t40 -100 q0 -61 -40 -102.5t-103 -41.5t-103.5 41t-40.5 103z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1093" d="M96 283q0 160 135.5 250t436.5 120q-4 68 -41 108t-119 40q-66 0 -131.5 -24.5t-138.5 -67.5l-107 198q98 59 205.5 96t228.5 37q197 0 300.5 -111.5t103.5 -346.5v-582h-246l-23 104h-6q-66 -57 -138.5 -93t-158.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 121.5z M344 1331q0 96 63.5 152.5t167.5 56.5t167.5 -56.5t63.5 -152.5t-63.5 -152.5t-167.5 -56.5t-167.5 56.5t-63.5 152.5zM383 305q0 -49 31.5 -72.5t85.5 -23.5q53 0 90 22.5t78 63.5v178q-162 -23 -223.5 -66t-61.5 -102zM491 1331q0 -43 24.5 -69.5t59.5 -26.5t59.5 26.5 t24.5 69.5t-24.5 69.5t-59.5 26.5t-59.5 -26.5t-24.5 -69.5z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1609" d="M96 281q0 162 133 253t433 121q-4 66 -38 106t-120 40q-61 0 -127 -24.5t-139 -67.5l-107 198q98 59 201.5 96t214.5 37q94 0 165.5 -41t116.5 -112q66 74 137.5 113.5t163.5 39.5q100 0 176 -37.5t126.5 -104.5t76 -157t25.5 -194q0 -41 -4 -75t-8 -52h-586 q16 -106 83.5 -157.5t160.5 -51.5q57 0 108 20.5t107 53.5l102 -195q-78 -53 -173 -84t-185 -31q-115 0 -200 43t-151 115q-109 -86 -198.5 -122t-192.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 119.5zM383 305q0 -49 31.5 -72.5t85.5 -23.5q53 0 101 22.5t89 63.5 q-23 63 -28 135l-3 43q-150 -23 -213 -66t-63 -102zM936 604h342q0 92 -37 149.5t-121 57.5q-72 0 -122 -50t-62 -157z" />
+<glyph unicode="&#xe7;" horiz-adv-x="956" d="M74 508q0 127 43 226.5t115.5 167t169 103t200.5 35.5q94 0 170 -31.5t127 -84.5l-137 -187q-72 59 -141 60q-111 0 -174.5 -78t-63.5 -211t64.5 -211t162.5 -78q55 0 100.5 22.5t82.5 51.5l120 -191q-74 -66 -164 -96.5t-174 -30.5q-106 0 -197 36t-158.5 103.5 t-106.5 167t-39 226.5zM367 -332q74 8 122 28.5t48 61.5q0 27 -25.5 48.5t-95.5 37.5l82 164h176l-41 -96q53 -16 86 -52t33 -100q0 -53 -29.5 -91t-79 -64.5t-115 -40t-138.5 -17.5z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1060" d="M74 508q0 123 41 222t107.5 168t152.5 105.5t178 36.5q109 0 189.5 -36.5t135 -102t81 -155t26.5 -193.5q0 -41 -4 -75t-8 -52h-608q20 -117 90.5 -169t173.5 -52q109 0 219 67l100 -182q-78 -53 -173 -84t-187 -31q-109 0 -203 36t-163.5 104.5t-108.5 167t-39 225.5z M248 1483h291l182 -307h-219zM362 612h367q0 88 -39 143.5t-131 55.5q-72 0 -126 -48t-71 -151z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1060" d="M74 508q0 123 41 222t107.5 168t152.5 105.5t178 36.5q109 0 189.5 -36.5t135 -102t81 -155t26.5 -193.5q0 -41 -4 -75t-8 -52h-608q20 -117 90.5 -169t173.5 -52q109 0 219 67l100 -182q-78 -53 -173 -84t-187 -31q-109 0 -203 36t-163.5 104.5t-108.5 167t-39 225.5z M362 612h367q0 88 -39 143.5t-131 55.5q-72 0 -126 -48t-71 -151zM385 1176l182 307h291l-254 -307h-219z" />
+<glyph unicode="&#xea;" horiz-adv-x="1060" d="M74 508q0 123 41 222t107.5 168t152.5 105.5t178 36.5q109 0 189.5 -36.5t135 -102t81 -155t26.5 -193.5q0 -41 -4 -75t-8 -52h-608q20 -117 90.5 -169t173.5 -52q109 0 219 67l100 -182q-78 -53 -173 -84t-187 -31q-109 0 -203 36t-163.5 104.5t-108.5 167t-39 225.5z M238 1176l196 307h238l196 -307h-202l-109 161h-8l-109 -161h-202zM362 612h367q0 88 -39 143.5t-131 55.5q-72 0 -126 -48t-71 -151z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1060" d="M74 508q0 123 41 222t107.5 168t152.5 105.5t178 36.5q109 0 189.5 -36.5t135 -102t81 -155t26.5 -193.5q0 -41 -4 -75t-8 -52h-608q20 -117 90.5 -169t173.5 -52q109 0 219 67l100 -182q-78 -53 -173 -84t-187 -31q-109 0 -203 36t-163.5 104.5t-108.5 167t-39 225.5z M207 1313q0 59 40 100t103 41t103.5 -41t40.5 -100q0 -61 -40.5 -102.5t-103.5 -41.5t-103 41t-40 103zM362 612h367q0 88 -39 143.5t-131 55.5q-72 0 -126 -48t-71 -151zM612 1313q0 59 40 100t104 41q63 0 103 -41t40 -100q0 -61 -40 -102.5t-103 -41.5t-103.5 41 t-40.5 103z" />
+<glyph unicode="&#xec;" horiz-adv-x="565" d="M-22 1483h291l182 -307h-219zM133 0v1016h301v-1016h-301z" />
+<glyph unicode="&#xed;" horiz-adv-x="565" d="M115 1176l182 307h291l-254 -307h-219zM133 0v1016h301v-1016h-301z" />
+<glyph unicode="&#xee;" horiz-adv-x="565" d="M-32 1176l196 307h238l196 -307h-202l-109 161h-8l-109 -161h-202zM133 0v1016h301v-1016h-301z" />
+<glyph unicode="&#xef;" horiz-adv-x="565" d="M-63 1313q0 59 40 100t103 41t103.5 -41t40.5 -100q0 -61 -40.5 -102.5t-103.5 -41.5t-103 41t-40 103zM133 0v1016h301v-1016h-301zM342 1313q0 59 40 100t104 41q63 0 103 -41t40 -100q0 -61 -40 -102.5t-103 -41.5t-103.5 41t-40.5 103z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1146" d="M86 467q0 111 35 197t93 145t133 91t155 32q59 0 116.5 -19.5t100.5 -66.5q-53 158 -174 272l-291 -145l-78 133l238 119q-41 29 -87 55.5t-98 52.5l131 183q72 -37 143.5 -80t139.5 -95l293 148l78 -133l-246 -125q121 -123 198.5 -290t77.5 -396q0 -123 -33.5 -227.5 t-96 -180.5t-152.5 -119t-203 -43q-96 0 -181 35t-150.5 98.5t-103.5 154.5t-38 204zM360 467q0 -121 62.5 -184.5t146.5 -63.5q86 0 140.5 75t54.5 234v47.5t-2 45.5q-47 51 -96.5 69.5t-102.5 18.5q-90 0 -146.5 -59.5t-56.5 -182.5z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1171" d="M133 0v1016h246l20 -129h9q66 61 143.5 107t181.5 46q166 0 241 -108.5t75 -300.5v-631h-301v592q0 111 -30 151.5t-95 40.5q-57 0 -98.5 -25.5t-90.5 -72.5v-686h-301zM291 1178q16 141 73.5 208.5t139.5 67.5q41 0 76 -14.5t63.5 -30.5t54 -30.5t48.5 -14.5 q27 0 43 20.5t28 69.5h154q-16 -139 -73.5 -207.5t-139.5 -68.5q-41 0 -75 14t-63.5 31.5t-55 32t-48.5 14.5q-27 0 -43 -20.5t-28 -71.5h-154z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1136" d="M74 508q0 127 41 226.5t109.5 167t158.5 103t186 35.5t185.5 -35.5t158 -103t109.5 -167t41 -226.5t-41 -226.5t-109.5 -167t-157.5 -103.5t-186 -36q-96 0 -186 36t-158.5 103.5t-109.5 167t-41 226.5zM262 1483h291l182 -307h-219zM383 508q0 -133 46 -211t140 -78 q92 0 139.5 78t47.5 211t-47 211t-140 78q-94 0 -140 -78t-46 -211z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1136" d="M74 508q0 127 41 226.5t109.5 167t158.5 103t186 35.5t185.5 -35.5t158 -103t109.5 -167t41 -226.5t-41 -226.5t-109.5 -167t-157.5 -103.5t-186 -36q-96 0 -186 36t-158.5 103.5t-109.5 167t-41 226.5zM383 508q0 -133 46 -211t140 -78q92 0 139.5 78t47.5 211t-47 211 t-140 78q-94 0 -140 -78t-46 -211zM399 1176l182 307h291l-254 -307h-219z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1136" d="M74 508q0 127 41 226.5t109.5 167t158.5 103t186 35.5t185.5 -35.5t158 -103t109.5 -167t41 -226.5t-41 -226.5t-109.5 -167t-157.5 -103.5t-186 -36q-96 0 -186 36t-158.5 103.5t-109.5 167t-41 226.5zM252 1176l196 307h238l196 -307h-202l-109 161h-8l-109 -161h-202z M383 508q0 -133 46 -211t140 -78q92 0 139.5 78t47.5 211t-47 211t-140 78q-94 0 -140 -78t-46 -211z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1136" d="M74 508q0 127 41 226.5t109.5 167t158.5 103t186 35.5t185.5 -35.5t158 -103t109.5 -167t41 -226.5t-41 -226.5t-109.5 -167t-157.5 -103.5t-186 -36q-96 0 -186 36t-158.5 103.5t-109.5 167t-41 226.5zM227 1178q16 141 73.5 208.5t139.5 67.5q41 0 76 -14.5t63.5 -30.5 t54 -30.5t48.5 -14.5q27 0 43 20.5t28 69.5h154q-16 -139 -73.5 -207.5t-139.5 -68.5q-41 0 -75 14t-63.5 31.5t-55 32t-48.5 14.5q-27 0 -43 -20.5t-28 -71.5h-154zM383 508q0 -133 46 -211t140 -78q92 0 139.5 78t47.5 211t-47 211t-140 78q-94 0 -140 -78t-46 -211z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1136" d="M74 508q0 127 41 226.5t109.5 167t158.5 103t186 35.5t185.5 -35.5t158 -103t109.5 -167t41 -226.5t-41 -226.5t-109.5 -167t-157.5 -103.5t-186 -36q-96 0 -186 36t-158.5 103.5t-109.5 167t-41 226.5zM221 1313q0 59 40 100t103 41t103.5 -41t40.5 -100 q0 -61 -40.5 -102.5t-103.5 -41.5t-103 41t-40 103zM383 508q0 -133 46 -211t140 -78q92 0 139.5 78t47.5 211t-47 211t-140 78q-94 0 -140 -78t-46 -211zM626 1313q0 59 40 100t104 41q63 0 103 -41t40 -100q0 -61 -40 -102.5t-103 -41.5t-103.5 41t-40.5 103z" />
+<glyph unicode="&#xf7;" d="M70 569v213h942v-213h-942zM375 307q0 70 47 114t119 44t119 -44t47 -114t-47.5 -113.5t-118.5 -43.5q-72 0 -119 43.5t-47 113.5zM375 1044q0 70 47 114t119 44t119 -44t47 -114t-47 -113.5t-119 -43.5t-119 44t-47 113z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1136" d="M74 508q0 127 41 226.5t109.5 167t158.5 103t186 35.5q72 0 141.5 -20.5t129.5 -58.5l90 110l112 -88l-96 -119q53 -68 85 -157t32 -199q0 -127 -41 -226.5t-109.5 -167t-157.5 -103.5t-186 -36q-152 0 -274 82l-88 -108l-113 86l96 119q-53 66 -84.5 154.5t-31.5 199.5z M365 524q0 -82 14 -137l305 381q-45 39 -115 39q-94 0 -149 -77t-55 -206zM451 250q47 -41 118 -41q92 0 147.5 76.5t55.5 206.5q0 84 -14 139z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1163" d="M123 385v631h301v-592q0 -111 30.5 -152t96.5 -41q57 0 96 27t84 86v672h301v-1016h-246l-22 141h-6q-66 -78 -140.5 -122t-179.5 -44q-166 0 -240.5 109t-74.5 301zM279 1483h291l182 -307h-219z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1163" d="M123 385v631h301v-592q0 -111 30.5 -152t96.5 -41q57 0 96 27t84 86v672h301v-1016h-246l-22 141h-6q-66 -78 -140.5 -122t-179.5 -44q-166 0 -240.5 109t-74.5 301zM416 1176l182 307h291l-254 -307h-219z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1163" d="M123 385v631h301v-592q0 -111 30.5 -152t96.5 -41q57 0 96 27t84 86v672h301v-1016h-246l-22 141h-6q-66 -78 -140.5 -122t-179.5 -44q-166 0 -240.5 109t-74.5 301zM269 1176l196 307h238l196 -307h-202l-109 161h-8l-109 -161h-202z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1163" d="M123 385v631h301v-592q0 -111 30.5 -152t96.5 -41q57 0 96 27t84 86v672h301v-1016h-246l-22 141h-6q-66 -78 -140.5 -122t-179.5 -44q-166 0 -240.5 109t-74.5 301zM238 1313q0 59 40 100t103 41t103.5 -41t40.5 -100q0 -61 -40.5 -102.5t-103.5 -41.5t-103 41t-40 103z M643 1313q0 59 40 100t104 41q63 0 103 -41t40 -100q0 -61 -40 -102.5t-103 -41.5t-103.5 41t-40.5 103z" />
+<glyph unicode="&#xfd;" horiz-adv-x="1067" d="M25 1016h303l145 -436q23 -70 41 -141.5t39 -147.5h8q16 72 33.5 144.5t36.5 144.5l123 436h288l-352 -1026q-37 -96 -77 -169t-92 -121t-118.5 -72.5t-156.5 -24.5q-47 0 -80 5t-64 15l54 230q14 -4 32.5 -8.5t34.5 -4.5q76 0 117 37t61 96l15 54zM377 1176l182 307h291 l-254 -307h-219z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1173" d="M133 -377v1813h301v-353l-8 -143q53 47 118.5 73.5t135.5 26.5q96 0 173 -36.5t130 -104.5t82 -163t29 -212q0 -131 -36 -232.5t-96.5 -172t-137 -107.5t-158.5 -37q-74 0 -130.5 25t-109.5 72l8 -152v-297h-301zM434 287q41 -37 82 -51.5t80 -14.5q78 0 133 70.5 t55 228.5q0 274 -176 275q-88 0 -174 -93v-415z" />
+<glyph unicode="&#xff;" horiz-adv-x="1067" d="M25 1016h303l145 -436q23 -70 41 -141.5t39 -147.5h8q16 72 33.5 144.5t36.5 144.5l123 436h288l-352 -1026q-37 -96 -77 -169t-92 -121t-118.5 -72.5t-156.5 -24.5q-47 0 -80 5t-64 15l54 230q14 -4 32.5 -8.5t34.5 -4.5q76 0 117 37t61 96l15 54zM199 1313q0 59 40 100 t103 41t103.5 -41t40.5 -100q0 -61 -40.5 -102.5t-103.5 -41.5t-103 41t-40 103zM604 1313q0 59 40 100t104 41q63 0 103 -41t40 -100q0 -61 -40 -102.5t-103 -41.5t-103.5 41t-40.5 103z" />
+<glyph unicode="&#x152;" horiz-adv-x="1779" d="M92 674q0 172 51.5 297t143.5 205.5t218 119.5t273 39h877v-254h-508v-268h428v-252h-428v-307h528v-254h-913q-141 0 -264 41t-213 124t-141.5 210t-51.5 299zM401 674q0 -121 29 -204t81 -133t125 -71.5t161 -21.5h49v848h-49q-88 0 -161 -20.5t-125 -69t-81 -128 t-29 -200.5z" />
+<glyph unicode="&#x153;" horiz-adv-x="1683" d="M74 508q0 127 39 226.5t104.5 167t152.5 103t183 35.5q109 0 189.5 -47t140.5 -131q61 86 145 132t176 46q100 0 176 -37.5t127.5 -104.5t77 -157t25.5 -194q0 -41 -4 -75t-9 -52h-587q16 -106 83.5 -157.5t159.5 -51.5q57 0 108.5 20.5t106.5 53.5l105 -195 q-78 -53 -174 -84t-187 -31q-92 0 -178 46.5t-149 132.5q-63 -88 -144.5 -133.5t-193.5 -45.5q-98 0 -184.5 36t-151 103.5t-101 167t-36.5 226.5zM379 508q0 -133 45 -211t129 -78t131 78t47 211t-47 211t-131 78t-129 -78t-45 -211zM1010 604h342q0 92 -37 149.5 t-121 57.5q-72 0 -122 -50t-62 -157z" />
+<glyph unicode="&#x178;" horiz-adv-x="1073" d="M-16 1335h321l121 -307q27 -76 53.5 -146.5t55.5 -148.5h8q29 78 56.5 148.5t55.5 146.5l119 307h316l-404 -860v-475h-301v475zM191 1577q0 61 40 102t103 41t103.5 -41t40.5 -102t-40.5 -102t-103.5 -41t-103 41t-40 102zM596 1577q0 61 40 102t104 41q63 0 103 -41 t40 -102t-40 -102t-103 -41t-103.5 41t-40.5 102z" />
+<glyph unicode="&#x2c6;" horiz-adv-x="1136" d="M254 1176l196 307h238l196 -307h-202l-109 161h-8l-109 -161h-202z" />
+<glyph unicode="&#x2dc;" horiz-adv-x="1136" d="M229 1178q16 141 73.5 208.5t139.5 67.5q41 0 76 -14.5t63.5 -30.5t54 -30.5t48.5 -14.5q27 0 43 20.5t28 69.5h154q-16 -139 -73.5 -207.5t-139.5 -68.5q-41 0 -75 14t-63.5 31.5t-55 32t-48.5 14.5q-27 0 -43 -20.5t-28 -71.5h-154z" />
+<glyph unicode="&#x2000;" horiz-adv-x="914" />
+<glyph unicode="&#x2001;" horiz-adv-x="1829" />
+<glyph unicode="&#x2002;" horiz-adv-x="914" />
+<glyph unicode="&#x2003;" horiz-adv-x="1829" />
+<glyph unicode="&#x2004;" horiz-adv-x="609" />
+<glyph unicode="&#x2005;" horiz-adv-x="457" />
+<glyph unicode="&#x2006;" horiz-adv-x="304" />
+<glyph unicode="&#x2007;" horiz-adv-x="304" />
+<glyph unicode="&#x2008;" horiz-adv-x="228" />
+<glyph unicode="&#x2009;" horiz-adv-x="365" />
+<glyph unicode="&#x200a;" horiz-adv-x="101" />
+<glyph unicode="&#x2010;" horiz-adv-x="679" d="M88 412v213h504v-213h-504z" />
+<glyph unicode="&#x2011;" horiz-adv-x="679" d="M88 412v213h504v-213h-504z" />
+<glyph unicode="&#x2012;" horiz-adv-x="679" d="M88 412v213h504v-213h-504z" />
+<glyph unicode="&#x2013;" horiz-adv-x="983" d="M88 422v192h807v-192h-807z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1638" d="M88 422v192h1462v-192h-1462z" />
+<glyph unicode="&#x2018;" horiz-adv-x="614" d="M113 961q0 145 71.5 255.5t218.5 182.5l66 -131q-92 -47 -138 -107.5t-46 -152.5q6 2 20 2q66 0 112 -40t46 -110q0 -78 -45 -123t-113 -45q-96 0 -144 71t-48 198z" />
+<glyph unicode="&#x2019;" horiz-adv-x="614" d="M145 852q92 47 138.5 107.5t46.5 152.5q-6 -2 -19 -2q-66 0 -111.5 40t-45.5 110q0 78 44 122.5t113 44.5q94 0 143.5 -69.5t49.5 -198.5q0 -145 -73 -255.5t-220 -182.5z" />
+<glyph unicode="&#x201a;" horiz-adv-x="614" d="M145 -213q92 47 138.5 107.5t46.5 152.5q-6 -2 -19 -2q-66 0 -111.5 40t-45.5 110q0 78 44 122.5t113 44.5q94 0 143.5 -69.5t49.5 -198.5q0 -145 -73 -255.5t-220 -182.5z" />
+<glyph unicode="&#x201c;" horiz-adv-x="1097" d="M113 961q0 145 71.5 255.5t218.5 182.5l66 -131q-92 -47 -138 -107.5t-46 -152.5q6 2 20 2q66 0 112 -40t46 -110q0 -78 -45 -123t-113 -45q-96 0 -144 71t-48 198zM596 961q0 145 71.5 255.5t218.5 182.5l66 -131q-92 -47 -138 -107.5t-46 -152.5q6 2 20 2q66 0 112 -40 t46 -110q0 -78 -45 -123t-113 -45q-96 0 -144 71t-48 198z" />
+<glyph unicode="&#x201d;" horiz-adv-x="1097" d="M145 852q92 47 138.5 107.5t46.5 152.5q-6 -2 -19 -2q-66 0 -111.5 40t-45.5 110q0 78 44 122.5t113 44.5q94 0 143.5 -69.5t49.5 -198.5q0 -145 -73 -255.5t-220 -182.5zM628 852q92 47 138.5 107.5t46.5 152.5q-6 -2 -19 -2q-66 0 -111.5 40t-45.5 110q0 78 44 122.5 t113 44.5q94 0 143.5 -69.5t49.5 -198.5q0 -145 -73 -255.5t-220 -182.5z" />
+<glyph unicode="&#x201e;" horiz-adv-x="1097" d="M145 -213q92 47 138.5 107.5t46.5 152.5q-6 -2 -19 -2q-66 0 -111.5 40t-45.5 110q0 78 44 122.5t113 44.5q94 0 143.5 -69.5t49.5 -198.5q0 -145 -73 -255.5t-220 -182.5zM628 -213q92 47 138.5 107.5t46.5 152.5q-6 -2 -19 -2q-66 0 -111.5 40t-45.5 110q0 78 44 122.5 t113 44.5q94 0 143.5 -69.5t49.5 -198.5q0 -145 -73 -255.5t-220 -182.5z" />
+<glyph unicode="&#x2022;" horiz-adv-x="706" d="M82 537q0 61 20.5 113t57.5 90t86 59.5t106 21.5t107.5 -21.5t87.5 -59.5t57.5 -90t20.5 -113t-20.5 -112.5t-57.5 -90.5t-87.5 -60.5t-107.5 -21.5t-106 21.5t-86 60.5t-57.5 90t-20.5 113z" />
+<glyph unicode="&#x2026;" horiz-adv-x="2000" d="M156 164q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5zM834 164q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5zM1511 164q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5 t-130 -54.5t-130 54.5t-52 134.5z" />
+<glyph unicode="&#x202f;" horiz-adv-x="365" />
+<glyph unicode="&#x2039;" horiz-adv-x="598" d="M100 410v213l275 295l112 -91l-227 -311l227 -311l-112 -90z" />
+<glyph unicode="&#x203a;" horiz-adv-x="598" d="M111 205l227 311l-227 311l112 91l275 -295v-213l-275 -295z" />
+<glyph unicode="&#x205f;" horiz-adv-x="457" />
+<glyph unicode="&#x20ac;" d="M43 440v142l111 8q-2 14 -2 26.5v26.5v26.5t2 26.5h-111v140l127 10q25 115 74 204t119.5 150.5t158.5 93t191 31.5q92 0 180 -41t154 -119l-168 -161q-39 39 -81 63.5t-96 24.5q-88 0 -146 -63.5t-83 -180.5h438v-152h-456v-43v-30.5t2 -28.5h372v-154h-352 q29 -113 87.5 -172t144.5 -59q59 0 103 28.5t85 81.5l166 -155q-74 -92 -168 -140.5t-205 -48.5q-193 0 -333 118t-187 347h-127z" />
+<glyph unicode="&#x2122;" horiz-adv-x="1396" d="M8 1206v178h551v-178h-178v-465h-195v465h-178zM647 741v643h227l78 -184l41 -137h8l43 137l76 184h230v-643h-191v197l23 236h-8l-109 -338h-133l-109 338h-8l23 -236v-197h-191z" />
+<glyph unicode="&#xe000;" horiz-adv-x="1013" d="M0 0v1014h1014v-1014h-1014z" />
+<glyph unicode="&#xfb01;" horiz-adv-x="1300" d="M49 780v224l135 10v55q0 80 19.5 151.5t64.5 125t117 84t174 30.5q63 0 115.5 -12t87.5 -25l-55 -221q-57 20 -105 21q-55 0 -86 -34t-31 -112v-61h183v-236h-183v-780h-301v780h-135zM844 1323q0 70 49 113t125 43q78 0 126 -43t48 -113t-48 -114t-126 -44 q-76 0 -125 44t-49 114zM868 0v1016h301v-1016h-301z" />
+<glyph unicode="&#xfb02;" horiz-adv-x="1284" d="M49 780v224l135 10v55q0 80 19.5 151.5t64.5 125t117 84t174 30.5q63 0 115.5 -12t87.5 -25l-55 -221q-57 20 -105 21q-55 0 -86 -34t-31 -112v-61h183v-236h-183v-780h-301v780h-135zM831 315v1121h301v-1133q0 -47 17.5 -65.5t35.5 -18.5h17.5t19.5 4l37 -223 q-25 -10 -62.5 -17.5t-88.5 -7.5q-78 0 -131.5 25t-85 69t-46 106.5t-14.5 139.5z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.ttf b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..bf5f60a6654b6728bd8804436562f331a770af8c
GIT binary patch
literal 53496
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
EKXHMmdjJ3c

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.woff b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.woff
new file mode 100644
index 0000000000000000000000000000000000000000..42ca5dc005aabb888fac8dbc810c5c20f88e67b4
GIT binary patch
literal 26700
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
VksCy`0d1-%@&Et<Q7em4006vjP&EJm

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/images/banner1.jpg b/app/design/frontend/magento_plushe/images/banner1.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5f91054dab522771221d545690835a01f72e33cc
GIT binary patch
literal 27699
zcmbSyWl&t*wqO$=1Og$ry9K9lcPEXzYjAf>LIMO2?(Xh1?(S~gK+s?fp|Rk@ci+8l
zW~yGzk6Cr9x18l?ZQuR8^1KBgl<~3s1OO-~Fah2G{x>|I0I;MzE$n>(2mqv)YE=N>
zc?;3m#>2x!ke%Jhoz2YB+1!fF!r77C$IOKt$i~4A5Ek=sF|)9@@}M-gvbJ>+p+0Nx
zrlz#D6rtAP0das_q^xXg<^9~OH2jn`E&S{)1T3k=L@9-R1brM`9IZUeD196qoZJO{
zM5zD8T<|6TPc=I=<-bro>_w<0{*g+l3sR+&a(1(#<YD7rwcz08pyUOz0lB#O`1n{T
zIXQqF>>QlzKu%U5pCA{fAO{EKzk&Kinw#Y(L3L@_f6IC)iBSLBC~t3XHg7IAXE$qh
zpn!nDKRh@&Szj<%-F=-r%zRj#+-d&9LE6gQ!p+vj!`9h}@*j?7=FXlTBGfOM{+9`k
zE+Ei<GyWgF<>>g2UH`&%_fWU`-)j7i*zTIXE>`U7R_@N8ZWdNA=rsQ!e(~M^ThKp<
zFWLyIxY@pZ6f*~DXA4h9D<=;HX%Xs|H*A)+mVz8WehwgzkDG&!lY^HZ2o&Iy<PhMJ
z<N*rs%K*8h`2NG=f1;J-<>2Sxl$PcP%18r&GMo~!0^G7voU)u;T)f-@+`RvxRd90m
zFmtl7`j1@O7rFnYmHL0u3QD<InRz(7X*xSQ{3ilbZJa%v-EEv*D5W%bC_!cxwod<)
z|M@)sWv#T8o2{3XrL3E?BjvyRD`@*a$mfxek>=-@=HlY|FT45qfU*+264LzKoSa<z
ze3I1vrnUV4@frJzGVK2Z$Nv#5|EYS3z<;v;9r`bY|86{1PA@IS?WJivp90?fE8qc^
zJugiV;TZz>4tVw7fcTO_M0)u}L_$XT2asPQ{|jEfMnQRlg7O*_6%7p)75)DP1Vltc
zWF%zN*RN4A-lD$6z<l=tn3(@U`gel<U#0(>?!QaVJpimXfFr;WA_5lR6&3;_7Q*uY
z01N=ULPYon{?msbzeYlNgNXVH;iU)p=hc7eUs6OQgjdLb*Y5$ZUQz^PB$OAmU$6lP
zuMn}2094q>uYnS3)Ho<+u3tIh@+4`vaNpGRs+;4@21{{k{&9=fz~4I0PoR~qxA?Br
zx9$Foj)3q*l^4riAt56oBE5LzA9uaNqCx~>BT1;4xpLxsjmx7({!=H}JBzz@u1;gl
z<rb_#i}$<+Ku3I04+{|sAO;v;x<1v<{ShX6bn2Q6*U?y#!`7!9vxzCEw)Ru6Cr0=~
z_+76YhjnfXcZ6cBra|!u?#dRmr*5dG-$MV%zYJ5IS*7szkIFXP=sG{>Tz84sc=1`+
z25W1KkS>klGAAm1nt$C~d69fHTm1WOZS2ZSnnbNHfzv?{$0hRbKeqLll~25ccu^Aa
zWpP({E$2!=oJ89Ul>FxlV6VVjZ9(>KK;pMjRqse^VnNlIZ0KtZwmfx_rHRT!=4HGM
z6Wg3lO-S(?tJmZHtj9QblV-;9jj0slO;qg^ev#(g*NIG9x^k=A;r-YJ_IYoPHHTeJ
z6W7sv==F|9nMF#GP-9Ep0A1Z?0im-WSd%Fz<JQvP8StULsf)_QudaR7+h=9Qw~9=H
z1|pSA?{lrxb6|C2nxpl}vu>5V?|Oeoi`sx_7wkGeh=VKEfa``_8`xBfEF<^H2Pck+
z!S{NQW}s=%FwGD3zIiN`1cS_#$#Q05qu^ZfI)!s6-7=znNLH`f#~po;YrDMGe#Y2@
z^gd*meEs)(h;wap^OH6OO(yJA<meY-<ZjHcrZ)xso?JN##<Wcbq^8D!5Ba^}s{E{S
z76SA7ngmf4R~vV^kYz@0oiK0jpjJ^*8^dE(YLUUr-kU0w#m3G+YFc@OTTKj=OLR2V
zzhUZdIn?WB?dmO`8P$kTW(vbL&tZo@%q-zT^^z;F^BM7dNtBS0qrjx&OH*vZC_DG`
z53t3r7L`$P$ST+9+D&ZdMOC`({^(O_rQgY$CSwE?@O;+(;IS11Qxc5|?5ccjG@Y$L
zU}COCuZAm?X_Z|ooc5MUvorD@#e7=R&@sgm4EA?r%x^bn?U%fX>0IelRD~)5bBWan
z?@@UeP#tAk7p=o4#<mLWcEf-E-9Gerzo<|KWd0S=b@5{{PLaZ1;QO0VnJ4PjbpP4`
zQ%EVQWdt|h;oWZMGGz?68ELk9J8{$(k<?->MY2$X3Nw@|Ug-zU+0lwk_$q><Y-2FJ
zK6+`8;l&{E&H!b!U48<BmlJ}4(!d5qb7;iFa)7xQNajv*yLx3gp}=}*^-v7_c9s?{
z!2B{on#p%Vx`<}x@pybH>ik+iKXX3F_dGPoJeJ@Pf(~NbBNh|AOAR+o_Y6Qo%V60d
zxj5Pgi&FM4%Up%;vY}jIr1?iZyP2O#!%Sv3F6s6RYv$YM#Mnn!*jQ+E4$x=QXt=Kh
zb4t+nVq)7+hLf0b<nEKai49^wkGAQP$Bwu{mELGs0A^N@C~~NvN)Y#5{&~zqwFpto
zqg<^0%I*FY-Qa@PpHoS)vG;y)ZeLTsE~Q_Y>8*apbrO-<f;d=DLh)8*KxoyUHz*%<
zU$2T_O{p2l*yrdqmt~Bu@{UI@S;SXjDG1cu;9}O`Ut2E?vqTp45csE5kVeZxe4_3x
zIf<(V50$h4&j7}Ab4@BTD>!w7AA6ed*+#|%WYL!|`g#fqp2TH>&v@I}nf@6^&NnRy
zc3VtDp3o6yh_8&7ABMXjx5T~9vRMs9T(Jov^kaucBkgvUEo`!4q?C5B+x!lGVpi%b
z$F1FS<M^~(h~Vskhd^7KpA(8QY}amOHWA&j7!+ryKtBC80oR)(gVkpG1`B7i$Zq(s
zAA9<ZtqZVMV7;F9zG>e@GTi<>HypOWX1sKKnaR#lEd?CNM`)R+5_PXw-WT^w_u2<y
zB{0U(SK>A_8~o_?6)v62VOJM=hc~L*_U>2Vj=Do%-|Cwf4qfzJ_p4uwipnRpV?b?O
zc5<awZpl_rNx8AE6CxRDeGT_|fT2UgoV^#008d<`4}SKEkyS3kP(|yjQz3hAxEj9g
zn<HeKz)eV`Z1o<4{EAUL>b@IsahCkV{F)zTC?SYSHZ$$~k<H{61?>J@^hjvsQ!{5z
zy42Js*Hqm>J4`Ub%BIAbt2cuTO?U8H&xo|e3yZU2mON-h!U4X4?Vc)~x2fpZU%AD|
z)mM%U?FiU_Vr1o+*Ts)5EVkRP4U!vW?hi<Fjom0ZEM;`dv~E*FN37;jQRogxel&5_
z9F=(Q@-;tYI<&uPoL8WSwL+zh)BwpYrMt^qt3UcdDTw3iovOLK$|OflTLs3y&CH`O
zP<-iVejx)D#)(g*fxD-X-z+ZW;!de~Hv}e*3Zq?hA?3v0C~hi?A=c^4@()8a;a73?
zu+JsN__@4$k17EP)Sz|9Va<KrAt6#L*P%3?Sy-B>uAf4mR}zNBfY(7PW>&5q$zh-z
zLb6_`0R|pkzRc(2cZ2rMeP9*(F+y&_;9J)ZMYP5}KnKiI>8XQ(r_?j`KhFSd$D7o8
zd~f^&c@(!M`SGsAp~k&ufIipx@Y5>WLE8(0|0{=}5`DPAn*lF_vECN_k=EBSFzGS5
zn@Dt7_C4&|?x?QUUw1`wT&J~to&m+A%bpLr)euUEQ+}{l1S2`h0(v?ZePw^mM|OcR
zrolaA2AAsDgAxGb6;BOzoiF}(B|)OK0tl4@D@%i4voS}+EY%&kkfQ~8q!J<Pdk<X;
zO~j}790aOOl*W$bW1e)VV~vA$qcYZ`UL5L*Y?{ZBLvq|ve8+smSRmv-iY&cVznyI+
zF=0bF1e9UyWLmPZ^L+eZ2v~qW`58bJm=F}*+&RV|`o7-BB0+S)A{b8Pcf&Z4p)^wK
ztGw(x*!u4Gu#;J3Gw08QW+htCc8tV{73D8rw3hBkiJUa!Bzl5??He_i0J@$arK1y~
zv4SH4RUudHxU`hoU9B!72UnuS&Taq<^3^{n_(M8c&3YIQGKyiC&B<Vcc_nj&jL+&}
ze7G90i?tagPC9q0$Ifm6VO=rk!FtS*#!Q0G|0^GnBdnw6yy9IxEfHFv<@Ri3oZb}2
zf=0SQ`)?ijjWw*Fr3JRvsxzkLXrk2dqm1iJ?@J(#JKAqHu$dWoCj1Q`k<M0DNO7;6
zS=Dso&|;2k-<}C<YZsAWBM147KWc9B)+An@9nK?P@2w)<SU{Im4SJmrm0VDt-YkoK
zA&j2Vr@U0s#>S~*N^bs&^04{_@c=fMC{!Qgco2^KaZLtxm^(fi+b8-pl8F@ygYU>P
zBy@?ksHri&j%LU&(DzZd-noKNMu{nfy}-Sx(QwN4RRKgY-VQ?@m*$e})+|Vdi6SZ;
zl$cYYI^N>fK6I^!g}*phwZ*(n8)an|(-+i%|Mo=Ex5zMw<rH`b+Z%B0;K=SH&T>KB
za+cN?h+pVzW>@hBy;b7W^cOqnn+}h=M19gEP#<pkwY>C;pwTHSxP`PO4Zk#L?AuY0
ziG%Cf0L)E&71t+Sod$7xp{FxB@_sa}V(D!)qZr<1^X0CA{bmO@xFP0<KCMt2iK*1?
zh<h+EMq%kIO`MHyio4Acbm$VGRoE=2>P8j!qaXGRSUyKV{<w*#cQ@_eyLosvzv1#l
zA#gYzl;UP4*|P>t!;pUhNeRmesH=T`<t|$n4|BVCq#MhepKsc6lkf5x529`QByf-}
zqDes<Wy~MA%Kv3LsSizl34Z7AZ&xxNJMne~;p^T*z%~j6kCGaV-&05(bJm$>?b>(q
zn%lCSAF<y!_+_@^{V;}^tcXS)4KLezCp)X30grZP9L?>9*hXCBzqC9aeR9k{GL1w;
zdR`I4oz9H-oE2q2&w-T2r+yB3h+Q?|y5>!BLVI)cW>;tz38%a_9M022UN(rR82QGP
zH-KtWM#;X;RBv?iMo`3FVtRos(Gg09-FiVQ*n$M8m*<pCcjFz!eHxNyOCD-uWN=q-
z=rlUT`XxwekkWu$vJ_E?wf>==uL*O}@Wa!RjfHKwXb2;%q}Rd#HF?N|m@G@y8@oci
zd~np^l)6YFg{*GYWLy)qx{Xb^mbBI6tFNlE)K#4Knn~{<o`d6Q)SnFe&4<;TvBs<X
zr<hZS^$B{D)f?(iT<gIhk<{2mO}=x>8vY6Gn-OK29d%VQkct)DP=q3y{yjRCNGRuY
zH-Q=>;{btMykT%1BHGuRQW*tWuVw7?9|H83wfwNkua+$(-v(kCCQu|~20Nz){59Lf
zJ{R{s12`U<ZgmciV{RzSz2sWU&B5&pZ@#j|wPS{NWg3^+O(}GJ)xCa{2pDz~5*Pdo
z<3IDnzcyfyvvzhuDAhi~6Q90!5wJ`^C3ThlHGy+lg`U0qr%Gr_z(m_UfA(EahOrW9
zX7g&9!M%;+qN*l)`jfFmBbjcoqUH~qL1S04(DmaS%1toSx+8=V3~tAd+@C_(>w)h?
z1^iY6e2pemt<d7+QqpeXp?I?oO>qqsyAzvrJUW`xw1wWZ(m)&^e@~v=klGAI$~S+S
z<U5L&iS(W5lxzs^E_a&-b&AQLXgaz<lE(b!IQt6l64MV-GUy3^-HjQ`i$eu0NlH1K
z$Xnscvf`qiVeeKZ&=&8R83Fh8eGN&T@qejWEQ)`A#-}_BN?Sd%bK;$rdz9Im=+}h`
zupKR_wj8TxW2wZvpNwsi1MU{LtEswCsCbhQTE0EpEP)DebNKR+K~=oTjWio4<;X&_
zTryM!tU%tfBK!V6wR<E+a|b{}8c3^DnVq;P^B?|9<ysq-s(AKac4BfT1}T12M`swH
zyM+vE&v?Cd_DAsIlb-aqar{j}`gWE4Y77v&Wl7fe*T=vcK;)T*mez)B!cW}h32OqD
zrthR9mN6LlClyfn%Pd?2$uNvsjaJVzp!!Z5Wqv6~bZ~*tvrpR)3tfY79r~yd1R~Nl
z3yIzJhl<^(m2F5N_Jyf$AgzBM?Y-RLWWEa%-!nkfyCEwGB0ZJgjn1BcmK+`y>P=?Z
z^`-`VPj(!MW8Z#P)*~VU)*5%-ZdO}|=03eYDqP-)I!X2F6fJ0hmz5Wf>G(ogvY+fp
zp9=iiy%f%o<EJKLYiDN6%bFIcAsPoO34w>p^gb&m8&M}6UK}=Te31q2{A7Ddq)&uN
z>CAe~-e9&k`DxOdFlXVQEm;^|hj)TqHgCh??ykEu5}NI4zixe*4SNb{ftUWv@Lc_w
zf_x9f94a4}l2EeeWR|e^ZWUm^sc%s~lm}EPGrJ2JBngEZbau%WLtH*{H9&!7@hCiM
z#&bE0Jv$!69y$kOr?!q6ltW+kl}(J<@@M#HM~1W(@Hye{4u+(5!i%c4rmkCwNeXPa
z7}4_}YKqBrv9QBn*d_&~V$i}dlq$dyN`r&77y1l9E42F9MBbt^Yax4!r~3gi7EwnT
zQ}}99arxR3i1!f|t%tS7Uxl}(*D>s_Lp!6hs<Hy)^TV>S>m~3ns=cqhEB35O#%*|a
z#QwRPAcnVRS~!SOh129x{h`e-wxq`76NU`b#QntaD)|#Y;&mc94oe#1{h#c%^id7z
zpr-H3v}q-dJd-rUI!`p&tVE6n+Ny47YpYCEcv#G{E6D=h-rI&pZbNZQ+ndTi&oq>y
zY_BX5e`K-*{z>a*?UFt?(hr2#HxteCwJhF;8A?AY1jj_t_&YP*WgIzPIHL~hIPWTl
z{cJS0ytZqeedz+xl(6&<aZ7J3tY5VqnC;D8v5E?S|ExbQ@RXDrHyF{o32?5iaCwn2
zYa_M`bHythLGYq18>1|Km-(L<=ePsnYVaO~T!Vncp=84e>u*QHno=~H0(StbYZM$c
zOvaTtNMQ$oLRTAbN^o|eLkI6dPG{|ozdG}WCp|q4vId4=##6Ir!02tQ=*0p3urCg1
z@=<$_^y^(>3p9R-D+PpV*v0?O!Rx*lhk{BwF8Fbb&-b$8@~m!J*bVmHsR8W>XVTqg
z!rz^>gwU63C$e})gQA@-@Aq(ZGw;1+M&Ug!V9>&gY9%+G`YUz3IF>u?4NURIoWEW@
z<r~SQR!oJau~^~pdWgW%PQ#kW;DAB(EM4<S!VGhx1HNpmjB-5Td~+%Tc{NB$7AG}6
zxVW_BktcL#K4;<Stab|h)%0h71-!}Ek?F;rXN!hpHO-><I3asH8&Ox?R$Ic)fcSo|
z<e<uRmnWdD+tLz5blw782dx~Df^+w$f}<9Su-z|>L_9Ll*J9K@TYS2Ux0zrS2@%Fm
z@xN2ylgG*H0dv)`j**`EGWajXOY^kAmb;QGA##V<S)?w&=AHixEL=F7uh)Ui=@Ks*
z)_l%V7;{UH94_*AdNL<gQTD7CL&DlSAvdA(lr*Hk$7_nv>)x|EyvE2hChIN$cSu%Y
z@(|58oqvbCzAVEx!TIfe)^HLGVpqoluGJ9!wyH(Z4Nwo%Cst5j<V-0g^%L1x^KMM=
z++e3h&du7I%bDD;k=1pNO^(9X)gqEf-mzS#N#Zf6SET)s86lWi0UIYCi<kAgxAYTm
zn)O>fc#PTlgw?7-A?x#Ia(zdYF0AD57ftKsx6AgWYxj$yvhqIx6Y<O=M+<W{ALPz)
z=HG=ocDwoA4&oBwuLq6QL;`FXpk@rpJ&+L^s?<^1D8IwwEAu}I;&2I`#RM2zM1IFw
zBJj=Kfjq;Wsi5^{#9oL8#?aV~ZBRRQH8XKT`R&*fjpVBs_(104iXPRfVu}tPJKMxs
zNEy4>I9(5A`MY1TQd=6KG-yT#bi(b83$N7QTF1+HrN1mZus`-XyB<pfYc(l<u_*{D
zVHfG1?FI#6J{bAkyDpqF>#S_f^q_=q_91f?P!!IfTl3By;Myr^yxLESD^twD`ulk`
zT+33BS~mB`Ky}JJrKeaozG9ITYg;fwcwxL;(i%s>V0yKb@RY}$%apJV_GlK5n{~;(
zWA)i6uatx6E}Y~;by|QHqaMOvtgri#8WC15ll%(#XTNxDF)K+o_Wdnd`(4LR_fi~e
zzR#_**tE)~MO1vK@&{Ih`s;g?MW^$8JMhD5bP9;krNK8e7O6%|R|@1D09@zh5t{qL
zJE>Ioq*%>^uN1qaBO@PghMaCiXB#OG$=YtuU=xTT3@HqHLt?6bhTp{{+@WQJ?bZ;|
z-tRvHM&6>mVKoQJ4zH{}O)v@!X}f23B)zsEAfv(CM{yF{mmZp)ANnZ=H$1)h$fMI(
z#spL`FJH+xPhhK`-K73YUATvz5%N8T7RujEI<I=(6VCD_W(?25&<alVL2L_04t<C2
zAuagPXN?NVW|``2{W%%FIg##T4x|M+Z<V1V2hgggk`v7yr9Nm`D5_R>D=uTN-hrFK
zlBkm5B<%vf81|ENbkgERc++QgB=OVpKE`_SZj_omO2A-4&j5|l5o%(Z&Fjtz9~mt)
zsi8H)xkBqg4>4oR<k`OwzpiQspN5Mwm>qBCIj61LPl1~TYwLQej%WFtM%=)FXw2{C
zwE2s~34bKh%G2#4Cj!4&L#fnQOOPSWg@?CU8@~kbV1?25b>rwsJK^k4A5EY}ZhX66
zA$6@WjADFK&6CAExV#zC2&w+KxfEb50sg!CAyF&|%7i)WAS<JelLvoqF;B;l*1!XG
zDFNWXP!7(&rY__lzRBqAQGWa84;43}WFxzh8P@0!FVbfK`OTRX`6hY6m6?j2-54%e
zj7|5Rdg5MC7My5ebFr1S%RuKNe)wKVd&9N)7^|IeS?cG-Y2}!Kp}XaY^tn&eTTrbf
zjoI*1XGk;~ul|aLD6^*6ozWHQ-(?Ob))vs->KSd2fyo#f&K@PjHj!CWU3n>s-iL#6
zxn)t@O#h(R&ucI(US$wXN0bacNpEIcy2k!(*f8FpXl(9~?$U8}5pzCXv}TTQ8U2qp
zL^t<9Yu<-9x^qjvH;SnOT2c{aY@eX$bY-SieQkx6jWOnLVkce~Qdpn#o{wGn0Uc&N
zpiSbDGCA(nO&y7Same>gv;<_|v(tX1VGnz}MRwO~$IfOJ;<KTQ$x1K4!#J(+_U)Te
zPg>a+=^OcLpeD#U_^$r7Cro4!Ht5Y$!Iq!>BkoZ!=<=3v!SnRiFHkr701T%2w4x94
zy-6p^SNuCA&$!GfKHy;COg+Ox%bWb?HYW`o7B5F;Sa*~D;qH8l(at?Fy$)aLDn=&s
zt!brPge@~|l1K#iA%!e!7o#p|9q%cdiNTXCIcVbJMIBvXyt*6Nb}nWCf!^M1<TMiY
zeVn5o7kF(ra0r_+v1@bUhm9LYE@C%inFXVHzoHEF!?wpvCqHsX6Sx$by}f<6J+^S_
zA2J(1CZc0((VR3Vt4N5C^zF}3Cb52VM-!(2-l}C<tyfj^n2#Fl@5XssN26G3S86WJ
z(O{+pD;1;f53QO#yj?D-CTGf{`W+JG6+o`-NV1~$vap`{=z|&FzEq~*WH-&}vFV;S
zQ<pPcOy7I1h#^4ZwdOqOA8Wr!c3QXb@Xy4zbzaUY&4)i6=iQ-T*@?DM0Zj%d7lkt8
z6Oz?&V$ML@UelpM0Mg{m{06ICJhwk7wqX2*<z11O63%yDQgpRBnpEF3x(d!`Kvjp}
zxaXEoo4(_pLDy#X->llSSn-sTbL9vHbh2D<iwJGm915CsFW;;~(i8)NBdOqe1!7ox
z(S@8_IgfA5Y=`;x`!|Q#Bz^N?5e%YxLN>Fd&j7s)Ne24Mgt+{JW$Tuc28}9nk7N!T
z&e3qd?`+iMbJN;2*C3X)ps=DF_MHIrqj}#PTl?rN>h5IdB2=nK5)Er6*u9s3CRs~<
zbZ9xZMpSL+w8C9l>M(mmJi)c4YrSZ(v}ph)b@uinXE#ywT}Da<SNBx<WnmX0UJ1?)
z#8)hFwTjxD%YxATvdLwDKQ-?#0)<Uk!Ja-43fnSO&r_l#Ze;rsnCB0)l}*PY!n?k&
zuiABH8meHIg7pbUkyJO44yM><2{=<IXscS#B{$(7Mj6)T)r7IC#db<<*KQcBLsU@G
zNF%g0Mc&XLe$UihD!s@^aS)0{+f{|GHps9hj=MLlTWim(ePQVE;9nd}aN}yQaPblm
z+QEhygZ)$-=oo9f8`a4U4gCMgAdt0k<ds;tpbic~GzGp<$9F{yfUmh6GGca`op_yJ
zZ-FPSmsPPn3i9%9VrGMl6$~5fSXZKHlsH3T0?~971Z8Z`c=$tP%BE^cMGbrs0VEn<
zcYZFGyU6g)u!bYhd53?#%;i2%vY%gM+y;1Z_bx-r2Q#iWR&HyKf|Hl7&zu@YU^?X7
z_ga515z%(5kEoz_Y>dsA(3=BF@OwRZV$C9Mwj$$4xgytqfKTg|m|{Q~b-_rnE9BpI
zp~ofzWTH{PlO61505f}d_kQ-io@99V4-c8qoL?v(t^Jck$j5AyA37RnLwAPMB=GAF
z|9pFpo<Y}As$<0}g!kbqg*2M|j8+T=JefVVq`z_=!0@)l{X-DHo7!9R{ndnAW4dWw
z7PsUou(*8H-%kTPlyGM&(w20=7jB?II?8e&FS@fDQM{q09-rSg8F=t+f#UNOipLUt
zv^OfNY55Zgk<l(7y9vS1V&>0Ih4A#QwaviNIgyr)MDBsV3xrFJ&Oi%+2;qECiDH^e
zb7t@3@MCHyNF0nsx`6(N*9a)&54NQ;4b1QA5Anq+C+cV75^+<)aD_q?+v2_z{%}Xu
z&;53WLg-6V&I?qM8Z(v{WZ25Cb?vk>PcYln=ELVhmkej!O+}iAfbdWtUriGt^Gf1a
zewH<fX+L=0Ov^Pt!asDZwuIh0d(l<kkm?9l?G@{bS4MzDeiIXMWA$}ym0YTfQn##z
z&I@T9ye%`ARJgSU*{XcXU18WMt`HYX89LZZ5W!**RMk#h7KZcVA7_b=rH1NZ84Z0H
z&(rXV`G8fDEFH|jG)cqs^>QANRo&kUwh+58x`{H7;pv59e-aNEf%T@8TwuPrbB&%D
z4L1^tD;Wxvo9PQG@hcfT3F&QyXS;y36%fG>SaxE@To&y#_vQz7^tsg&tW(~dkaSd8
z$k160WpvY^u=WtQ#)(%AY$*8+zh64uq{vg^s_)ZJ0npTX``N?mNB#9eiX2GQCqcy)
zfMViFwHylpQ`MN6ha=~}qmpZezfxy+#+t!`iEYCMHqSEvm(}cNl^b1v7{XU`<wo*R
zx+eLNxl{erO4Bm>&`Q+1*F?I5#_n5Abjfi?-nfFfU*Ga|#HB39sGdX!cW#bQ6f^5d
z2~}l$(^UNkrX_FG%C8x$wVYdAK+1>QYYF>(t1+3h6A$IdTdb<kzbeHwfkZf)WfLFu
zVoU0NDg6YnoP<YwM%x8q#OKD>^J_f=_J)_TbPk5`Dnv-Ja)ic%BNCBwRMjuX3NxpB
zG>Fu^S`X<+Rua&wI8!@ne-WoHCP}^PPceyMo6|wjUkMkf1QI;-Vqv?F8xX%Na=&Vv
z4ekgYytZYPXb|S8jG+GdM%`Sm*Ft$tl^8R8aB*;d?!=BAR8?kws5vZ`CUT@$Pl;+I
zk<*78q4_RsGg4B_4>4J5_z&+*{=LfX-@V0&@+#irHsf{fHjg6-#t5#JAk8D!!<N}%
zF|JW}t9JG{zaI;LAVOw*X<w_xAH3~93TSv2j>Ljc80jk568sQO`5xm}zS8fYJ_B4*
zo&j4ZfE;FA&-k~bIDS+VL08NXj<)6Y9izD{qwnu5%|fhi(Ulatzf6hZE8v<iJ<7N|
zb}~dT!iwyCNG5GTa`1t|KpzcuQT0Z%3yailGCHq`qA?NAz4j|;oU15nhttIF%nIzJ
z>={6U3QS1Y$Y_^e7!D&Pa2IfQOj*J>_FVN9quz2`)pG=^b$|)Hft>@czF))PO|Q7)
z3_}^nc~E?L`^!o!lQ5+NC07#?{bZ*3|Gpn(I~%UiMoN+`;FO&2vk?4>S<NA9bi1Qx
zGjVk!OZrH5A$Issy)>m4khH-XSAa+9`zMZ)Y>`H_uZ6CG6-7Yp#)Xl*$~n8{TqL?E
zX8SXnZh3Ws0x5vwNZ4BK4w#n!cZtjgHB9e31S#NNU)<&H%(Q;9<1m712b0+Bx4HR$
z0Lb*sJ%rl&nWm&d#RyZ%BAk!FmBLkwgDnJ<?GYBmLc<{rj!$eos-OK4p8?nPp80<y
zI<t92^l8|Ojl1C9oX!T>lLM?7`+BsFeZL{|`VpTy!((?cYxqofrS`YOipaX30YI1r
ze~{56U$*=NYWyORBkQ==mx`*g^ZvKtZ}h*I@T!Qv+d2p<d9bX9btn%ARLJ=Xe@@MK
z25=h59rTe#DYMwW_GbNfJIy~fkRV4YE^A)|C=yBR!?R6S^^_Hdz-YIFD$n1^0D!sO
zN+La_x4A8%MxWc{`~Q|`&UD$RmC*#bSJPl}Z5b@}eo(*p$q!Ctv*o1VWk9e^b#`>s
zhuMZkKr>ZXKvhYJ7sGU!)2<|`!Bf4;MS>vJfJU0et(!RYp#T??Q-0(Yy5W7}MbX(R
zxmGQ4LQ*(*8yNX2_6w6|@M>fMcQjRH0y6S+eR0YA@+*4HnBWI6fsT_pADnezp#e)n
z@%jqZ%ks0baQDP5)K+eNls?juLBmpsB8Vz~Ohx&7mDe)>E@VG{@(jSIY*IT=lw~DQ
z{!%|Cmx^Dx-<ftv4hN=Z|JDdHv7Omaa^@}l2BDm*ATIUd8Tp+B^u%546=)oZb@gVM
zpT<c7gxI1jb&Y*Z8=O;6Mas-@An=Q#sj%ndc;IYgRX$go-wc+C1aUe4c_Z9eFmL_P
z;Y^FYCP-`xpOL<cmDuKiiGetq>27oes{LiNkr$iXK5G&CuNOr9VI4ETC_mj_T02~K
z{N<^T`dZGk?VD#Q|FXSs%GyB`O6;qoPm8+!kIc*KGvy#KjD#Ds&AD#eI4GxYE1Mt|
ziuAYDs^Tt1ucdCT<`)+DvU?%p+-Q8^Ei;)3w-;~7$c>P%Pg2k6NWh7`e7*RiSg!}>
z)uyWN>w^+5Qnuvr%fNlMmiI>^&wx9SpJ}(72SrJa5^IwFu~o|kt#Q2*L4qRTO??IR
zqb~Kfg%O$(T%c$vTVBZia1&`&6Qd^d<l3o3eWck{Xt~><f^Rv}Usa!yJuY5<G?KJ!
zQhR+uK}M}iO9p^g|E-wo*5!n6C~IPN!cjZ0>xi>cVm{gUZij}ttRW-?f7F!SJZ8;X
zkoHHJHYkXONdKWY%U1t^Ybc2+m3X#bU<0vzyx&)3Tf$`y>aro>?KB~-zM0q-r>owo
zrGw@sx>|<mD*B-Q?OdehS68;5&Jph>ioiPmF3HAmhZNE>w&6I<unMar7FvtA4YL0f
z&)>i2Q#?fz?~DUlikbweFW3Io5U<4HSnfc)W~gzcZ0&JDil4Ddoog^k>GHYulGPWR
zu{_PxLH?mWp>8Ns#i0e%KwP#ENQ+hzGvd#YD?;3#ngdzCo$VoVAj-C2O?1`_@`KPp
zk;;jV-=<vsE@;8MAOO*V_YMxrhsjJLbc*R_4M%^B9uT{uJ89(OFbYnDriB2WT4(c2
z4JxL%#~__;lHQxM>zL^R6hFMsijj-y<qb0XLEo$WJ>=#La{2rxe3|^pZkA(xo&9r-
z+q&5VFVqi3H$<m!xqu~lgePgrh?s{zo=9I59fQ~U%!%aT--Ew{r7q*b-DP+M-*+F5
ze~B5HZ4IjWczAg^EId-a-KH7MJ5HYX%0t^QW57oKc&R1nXSk`+6vaH`8PF!Plq0qn
zej|)_Z*ogAv~+5)MF<Al<V9f-6}%rVk`Q=siRL|;3}L;aDKyn9psjxUaf41)L~L86
zrPB^`PD#&FoL1IAe#qEuNlt820PP;AB!*M7i<v4-9dAk(PgmV+ITPAFAz%F_l|H#R
zV%2vtbeRIFwL7h<%Bx+;r~kd6;yx3wBwQj+khDE8X*h{d^`r$X!?SQD6<)vY=#>KG
zQMY{eop^y`aar`iuLFBMnw&WSqm^)$#j&8seO%Zm7+I*%(f9--nZEynXW7V3f?(Jx
z(h=DsV+=p0JHE9}&vsD)^M>4~xt_z~+y%RvZ{Ke@%1L^exH#b$U2<8Dwko_@;kIcA
zsqa$zUGL+-5mpJ!hQcHvjUVDiaf{-nn$Zd*nATL&m%bB!Jv-unDafBQXRL@0-bGyH
z#5QRvbxpRcR#^XPEzJD_K-mXa<rue^Bn8+;yNKN=icHHq17x#Hc^Y+uN!*emA^d?Y
zKmo|uI@7`}$<43L*j@F$&Ezex`&`Jv`U&P*F&`#JKqGzVx6RETHi^B<9O+mek5{vq
zW_@Z&XGD}`;Kz`NMkCJl-G}ZFSIwXBcN)zwhx}rq5-GkG>7vX>LL{hmr7)GiL6rLu
zW{siK>D7r3AK}LB<YG_Zr>VuQuNlS4M=DRGR=*>h)`(Lne|7DfSKFdgKw|^e9B-6B
z1@p(CV>fVf6Qm@`vO8lkNk@`uX(0Uu9fh2q(bK`)JtML}f&AMbU6etkkO3m?+#U(u
zB5@_NHk)6>-bcMA4`Rl0&h$qGS4Qt@#1<znwF)Og`Il1@@Z7h-H@K~a4Lm9YH?EpV
zT2iB()nTc>{h_<(1v1!JDjdVwCH0Mn2mPWGA8*D|iQ({TZz_82&-FppcOkD?2@AFL
z=qRld{Js;h8OTqi-{EWw%;S5Us7Kq4V31DJyg%a-$Q7t9ySb`niBsS!BN-2S2E2@n
zVf$x?k*ZZ{2mQw7)2en@ZcQN`10}aV1l>-DKv~lYMd33>(nrSj749@v#XRW9LOi5h
z1wYn~^MsZ?*qjUoTNC<yoZfJ2$*^%=?-p!@*8TFBnVuYtb~r*zaqDcAedw&Unafq8
zGkj^2iGd8r*Lf5g_{jnBm-(Yx;rKB8akEyN?4_$B2<@Ww%yQj9_#_$NEq`>_5A^nm
zsD-)7U+WmM8NJ43I=g;FcUJq@Ztt*cn@>3rIvx7q8BsiCIuYgWu)~jaho4E3>(;L1
z5+9n;6hJnUoI0w<(KJ+uPF0cUT{O7ybO>0x!RFc2<?iFfuT3<rZxYWt^LU&d!ki#z
zR|XlWaot<2CKaT=@hW5rBHU*A{xDZvEMqG1Hr!;Uu@_E-n;|VD&DXxq3+i}fSZQB6
z!B4dJV7spkS*~_H)t-9>%yy-_#i;KFLc{IMek9CQ=IfhkOt%KsIdJnEP;BzogsZz|
z?JPvU?8~2mp^)zeE`ee8krTC{dJ|x80u~U$bYE!`eK{BNN2|gct@P9#+^%KywVis2
zKzBMVd?iBKmIQs^96dGvpe`L@i2GJ44H8H##kSbz_Aa|oh~g;38*$H<G<0tBEXf9B
zfvPQ{dxSfUkiH(B7v=oPr)x{3#$$uunsV)yt!L1gHDfA*N}XQ0zQ=zYK@B!!O~Lg&
zy4smcndj91?V)pZhf3lfq}}Bdc9hEzJTPHy^zS$TuH7)<r$5(w63fLRDilcsXbt`F
z792fB@{&(iqu_6xe?Eg+`B<nL`@LA70jy5L_0?-56bO;efS;SitclM6WVvU6<#t#8
zDQr~4t3%E|LzL>!GdX_fw{K^RZx791soI)OR~?obed!L@^QDZE-3XHSQv-}qc<bg7
zgU{|H@P0BZe64<9z&elCi1FjSEP-1rJR?ZTb(rU1s9?M2UVFGnh`TF2DC?{h_tb6o
zVanWM!t%+mNTbGenC=-s7%=h@?QqM#)ZWyWkSl~yuc0uneTdkrwYU!%e8kPfNsQ@7
zT2Yuj0hqjuiadd6JJS)I_Zk;gX8q3qQ0C_txIMYGr)P^>wNyj<D0uUf03p29ie^H$
zLIq&%PP>dI=M_%;KJ-RA3=$(V*kZJcbMa2ix^YBbZ;gv=Vb9WqCfptu{dMAk0z-w>
zJQkgDL2WPJjjHB)r~PH9g{K3w*l~)a(5C32dbwpHiVlf`2aE_zex0{XG+2N$d>~W9
z(B9R&C0gJLn!A`zfRp-rw6v_9J=81605>FadDGG1*IO-ud8C<M6_T01v(w#UmCsTf
z_n}S~(ZWr<3DbpZ(65WREk7F7BR;<+_S(KfQzA`n!^@njor1E&qkpfbcypuOtvWb&
z%C>ulwa!L6_sPwE^Op)t4Bb<GCSBnu@JUhS*FDbz-)&G#YBfBt!Jc*FcPj;QMWJIV
zS1^HSqS{YFEy?$b>1XsG(<zgR2R(T(CLzcc+wviJf&El5DfGZuvUj+9Uj1S-jsyd1
zsj-c_aewZ`#CuHWl}F56a;ryf&Ltde)^vURm_G#}=H3DE9HHSK24Da6tb`=bdewrc
z!@f7Q%CKl_SrnFuu@Y)`KDMZ^YOWFWEaavYJp!-9T|sx#DH6Be>!Bt1!c$9H+~AGi
z3Q*Be&!D>rFE4#-{UH+Cq3bPoeEQ$pw18~-gATX9z9i01rB|44V4=xa(d~9?lJ>;v
zO>bY!6p=RzSThA*jyQ|li)48V(%rSx6$mk7BQWj1XZ%4{={|*P8sA+tODlh5anPM-
zn*>(5lJ6YH1w{G-4?`aGjNB}SN~B(T_Pg;BZ=WA8`$T4roW8-u`StuC?>u_;x34nH
zfJ654G0c;}{HLpfg=utKPtovq)>Nh%-kVOA@{x!a>Kt`@Fo$<cJe8)Kk#7Y+Oe##V
z!K_M7z@y8!ycM4k)XRJMe1%(|k`}eqZLQ4Zoo}U92L)JqRy!}3E0sTsW3pb}WT`Zd
zzuaH*+iJ}hOfqV>4uh|yJ|@i_0Im;uE(Qk!FM=faZ)pTH$m#aS?hFD8Vqo~mUNzq2
zt6=Jq9GbM>ty!5EJk<5m+%du;ARA!%Y7MS_rn`On3a^gQEOx*DdNE&nNI@;L!$h9?
z8n3w4cllS#d5)kp7Zt@k6^-&4_{G&~ZR#yb$-@xh{>Z!%82S;_wHj?CiAuZ-rF$!4
zxF&)%ejzaDlmP;j>u^{~7@COx5ig&rp`Nat`!4Y~3O&+tS}VLVbvZ)FL3qdivfCTN
zcS_Sin-RU128M-eZ8fuymTDo<msk=15Erlh7$7e8P3Rkliy~=Iy*!@J8t+lcHC7MD
zsbNDzaWhb~P5$MiwcmQLkdt$-TmYAu&fmTQ3alg7A6q))j$-_ijSDr+IOpaaKPV~C
z$rpMC@EY55_i(g9y$M=A-INnP)rC=oy*>Y%b}L|*<g60U(*BNh;O|pHz3XI+tquHw
zwJJZlhwSuqP2sO2U`!%T;%{~hhf0B*YVsskgJj4}kddQ*Td6rOsEiJJ_Mr*=BX1<5
zYU4S6E|~(Malj9@CgQ<?aVGtwv%4}mIK`q)F|Sa`C1{B81|$8N+aP*qAWeO-kd{`b
z`h8)L<GW~<MZoo5NYQvyd6|VdMVQZ;Tgv)f_x%-D3G-E*uhU8MQs(yQ1{^AOS<P3k
z|JF(1lji&U{cYH`{c^EP7B}K7GDqWYBZ_P8yl~kC@bc9!&3HfX5e34_#FtKV5qy#2
zh3)8HsYX3Wyl^Zf{HExFz6lW1|CObTi92}g9ZWN&?-`(J5WVqeUFU90@`&I~Fl*o9
z=%(QMu3+U)%Mu2PChbcs4m>8z^?-S7sidxShUil~b~5iBnhDx@Vc<$Wp}kscgRmb<
z^tL}agGUzd#H`s;ySR5W2W}M>6>wvwkDM8e#Xb-7ji(8Cqs6^9fe9r!QGZV;q6Mcb
zHoDblGWp*#M=B1stQsEUmzQe7?5&+y`}-!Yzm9-iw^)+K4P!qZE}-MMd*NI!7@Wvn
zh?~)>6~0l~krg(%jkmr;*F3rs6$297mH927Q#`R{eO^mVr?zX)xF*qsEgPOF5G9S|
ze8EK|gk)x6s?~F7(XsX|l_IH?P41a?gYSW!u`L2tC$jOrPFfvBzHutsrC8F84`*q;
z7I;{;lOsAC3&VE09}7p`RnaCr1AbinHJx2h;fZtc12#W7#}w46&$L&d@_fIY`iR|$
zQ0?nI|JFL}G0Hkja9gIy_b~K~tP&a<W<Y;K2c`4X!Sm7t^-&I{j5%Y)XbKGd!WMea
zt>#xG&{5IE;ocEaoU|Dg&Gbv~tXFWicCPv9P^-r07y-xQYmU&J6N2zsf0{2ujtjDY
zFISWHk3fo+kJU&Y9M@KFo+hA%d>MCv9ggQlay_h;*cxXiyt6Kq13D$ix;l_(2gA~)
z!&@30F%%}RoXKRQjI(#4s@*fM7X^pveQylh)@1W4#OdSkl&oe!F1~KLZ9IQ+OaAKV
zFIDs|A7HGDh_8Bmk2gq*!k?8~#_(ncM!?oE%(hTdta7K^`!b%MBL4Hip=hB9Y@z{H
zcIK`>so!u6cs0kJ2KI^6A8p6atK`C9Crkgf9bZ0|nOOd6qVP6;w4ko!+j-s4q2l=O
zJ1Zg2qh)lcw`)D@KKu7XP1UY$%<9m|#%&(bPgN*@QtecX^aEV3JxI3imoig*VZgYU
z1B71|;tzJiI1Y37sdmU?1~(>4?tdtu4*fma5Pi&9HbYjfWnY}cfE?D`q>eX=IyRFj
z`Wb2^T=CV}iIvwluxZ$DF!98{CBeSU`>;s;go@R${WVJg>fNV~tO$R-yrZGR^}z81
z-<`Whg=_YY*Fv3RE8<I})w2_gCb$|j!>VI?MD8d2&BDr!ezRZpb|Dz!iUk~hl%4@X
z))ACr77@i<iasU-t=Bgem?>zAB}ETGiaWV`7;T25EFV2W^}|(PjWK75#&eXDCXwex
z#?Xi^`XXN#fZB8=C0ekQZb@np4iXMLikL6xi9(&W1^AmTV>0bi&-@*GlgATI+c7G&
z;IJDdTLvJlXQ?eL;GMF*xZ%a&$JJ1MPwX7BPIJTByY();)#Ho>1C$ubeBF?y!=J~r
zS_BF#$U3EDDqfa)4-(IS@Rw&pMeXKqGe5Xn)ro#PD6=)@_JmEcw-v7aap?`LXVKYQ
z*DhHP+0x`y8Os1Uo?^pawkP(UAHS4M9Lp-(eb}+AuTaOT*dLK0%T_C}Ycj~9(Xc~H
zI$>2jU(6h<&U+ugpZfk+0MQZmH5Z3y8QO=ZFojdla1+7w<Ahn=ol>{6{N~RvmvmX=
z!g%_hf7=q00$bGea?EFTt{gsO5_oR;M}bDzyw#eahuCc*^x*~%HsPa<S97c6sl-!7
zpMpC$Lw1;wgU*{vF7H7l$)nD@#_CRpM~>yUcJQ*-AF4arZXM)D>PnAST=aE7${+=`
z0|TLM*5AS^bH~QcU<dVKVV!WZ$;xa2v63k`qZG3Z74C>)a}&3tUTANAQS}dP^+cwo
zk`r@dlTmix=zb+n<gUfn`8tk}I4uGl4QbsOY)%GHU`u^8nJ0><Ql?j7eg~2Oj5;a>
zKAoW`Rhed7(5@}@i$fFgK3$%8DaD;kW1_h~*H*ctq}KYQXPmym(Lq3vl*2Q?h~dxW
z{pZ2cVW+?!5c2)gcVmOv+l0dNX-l+jn5(5@T{}?=evIQo-~aAn)iXi9sOntcVDf}t
zBmOeU-L}y#q}Jcw1-S>37KpJ?>&uF4vPou7VCkt*DxX&6dcjj(uNS{pr$c%*W*69#
z8A>nmWxtA9i6G@Lc;0n4+<V9?!@Fw(e_vq<!xSmJ?{O#C1KIF`J`9YP&6hx}X7tvz
zzS76A@E}2iZuM{Wau4iR+ur?P!^V#*8M`F<;zV6D6Vjo^b24V*NJuoHYe9$(P51FW
zoiKdY0Ndm2aZ{z@9Ig7sb)RfF^4uuJTA_d#oN;gJTnM8qe3LE#cu%Z+Qs)fE?x0Qy
zmm7{rV_*~=g&aRd%x4(+&9^!(&!3-ZRsF48s%tDp^|DFls0-x;dM0JaYn2j_Kjr89
z!p9X<E$~H!UoHh!iSbVJ`|=(2r@%zZ9Sua5S=)BWbHpi)l^WdSb2~{Iy<p|GA3adt
zjve3Fg(+e%4A_D2Z3WvKZG?3f5*Z1*juzl-RXa<u^CjFZ&>LmGc1IF+!QFvLHpsZe
z`sSyWI5i7kA&1eRU4Cv5DN9n7c-gR}Ykaxp-=J<&A6F&PGW|=Pg1d@`=_v~5m(B96
zx*cduwx0eeiAOK&kt2Auxl14rT{fRxbg^HsmK!+}>j4F||7loy(O-y0ilykQzz4mT
z@!OX@t^4oho9zHD=TMOp$JM_lYC|*}1`4mrSuwv&=nKu2@Ln%?3`O)dUz^}e?oKB#
z7eJpdA48n9j`&JQ9U*tiBC99+YVs!qo-M5`7)+%lYNtg)LyUa5XLR>r{X>&<FRN}`
z297HP0j;d1)&4;C)_r_<7<)Usf(N`7_k*b#8)o5kU|XW|@s+v}!Ng~L!X3}dvo$g3
zMc9>6pRXM5C1Rq|NUJzh!+rC*m8GRAEFEGD-EfE+f==<EErW2GzHYcoqm?U_W!+XD
z)APxI&}$A-gdbopXLt*V?X_w+3-jujKc7wz;Q@9c<FW>SGLNcaHSO$`YV`#=1{Del
zD0zw`U?;i!eRg5x>M#F&D{#jSiLjyhIWEhrh1Qc^N;%Ioqp@OZoO*=!>19SewF!2;
zS2mbPACEr2ipcQJ3{|RFssGb&`_qc3)J@j%aGJ$tdk5lC*;P3;n&Hvh2eV%dkQR9c
zEWV>NpX&G=yW+sfmPh_Ll5pX@)?1Q>m(G^x$K%N_TN1=>=rU`vKdPwS;Q2?}<cQLB
zLu4pWd>y=@Fv|C~8q{>I8SA;>4H{LHp*=49_0^oN7pY1&*`iQYy@id4QCl2dLZAPn
zlus(6vD4tjCe_O;-R#+{OP{TYwg8eO?49ETAla!}oeo~muZcqx2t+rBS$WCQMZk{D
z@-$4I4P+m83Thd(L?lpn&gMh*R&kZ9D=U1vu_C=7^s*sz@TCYmseqoG^uii1y`Y(n
z9kn0I`)&}h@81tWLSwuKH^v053OP9xIi#KfM;Z%gOKDh(D!#6x2bVM~f>n|@@D0Xc
z{xhyE0^x5Skr5lK>($G{dLBa?KG<?}9mR6C05`M`s>q71CEr_7`Ah|PPih7qqHI~d
z8!+3w4;FTi#}!@TrV#H<bg~e5%$4g#BQjkSaEOd36{ASqz9*#nN#TlH51>#>j4MXM
zd+Fy=Y6f<auqJukp3?a4h}!IKW9R2<8gM$!9Iro}1>0+W8FjXqCZc?MsO;cxqrgpm
zVx_Lt{+B$OzjQS~LEb9vOH0&1Oc#nvFXPGU!UvRoe6VDav!-qb=6sOKG@nJoIjnxl
z5x>Th{&ygk?n>bY$;HzmWOrILN(LxGFK|2Ah)lS5H@)AhVox0wIg=yb0`;mmW+-KK
z?Vc3&D(m4d7@A<Cqtb>>9ZgIq0BUE1Vx34r2`#SLx)E&e(>k#fypvMKRUJ0VrbrH3
zNttIURGOcVn>MFe3}T*$*lHN!*P~<=*m%TJJ--zuJA7rbT}o?J!3`QnIW@sVAuTS5
zS5`5ey~XAwx9!|C{;Uh-Bf3!<|0QKKG0m6S+m!y3xqzkq@$Z;#34`{Ly+2UNPE&r)
z(BkEitZF=pzXcI0wNH{fpuVNTN-<&WbzsRm^HFJQ>w%0iqo90|m)*!bAGR%LZ?`(<
zfZ$iAjbTzsWO0-T8mU}OSoS%_y@o*cX1>Lz0oUA&_1QqZJ^IxF_FK^2;Lw)EZAE8q
z2PAkzPgP8&+86B$FeiaIvi1SUSl-~_Cv@mFJ^ojY_L2W0uzC&>@5mv>cKOXMN%VSk
zPj%TV@35>OAd)^%H>!u<K9(W<<!D^99B)^~)OC_%P*B0g<1@-5no7{6O1!H9ICPTz
z`uK+-!&9g&?(35oyo#KL8w+OWD1mIX{gBUZ;vvmfFKci8^Q_?ugU#QqxN52*u~fFF
z`6c%a4If0;JbFcLwf95{7mMJ0as>~|QEnnJsLh>W_S^SGd03}E_4=r^*tOV@u)cVr
zeJ#Bg%(OAvbux;IQ6X3JcFa5T>X@rP%Az$g)`zmCWxkS)pO65=3$@1>v*_Zg{oXu|
zbklpJ1x2sPBwqx4gV!}DTf?!|n>;8zO4J3-Hi%o(Zsk6DoKBNplP&$P0OTnf*6WLJ
zcKeJ)m1A%&BOhrinD}+WxuUX1YccrwWrk`<-<(&J+HW=%(+LF2G6oKfq>)a}%>CH%
z+>8z^_q<+8%LLJVdTk6F=P%=X9H2Bijr1_yO2oAwEE;Vj5kgcP&3fQ?A-f_^N{7uV
zLDN$5{Y&$KYs{`Tdq2xUymHP9J-W#?2e%H2;Kmk#KuRd<^K_xEALV3w+UzC9$4qO+
z=5FIWM{wl##^!kp^IW}TxtNw3nAU}f&b@%2ajp=%W7Sbb<;?ab^zYHjZaZj9`?sij
z{B1XfLHxD8mXp8@KnWEy{x5Dcptiy*;vqS1l%J9`mh-kmm%MLvbkHZ-)t9j<L~>>a
zh=61nic|Q84W7+;3)ZNOG@*%B^A<HF<5Xjz!w;F2Pu@0Sj67pMn+h`N0k=q=RENt4
zM4FN{38e)-Vib;*8I`R*(yv@qqRFC=<osgSk?s4Q!EsNQ&a!&0wI?tVrj)O?hp^(2
z(V(sMFux(Sy|&nvDQ`)ejc$`iYLc&<3|DdJk~J-w_@f67apk&(e=4|>p;(JJZXHDB
znf}5t0-p}ShigM7G2N;6G*;+5u~iF0<$+GU<Ys=H4YtE5Bt&TpjLBycNb%*SKM45g
z{pS(pb$UdLOP}=1^H=c?;&*)AaW*2d>~8f-*<p$@>$Xg2%1tL^UX;-vgdcn3J7zfD
zx|{DNS*k@-%#<h=pPiR+nNQwNbs$*Qoq{;1C_SaIUCC)09qqs6D*ZoTb^hbK+wD89
z&&4@Z+coa=e7(x?Wt7BWE1{M<bd*Mhl<@_xXG4N1%C%^paYiaCU+LrrxZE!`n;U1f
zy!__jwp$fV!K4p6%BWM$cIsQV_u?ZLs5$0RlBrDYi+i+M?HiDV*KhECUin31XHT9o
z{WT7>CbS^*!&vbt!J|KymUuHMbkx=!k6v&5oWQ(mYuq>H1sdu*eST5{p1CCyL>=Xb
zr(T%JSZBLxO`eJ6gMyQ3CTVfcHXlzSpYk_0e8Zc>t0cQsqyA@U*^Ovk_Tnu|Jb<vI
zQ8^X)pROOr7~xfw<@8_NPH~odX&<Zp-fsQ|GUgke^XhLelXTtgTK%J(Nb*cu@2(G7
zSWo~0<f;V`d@G+(<jq^KvBjcF$lE@Q@QV$rYE8=G-YK5vNrbakKouadsZa|O;v$2u
zOhzSYfaJ;7Y8U-w-Y+<pKlJz1&5*io8wJv{QBZl1D}|OO3Ti_m6(g_^y_gL0ym@0a
z`k==X6mnvgIcWa?siQqdwA-#P>^UCV1lwl&3>%G%;e0I((g_87G6y>K9v--Fodl+)
zw0AT3Qj&{=wT)NE>vywQa!tI!d1VyP+{6TN9WKR)rBukE*0dd!CrQj#7jfRM4|lfg
zWSfp6{+4==x9%2bQ)k`S!zwtTjoPJDX(pkmRjq0|=Y(86tc$UtvU}LtF8#}MS?oN-
z8ZC5qT_ak$5(y@hV@+Kt(ATCMO^G<9c}4oF<mtWgeY=ms<R;E0p6=Y5edNRiBm&hT
zS27Q7H2ATkYGHm-b()ERITqI>GqLi<lj1@!)u?7|V^5}B)=i4_Hf!n1*<8IXWMU~B
zvH3|ojfA;;bv3zaYW_Et@XKq_n^TB#$#!kyYToSRtlM<yIx4o3bR5AnInbP9sO*(b
zRHmejVb5$=*NArRcj=r@zw&DvI4rr(4}mpqDfw~b!?;5NopVOZMUy~cjK9KaPnR3Z
z_d@Tg{-q-|g;G{kv-9Zt7GI`*n(rKAWnN9{3{v`a#rEV`H$BgL3ui3KqgjU9-NBM(
zY?KWnG0~1E7Zy>x?7wh1c}j0?Ke_m5yjv+wQR)hMx6k+8=FY}j9v#H2#@WSo>S)rl
zGV7XEQ&lbybOwTgqpl}DN~Zoq!W3#Xtu^sx%Zhn7zf65G-`!bmA+-LVdoqeL7y*X5
zC>U4r^{8b&)6)!QzBo(3S}K#Ae1BiK2?~K&kDINS68;ca_>P|f>N%XK8@*eu6bnKv
z)yJC*g5qNF$xTP1lAkLQ$HhimszZa&jB_O-o#c|mW4Xb1@}{CBnU1`lHlXdNZbLts
zzcvL=xiFRcXkjl@?=9{3jm8Tv99I`@E}bPwBDoMrJzANZJH>{kcjPiz6;;Qcx+HNN
zX+U%e2CsR;R6-SLR2ds6c6*4Vxbpr=u+nvPBO>0;n3lT~Q?9orwd96Gwh?|-Fe=sX
zsP<7sN%!DeR-wJerht0K{{TK;^B=+g0OslJ#fnvT>TeK^iB@Yse$XVh!=N8g#zy4d
zQ_(i*syfH2Kz{PrXF!OHPMK!J{=th>txt&}cx}mV%gDr^3eW;SxDU~Zvt?SM6Ze58
zol-&-6nHJr=_mP^5GhO^3`;b81TCwc@=g_Tdi;BHlFB)o@2zOEMAYf3H&#PV%CEZ&
z#~al;3oppHEwV~W#5pIfyz7*Y=-c-uy=}34LuraZ1+<IyzTyECWc$|w<wkH-tx=))
z-fledaoVESV%1JXV=orB+pOnE)}&7YhK_@&sa9a)JnK%q)uwEw`kNb7Smo&!$eWel
zp8D83bQ+mS2DuF+=T4ouQ#Hgz?sPjM*%NwfD{W_K4T>pNjBAXLu_}<Fx>mI-p!Fl=
zq3GE-sFe)4rrm#Euh&AS^{Z@s$B&5_1e4p%R8~X`2_yhQcJ@@)?N^{UPm`i!oHt2O
zcHtX{-Tfkp(9DzFaEYR~)#5TP-?$*SfoR=ANMu1=sH>R9hp&(0AK8iKj?P7Y<i4@9
z`cQY;Hxu~?bY0L2ESaR50La%Wlhk`opmPA@p)a)noIdS8U$5v?9;@F&xC>z%i>?FV
zCb6+2#)Q#8bzm#>eWlD<Ugj~!j?_}T)0#!KaaP=J?gfO46$Qd7mv%r%V#2uv%+Tkb
zeFfq7P@I&FPbN2A;^UL@4cC6TEYj{54JwxHO3_6-GVI3G7TBbD9MbnD<=g?tw$pWQ
z<~&6xDw!Ibx@V3|iWH9HXXLwSJ$neD#gS6v^xvPze65>xm;V4!2n%U&-{L6fr}=>T
zai7ZL{{SePTn=yWm%zXF-R|nr?hES+yNgT9atv2iva}K}xzK_u(<~sWjkP|-qP)WA
zbq{gA?)#S{x`re9Nq1X`Z!`iZY3H*AD^8&HiWNACO_H5#H1G|^D;<{jFbi>Wb>~dO
zR-mL2QKZy;uD@Ofl3#5Jgl|*O&5QF1=r+f=eoA||Biv?{<$*+o-3*e0Bk838*Vcot
zzZx=6*pKVDl~c_nU-i&NJb)TIvlnF~ReT`{@h++m!!zM=k^UaIO|aAf-g1}|%`T@%
zpqfV@kZKivW0A-Z3Crxs&||7~3P04oQw6Q7F}+zQB8Z+Aasy_*%_k#J7#d`2Ty+j^
zh{GI*biLiTiKm8OW_CTIlo^wrG_gTOH!%5GT<7+%So3BICAf_Wn#$)+k_UA~PAx=%
zs=ZmsBn#%EL*}quVbD>t=uK!z?!{U!7L}3GEu(ai4a}~VsU1p9GvsU7)uwo(oK=;=
z#|+xs>_q<n_}}%f-}n-I{{Y3;<;CePz`oD<eGRW2mBQ&qNQAO}6e<%|UEl&q_~RW(
zH)GIjX!}jR_BJAGWvMw=Fb8l|3J1jE?nt78Io(GktVm2RXwUNKT9>D8plG1`#yTxF
zR!)dl-DY=9Bszx4=(Gg;3x8%05nPU?DZZ<$_bUYnr$W`!OzKD!!<f8GeCqCnYkM`!
zEe*sHD$g4SM<kJ#v$)}zMM+WUFN-9x$x1q++u}T~JL?sAW&xJ5On{J4yHxu#_=AiN
zMj2z34{^igM?4gl$IRP4fp7Mv;gWwDfO&vB3NRT_l;=wP#8)j$GY0^~_OSegSlHMf
z^$gHVsXe?Fs92zn%pPZ4hyhBzWMxWJh533N<Z0Yb*-cua7dzbT?lueEQN+wp{rC=1
zn2PD3p#Z2lYI9J2)&Z5(3}KGh2YnBkecxy05L?FbLU`k>rF9UpTFhjK8rF;itVVg)
zykk#;_r^=WOP@%%xBmby-3b$O!Ea+dv-vPd<5!Mm60}UFgh{Pb(12=2c@|n6u(F#<
zh2A@rA0g&Z#SohMc;S*gWJg;0gaY0nN*bC~fE6@7ha8b+%pL1bs&np2ynfbF-=7SI
z-425sCcY!5?Gi}o(;7THH>>Dl{!f**I~K3@DUGfMfJ8L3bf#gt<3dWN3K=&mXrzNv
zI~S#B#=igwz+l}&Ng|Wv+i+KQjx5e()c*ix41lt@mN_DmQWi&3RbWUUj?sy!T6Hbn
zAL=_Miw*K!60H^u!2GRFf==V@!dbYLyiI;D<Qn^D^DoN|K#dsDC}etcH5C1w*v^(S
zW*L(l?0I5AY>*>`Dl+$UDr?fYR)U_v*8`LoWi(iRp8Da+{W#<|H``|QwokQg?Wgja
z<)r(H+dFk=Rds+!J>4?w!+2!kfaH~RcJpiY8m_%whVV~t!X%#IncgUi=t9k?DwC#)
zpp^iOzRz|SlxoZGT8bObs;pzvZRIN`;Y?D5h6FaRvQJ?Y(tB4DkT*0?e2<$=G_P;@
zuQKLv6-KO(9IKhigCU0SVRF0B&gJryRTH=_&MB^5B#tJ#o<XP1glh^9QRY{!8kM!O
zGvJ%0F2loTlfsgzw}>4~U~uy4_PI0}b{sC}Oa9|g!ri}Xv$2lULnr0qRBDy{+kND&
zIs!`oGxiUT0`gz=LAYRawY+tI*h;%`=6P1kZf*%OJes@#M`bEUToFyZY>InPPrD%b
z`-k!SesA$Vx7m)^iQglAOt*0p6}80E{{Rv#b+=|^Y7~3%mkGw5jcLW#x%V8#%?Z1(
zC{94TG=t!^3y!LmjO(kkK;6t|$h)3rjp;~X^22Gba_SWNv21Um2azXsC~gk2M(O5P
zwzJS0b;(p8+lF8#mDLpP@e>!gXqq`xikS-0Dck@!ZW1zbLG&s;-W!=!)Urg0QZu0^
zxD3u4ixg^tZI1r{dB-nB<*Jz@Cr$08a+L>Y?jx|{vvK2=G<t>Ob7jVzR-I9+eKYks
zC~mAbZK~y^iZ>p8zO6DT%BtOTk=MK5j12sFV|Pch;`1S%6^pU8CG}TrxY@0xf_3v6
z9Og=yP|$z}iGd=tI)EQHvkS@CW-z&1@BXM8s|lhLJb}S9p#hCR8tBwDBBw5)Y10Eq
zverO82l|us57MituK3mRUD!;lZ#d=PFKclq6^=^OHB|K)g0Sn~jUF~xV$q25al<X9
ztNZ-HT>IB+&r*36$1vUYD@}uN+#!T+Hdb;I6q3X=`R$|)E<jp=+O^K71kFA3+yfkA
zjvHfIF6MaV-l!(qV{m4>d5LOSS%x8`Vh98Z)DF|x*960b&5H85QN<dwIBhaq?;DNA
z?|mk_i<iuvg1rKczz0lg#wrSk^EoE+Ny+M3u-hy)s6YlvlI$}&Xgm61l67ROB1DX3
zghpT*bodw(^w1C6ic*hKTdJi5o#SkIH4vb+K2zC(r&60)SMFORu@*jARV0$f`*CWK
zK}KssQULeY9aDmvUnSl)771@ZnE*N4$>Lv!X!u}r!x`!qA0l|PEM2?R7#US>ppxCr
zOv~e6q-XVES#cjh{C|>NRR&|v_FxhJ0H`6>E2L`v%n$r&b`JT_eMr-Km0=ko-brp4
z^bx58KWU~cxUyj7&w?P&%r`B?R73v&rdCnnV^;qFZ*ap9;>I_36U)z>?HeC95X*6K
zZqpFzToy9a4!xtPue6L7Qrn;y!N|F-A8)iFZKLxpSOttONC_Pmun(l+3FMr-5vh+B
zIQYMzGGZf(Op`OPG;$e=vFcP)pdG`m7u{AmvC&WsdnCX{rguZCfH4MxI*hw}F=(Yy
zvu!OwCE$%EjyRPhjB1hT^3)%ioqgE78wF+Ne0i_@NAUH0r~d#mug(0piW5_Hn|tlP
zC!Pz1mq4o7zGQz9cN&TKeK^NcQgmkXgNmv-NpiO^es1bd%=v3l$}(5}QA~%|?Zwrd
z5lvNC4r|wYXkgN0d5QALB$f7%MxpMe7*V}NB`X7-8DqA1H8R{ja@?AgLEK5|eS-w8
zz_?L(l?MK?8QtWpcJYETG^rh|Na}FbGc!K7(5km#70Xf*Kqi2<{lgDqO&OUQZo;+B
z-xH9h?;q_Pzhy8~!9K!O)O(*DzW%GS%GUA&;wzXn>KS?w@5fIX$f+Xuvr7xz2Sz{a
zp0xQ;CARGh*0QJKO$gT;9{n|_`th5W@z?uJ{y*mJNw1L4FRUDCqeOk#$5K#6^%eMF
z3xhS#Y5rde>I%8_Ym4b%E~S?|iblkrrkE^vIRQ)ZxO_w{>(!a=D;CRV<tX`XZgW2M
zK!0h&5aA{2Vj2GcD&3&IVm-Rw?{`gkeKTC#P1a|rAbSTuJ%bL$3Mz=oo<}!XJC=6M
zV#?6N7}9e0AAd|)gI9Jf+g+YVwh|RIa6=bXq3*~Whr<fbB?jY#wNv^l6jhNb5$JV_
zp3cxZ;BuP_3`hfg1-_;*g#|?!oPBt_8|n^eEd<-!IGr3wRl(2W-GiZa%IkO8Gzlbu
zNJ{1#DtksQR7<(DkTJ_q{n+9Nt79{qq9k_Hp!nmC)R_j_(j5Y_5PuFl>F;iX9aDyl
zyJK<HLLR1qq<h%pJ_8WhXvU*$uGbVm78;E+BOra`=5bj}BE~drh(*P?0Z<mMN)2i3
zZ`+0PF|11Hf4B1Ec|7?_E}=;P6abpjreymtoa*#6@uan9_0{-v)g1%W0V<DgXdf<K
z+*M=l5?QLO2$f#tXY)b(&%ldNR&8Iy@1}Snl0cent(_BYNW>;|2J8}Igk~c(G&+Vx
zo%kHGS4{#(7M0hr+MoRSI@jeNH}QM0I|RA2Z#QTY&C?`_G|Ch_pLH2gk#bE5uYNP3
zjlUyXCTOh%!z9-)6jt*ViUX}JkIMb>Gctot(T5`y6;>lDxjH6FSka{t$OARU;Yg?m
zW?s4#kAX*d>x$Nz9ZI`{?yh$0YhNR9V{Wm?e=QI~YQ+4+ijY1yl%(Bba<h~p8cM}K
z$x`B38d;nhO<#2^EkZxK^r@yF#YN^~@@ntUukPcQ#37g%M^}`B<K01qqWg%n`a279
zL_yOSssrJtdG_Gd15Uu3%VZ}^qP6*}opEI9MJOQe9C$HzwE;=YpwIVW>iUq~G!p09
zE@N*LEmPAhN+WR?ZL@U|kxynM?cs|JisIq2T)Mf$G*wBm*4XwT0fALn+|a#OSI|9}
zq^Cf!jYr+PX)$hsu}}gFxKe0)so#LlC1M^J=_1dB#}%m3d_y7#EWq~#8DUpeXeN|E
zd#~m6{&3UH$Vt?(?ot;og>f-YKv`OUaIt!k`6fbW#=2t!FUKqr8jHy)R7;vdbtoF6
z0F7*Pf$qaP3u-RivP>Nt#Kco7pQwKPcH&ej1Upko4Iot`qf0_E?b0&(@!N}Rq0%ju
z3RYUnK~Nfid=O+Y)geU^*4hZNSi$aI&!-(zwxVniG>Jy6NDf$r%cW9q(He>dbK33u
zh6e5tSdnQgk=&!GC5OxpKs)orWRpQ5Dmsm3=@~r9CDx&GU@Kie!o5B?2GPC!TL>g_
zAdMr4ypw{-60){r^(2r*dS`(<hgPLJh6Hk3g=woK(h{WWA8355*fPKyu7godKCMCX
zNgR4Ab+eM9Gz?gb@@fJA%Mz1iT+%xE(|^lv!Tuk!-Sc(DD2wiWx*Aeji;cuItR%LL
zC~8?+Ksy<{G#?(F*c>9E;ucbQJPE4_wuL1t8H*;C_IG3zuSIOxz99Q4itnqTWeuzP
zpVvFW-ooi@1ad;Zd35e$%iLF|yw?)3(^8Kv>qJm^ZsmcTT}d>6`Hyt+u|O-5g355x
zX)z}mHQ)9X_jnTUp_%~GmD8#;Bri(Rxqr7zUNWYF`5>pNxPf<PBCE+eMk5({dNb0#
z&Zi7QeT3(YtwmdnB^m9b5ddh6*=BotaKf)qZxjS|c-7s>lS#-@q?6Wz1O-Mycql+%
zLes?g9Q$!(%8*{kT)EO{MHQ%VH6v5uHm<^e>gvRF`f<)gD0d9nZ7Cj*s2KgFS^<^@
z<P}DPeS~r(o@7A8>a+^E{RGhEfXVj{8(jxBq`G^F7)H_vvJpo`0;jZ$&+W%aDi(v4
zM+b?n0FLS2*hZvzaj**Bz$i&Q_!gQBy2{SPc`aho8HUD28cIhqFe(ptT2$kmSsPNN
zgqzeAkuK)))kn!t@-;dN42Qb7?ex&^Var>2iC0i8(iMRQS?TJ+y`(4rd~1uTKBYaS
z(Bb(7P#l8w6|e3+z<V)1;SLld${~z*wJKMzdxvH$s>(Vbc}JR{0*OrW%;NQ+I#l|K
z2+)85?+j^5`*99Tv|vdH0b#36M~fpseVDCFq;oGEYPla5$~xk1%C>V7ypjcARey$=
zAMH4rP@0T(jO@Z836bOh8b>0Egme_ZWV+NeWzw3B_ULxYVdS$&WJ;Ns0vb-jM_^nk
z{{ZZj$KbuF)m#|uHNcPaL(h(O$|mrI(la82W>0y=og<+Ya`jx2s~X81vPN>uRDe{R
zvLhow*-=ahx~c_=N!5jaIc5AOr<e2p0EhfvFU#%ef$WfPawdaYh~W{%w!tIGq}0hi
zpj*7C3IX<<3XS@MZcEaEGu_@Sy7wEF)%IkPMsI)}gR?4N(TeDRPICTCGjAM|$!!~2
ziQtiHvJVn3wx>|9zZ8^|Qws<=HESQKw_2^#(QcRCRQBUs(1+Bkl|U>2P)}#oiaf5B
zim7#mHKd)zD~s8sg67&g2_cP`h;AP?jGm3#+0!9|C|<3KJdTYdRlA+0nG6O^ZdkOa
z%uI|s*@z!SaNH%-%F7GW{ly#8Zyb^|Vf?Qyg*vT!dSR$lp-F8{z$Gs0@`Tmm2)PhF
zy>LJ$ac1W-)nDeI_+lK9eT?~JSc)M+NfiZ#EUs0m9U2vrNP4Lmstl{{7=+Gfl(M`i
z7BpCaH1jK~KiP=eT}j<d0~WwQvFVZ7t~0oivK8zCxE!5BMl5jKCrBDOOz}b@28f5|
z2O>yOpT3wIr%}vU<l5W*gH_$^b6N<ZwEVrX6nW)isr!ILqY>;B7+>B=+U(I>Hr3r1
zhxh)}7rg74JQnFAC3GWc3ZuS@N&$h+Zd$O|@T`861l%^4Vdl!!smZb<+uvV?CK)Y2
zS+M|a#kIPWNdlg-cxXHF9lsnARf|t-Y?!%lX1Q|7ALZBWO#R)I%j&_SMX03PleLI~
z+7QL+Bq!yqK_~k$XEsqmG9=QF5NRyssUTW4C^Gj9N+Fy8G-IS4Ud&BOpJI&FPTru?
zue%)G4y8^m5o)Nq<O9Uy;$u^t5h4p|#U_m8enHniW+BOFbW_z1`v%-#LvcFRbv0mf
z1L+`F3um81J;lTPo}o*!6e&PL08!8k^qk3{p(LE}7>v#K1KZSANYu*eK#m}!J5wP=
zB}QH6ED}Is`yFl;c8EYLZULv|fGkMr)yUJ@Yl<d<$w{hca`G+z0Orf{d4Dnf-k#pL
znzEZ$a{RD~-f<;~YF8-KP=d!I01ZqAO(k)tMos;r0!eQay6&Zl>gF<h>qr%42-NL&
z?fBqLwyZG~7`xHGm`L4T-N>u8s9Q#lN<^!riO#i9Yfot)U}_Od?$j%koui@3ZN53}
zrIPOAJ4=nZ3YN{a5^5Qk^e3=W<B3@)?Ru4#I;+}(oyFXC>I`cww6iakBFx6Y&r+bB
zOx;dGm}N$yGRUB+isN{+W}M3;J{G7fl_R?$*gg1W5=hO<2IZigHJZg#l&-BLyllWV
zI|gK6``gf0+fmdV=0t}`Av`tIK<(`A#hqCdND}fG<ZUldMpbNp@1_cn2Kyg^;nq!I
zL$VC2Pi`#QNa)qOBl#{@RI(C7Q}F>A`vE4HtCfo=Rh$~@&GO-i8f@~?a$er1gX%b|
zmxx&5=oN}N<&{jcC9t3YbJb4aUl-9#3C@}gM-5%e4`j59?*9NO9;pZT%tv1FT!-z#
zd1lt8#~%tsg=@2iZ~aH!Pa5iS#<_P6+WT_CGs<bl6-Yanv$jtybv45`+`%4_D_+nl
z2gbOzHsyYRGbI&$djjw6WxGUMxkM}n-CM*9I27$5oE8$>pte|URAO}dYTGdjZs$?(
zv$aV*I%oA^g_5E&!?&Oha52Qo0?<iKPZ<5Iad<l17DS_Ac6rn>(hYk>E34UqD2q8H
z>_Acle8tyX%C1!S;_U-c?sN%6)WAZykyBr*5KS#z2t~^3l$|O%8dAT!;^`D}BPz)(
zz}Lgqzb^V<njlwfc(k#kaLXpCOHzOUN{?{;m`-!-KaLbtV`aU(a9Oa1c#&#Yho)rr
z;dwUL^c5p!d?Yq(p`?%rerX*BrOTkDG1X^njVj&9a?fOoBeUs76!Vo-XV4v4eOT%;
zD-?+HOtLIxd}OYOlw{gK{w(Q;q0Zz_I_LiYw-4ax{X6=7c(oUDwS9~7&ReN1rU?SW
zsM1MLYE>P&i2w@spMbz+O5AEK(?htow6(Em8G}1D1UBJvKGW3V9Hiw!RAU&`{Q_2(
z>TH}fA{PD#bcIb!e#udr9984FXk|)1NA<P6{oAQgA&z9y=$-ZIPC$D}IG461R{8l6
zWU#lh7iR9@iDK}_Y=QjB)Mi?l533g5-6#**QLRM1?&=^I`QvWXDo%r14)IbudXa-;
zjeJEjO)j)5ea~_-mKJio$p(!f6k2wgpX?ZS9y)4e&ns@%6z(p}=fFJgFT$vcsFppa
zPfvNlY=Ke8gC)dpld4ZGsrQ-)l>J9Y`f&}m5;&677MF6|%jH_zv!->PL#m$PK)+Tc
zs$G)4=SZS@D$tqcGBV|%YT5q)x3?5+y#vM+R|(nvU=Z-9k{iO3u&2;Yb@vPoOSo9N
zT@Kqu*9+;M?nJ5SBO2yAhiUiWe3PY+?i@9{ESoEvcw<=Yt={TzG{(j?Mfj8Zu%zQB
ztD-caC?#c98ji~3pt#&FW3<<wmc2;+5IUR&QjKV?9x<9#ZiI_y?QSJcDj=dU;+jl|
z%eyLkX^P5CB4Le5g12b}ywX7uiQ=f#QNZ_uO4R$Yd}+Nv<f3-aO5FbdF?8XFn5Yj;
zIa9EA{a9}tR8gOuxjPCs)>EvlBdVo-+j~8NfP6{8;?RyvZMuVFwez1!>X?yI$0Q#C
znZ?|w3OM&VE1WNFqqa(X(wvYn(g(RlCK7TxBosWsNgJ^xjZb2z%LS;qBgq>(5ERrN
zwW-CEp;oF-i*6Bxk(kLVjY|@W)8ASQQdt|Zc;ltRup5Pi(2`_xO%V-DqMvDn2iJhQ
zRAv>RLfIY&)EG*YKXQh$NK1bz_*ddFNjk9j<F#lKNY-a$n&psyJi=7dKFX3ReV7ee
z8A(f4bDGxQPKAl4@|XmvCsOzJ3Jh8@Y#h>7C)-*}AP%rO0C-)fh%@gb{a6&5Ll8~g
zhi}SH{;m(6pN>9m@0S(ai*29jmdEBKOPOVc+e1#e?T`-wQlh$b5D#rXZaG5NWJ@DX
z$dzSndAK7y(mF9x>>0w*dTOZ}iTW|plwqOKjIt|+EK_c^n%*gt-7=$oWK^IT)B*~U
z#C5NKek(aiuEpU9#n9<}yg_V{SxW6ROnmT+ka>gw;H*JI8g^<l?Zsh@%Kb}Z%A;l?
z?tAUrpP7=<An;7+u&u&sloQrPjR7Q{$^tOnJSxfS;AiIK%8pA<61v{JCPuh(LTe$p
za1y<zN*zt{AYjp+-}Ka3;B&p-otO739m8^pHfXJz^O3PS%!5Q{*Z?4(iNRCdb_L?w
z*ZK=`Npp8d;*9xV{v2zjCHgYKY_7^t=@fi^T>(=e^J)GP<fG`s@9a;v+>)MQG#_&q
z$R%|BSgWCR;bZNlju{ddm-AAw&rN76j!SZ`gi2JhyBRIzzqkmHz>pvS7HsL>XfP=y
z9-|SIrDTVVj?TsxM!K2hl$r{Y;wQe9p!Z>1lXS8l<Kv2VWxr{4YYb`?79apsS_Bz;
z4~y!?WYnF_xNS&_dn(H67%;9;#s`S|bH(7A1(J`c$zx_s5rvHb)LZ7K_n6YSv+*lh
zSp%dIF+Nk7T|X1b&c64^4~8zCH32K=by$kQQmBEBN`z*8t^Js*oyl13aZh)(wa`q9
z=SmG$I-LXHGd~<NifxJK#}%!_`?;n>4GS_S$}|9oJ=LXt7-2<q5Xq6H_KT!y3{^~z
z)W}Uh_p!>jFr_MUiW%IILLxtCng%}eLUCr%5sPH#cFE;sX*9!bq)-}-UH!!V%vW;w
zmss2K7+|rHOny`fA!0mkYDo5l{euB=Lr}*0D-3a@YoZv0WPwxVkDzve@CN{Faw%wn
z2_Ke+PzXA)cBKjGd;Y9ZyM|g31UpkW4#ws|n@0*AH65(yyB%4*3T?;K>emn}Q){qU
zByN(rmIJtj6|O5s)r6|jD2pwI<#1WAZb2kh%gE{XAn>op5~mfRR|!2?7xGd60IhDn
z^AoT8d@(!x4%y;c%Xws$vriSLm3bq1Uz#$K(V!hagbYU3-5aq=#VXS0<MJz5ZEdU~
zy&I&+x>iXDVj8t7uB*^u%LJRPC{^+!6-w2RE^e;o1@2{A8#e=3nY_6LI%w15%!<~S
zF387Set$q}Su*IIJL&cQ)fe|0t29w3n<eGeb-kFFtKCIk8SWX3O30OxJN#Kn@^}4p
z{>cirynx%r#7X5T%Sbv)A9ZSeIELjrbPA!575ew;ByJ6Nex`1*^&V-UHTE93ydt6p
zEZp?a4wev>I^%n(++?((4}j}}Z+$Ea+FHA?bJ^dLS3^T>8S%4tRC~KHMI^P<3yhtX
zhccGXzJ*4(dU!!O6Yd$}YS|lNozJ5j_dYpf^3g>+DdHZ$J245QOp}mjZL_pezFco4
zjhO<j=h$hI{7wfsx2RlLqtj8^%WRWKQ3}NEN=K0(d$PjvkmNA@2Ae&&TO#Ujy!%Wt
z0DJQKFbPhhaK%BY&7lf`t3WF9D)b)4r|-h@cNvOo>Jc24iWZO@)<*<_dw>}ncIp%D
z-2He%6*nbLjD%7glzSse0rA9d>_oBm0bblFtT8v3e#~gK{{X@=!C?-p1hRBM=<X+w
zy2%r<T=ZAP?5PHTdogzu4N3JP6`ENjGsoaTlrgPy?lt}RBxsd@$u|DreD<>3lE&Fx
zP*D+%pa*_g3=v5#pk<GDLL{3s@~@c^AW_uQq4pff_zYQOOHfnex1u>V-jPu!kUJ0p
zDrZk%3)JFN`xSU;t2^3kVn%5j!xw8Y0+c-oH9uY=S*Twh7OtU5Ey58RME7idSP&W#
zJ4rM&`Y=7;0f!2BpL4W<LQQh1mx|iTo*(z+04VxSDyh@zOHZr#B6XJC9mGZ9T?|0b
z=furUxwdEFOj2{Ep)ulJ50h$q_XYzZ#&nR(6)WwfN&0ac=&MrOD(OS5<29UWCUmum
zOp+xOXFtmt_>aW=F-Sey7n<0v=q%h$?$Sv$L;{)`R_W{rD7E-t>LRkASD_R0)<4HL
zT^$G0*B18KPkJN$&-qw?&UIgt{HOOnpSuRfuTSa%ewDBE{{VB2$<uN9et-SH`R<MQ
zp3mQd=JfUWY4HQX^}kR50B={o<tJ0_KZ*Fi_u&+5&-GDuPsAO5Zr`8&{Bc-|bAOs|
zm#_Zg=J;T-&{H?7`;l+@x5KYr`>_$!m!Lyz>j&ZVZ~p*Kr`rA4w9dz=3y}QB=J`+i
zzum`TJ2<Ih_@m_b{w5ETK`dI5U;NAby-)kU3{_}d>OJjW<kRrK`hR!r!n4%S!|Cbp
z4p@F9pEt^WZ<`gKg|YgEOFpCUx_z#{-NMrzfKuP*?C5_N=j--xDFlFdzsfh`bU%gj
zd~hY|4L?YgxO}Jl$5Zos-G0}z4aeYTPvTEM<p<z=-}_&e`}pUtUx_i(r@$EBA^HA)
z@cvKlV#jnjTKw<$eNSI^*~G{kbqC!3G@ps{51;TmKD-h?uHa{{>W4(?{dyk1C&Sx`
zIENp}H_83q#Qy&P^5V=Kdj6R@*X2)_<@-PW4{j+S@zCjY{!sq_z5Wl&*Z%-<iY<R%
zLhn!4)PpxmZ<FEvU!nPZxFQC_u>Sy-ljZq8!Tf)R^7r9)>J1GD)_o-Wf0X_o&Hn)H
z`+M;-A_CRd`MZzD>Gr?Od_R{ALr$O2S1+rt^%gHb6#h5=08{e+0N;beODD(T0sjEW
M`M=xYf`C8&+4=E}!2kdN

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/images/banner2.jpg b/app/design/frontend/magento_plushe/images/banner2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..6d00c1a05d5b0267f165ae6a843135851f3eaff5
GIT binary patch
literal 20777
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
F|Jf(FTGs#o

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/images/banner3.jpg b/app/design/frontend/magento_plushe/images/banner3.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..fff706df31cc47159c1560b272b3129c8967f04a
GIT binary patch
literal 11208
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

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/images/banner4.jpg b/app/design/frontend/magento_plushe/images/banner4.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..efc84cbe21a2e99a70b33fc11603586107c8e4ec
GIT binary patch
literal 18920
zcmbSyWmH_<vS8yDAOs8UZo%E%p>YoytQ+?b0zra9<E{-fmOyX~?h+gtcRENQcmfRH
zefPeZS?jI&G4-R*u6@d@cAverJS{zK0bVQmJ2?OVs;cY&Ou+w!r(*ztf{(3B000Sq
z`rNGp06cA>xH)=zyNmJgfW5e_?c8kaxozD*JpR`1JiOd*cmNX8{_fVcF81EEHumqF
zz>@T5?cMaWPIi*?MuM7eG~MOx9i3DHJ?-@Zwe)QRU2H||=%uA-CH%$wLGB=XZ);kA
zkSo|r%wLlJU&6(n+y8X)(9`~l#M?!ZUiKfYw8ok`wDNAA_OycBZ@6sV2)&^d;^pS$
z7Z4T}=A`9&!~2Hk4Id9L9~ZB%7(bubn>V!o2Kr}ho^}pmKn10L>w3l{>HqDNpPwJM
zA3wL7=Q|!=QBl!<WbpBEJyURb1%SP+{kgzi4F8d!VDDw?>E!P1<OZhwN20Zjn~%37
z{j;V2<pRiEQ}e$C|BulEf&TI9U({aSK>Pn~#{Wp|r61sK&jYmga`W-DwSOjO_z&}Q
z?Ec@1{vmv}Moin&={YIZt_p6pJ|KIrx2l39{qq}cJ10A_H@qTmczJ~d-U#!(5fb6$
z73GtABg!u)$SW$M$SWW({2v+r6R(^QuL8fUoPr3iq5?0kBA=|1sDP3@pAsKGzmR~a
zfY5(<Rl#1~)?i!v|LApk*86W>`Tr-cn7pUGwYQt6zMGrte=0!7(aqb<%hAo9R$fn#
zR@2(n3H%TKPkR2#TLpVhCtrIzB~LdH?Z4tH=JY@47nD_05D`(}=jZ<~zeR+3m1Kov
z6+{I1`1nPH<>>#-Yxn;XGoEK-c>XDl|D#y`)Ad|||1|%*^q-Oc9z6Eo=Mm%iJT#t8
z0eJr^c!1sa=OKvn1P6ozkpCM{o?9rW&%Y?BXsG`H8amp)0396z0}}%S9SaK^8w=~j
z{|!heC@5&CXjtgzShzS?IJo$D&w!8rFQR`xUi=sKfAjq}_VgV<fC)eV5GY6l0AvCr
z6au8Den9oJf#@hmNY9V|z_VHC7)Z#NSlCDa<mXra=R2f-j7G<J33xUK83hd;6$Kp)
z73JB-=Y9YI8XY>X>?>VsdO{43&}2R$%sM$BLlGl!&kq}ZJ(6Ero?%!Jd0VCw($~)x
zAR(h6qoAWdhv8oekdO&b=y+eDqRHx7dk}^u7t!+({i^HvA&0)ja1Qk3CnkAX0lavo
zeWoJ-NCR&087S3NFzNVSLCOXm--^UQyf5g7V?x#9Pl-~FX=9qgVDu5ZttY_(kOHwa
z_HGP9_zAIjk%rFfAzfB9ZZ$Ll0&<V|O*Qy=^^}FWPtI^xd8Wq9<6DK8xfgLzSay+R
zIf<%8{^*Khn*n8o5A$D{v(s9G6**J0;bqj_Dw)d(Y}40rJ?<a%Z|~%^@dIGJ2Xc6f
z%5*Ki#&R!J&RWV%X~mgX+v(&J)uLXBuGCKjxtPU-)J;cG`Sj_PNs2+@e3ftxRTLK1
zeZRlbjBakKZ5A10iO$}O?h}wgPQxe3i)#A9iZ-g)Wk+p5`Vox{c}+7XfzgYYvQCCY
z8b%pVo?IMbX*=9&j?<Y?vafA#kjzdd%f&M;djwO`AHb?ibX8R^ff}m)5f4r)<DZiY
ztIQ0QLH>vazy=TjSf4)(g-HKFk#KT%MiRywIAFu4$fQeYj<Tm!^eNvzdB2=+B4mh*
zv$pNklTSW@$^JO9@vkh36Deh5m#v3@)9{qO%or~7#PZ+A8K5$uo6+wzx=T%g?D9H!
zzPItub!d>R`ttgCK*kQ903csofJa>=^QwC+3#FF=2j}*E$57b3?OUKLM^+%b#-wd^
zLD3*%1NnupY<m67f=NQJfTvt^z0OBLVKGCRR*;}M-ug!TfKc7v$cauuk)KZhvt%FM
z`yOeP<T<!J1no9|_E)tw5aM{KWqA36Jsq2&vPXvQT_TV>A_T>BE{;<&u2u;p57*u@
zA-M;SQ7rNHMt|X`?@sWXEq#TQ*F$^LxCPXk<*4q3<LDnx?fSU#FtjH)2R{u~jK|YD
zcz4t`*l=<?o}BDPE@E(@Kkz!q6hgX9&T~s1S*${*ijf#<`#U69Q;>5&&CZ#00M9Xi
zBe|kQ$7yc4{JkRMQh8``apAB2u_XB5&_yeJ)%no;aJWIlpkMaiX_!c~2iQhYv7%6^
zKFDvg0?a=YofqO(2eG33D_^K4snEfNv9LoACU&YpD2ZZG7*0&6q{q6Ix-(O=+eN{Q
zrj@5yiM|mjbQ_cwx+f6LMN3=WM~CuJB9)y4Ec^*4skoA3`~W7-KRXZ&{~|H@1`1{S
zY=j8jabaS0bygL_nWtDg$>Go_t%AcoOxXwiuBKl(1)3$ESve{?^`CTpk!F>*2aQ7-
z_?C^gk!2Z|a*Xm?CuFT(H~F3X5+<)MO*VM@cqE+gu<i;f-L5m1P?#G@<Df5XX)NQ=
zJcQdTAU9SVf>r_ycp!f6-b!N<)LATsJ&nRzG``@6kxr`Y*_?N8yQ&Sj_6YVWZA?3w
zL$`c;!!X{()QiEmhl)Gx2Uot)zz(#BKZQIHcRqkdC*YQ$-wi21Hf!nuPXPT3-rj6k
zxrvpqv1p*VE?XT-2Dgv+MH)0+IwLD#VSOcpzeaMs4=R*PW0+;~1aLo7X>Iwbrmk5R
z1!hmGGEtsTN3<AG5FL#|x<wV=zH6so+w5YT+xo2zG*3zPxbUG<QIigHu1ZR+<1l*r
zweaNiSeWiiaiD+2(K#_FLp*>lHrqkFP8@oTtjh%DDwyxbx8AeJ5g+=SJknhsSC?RS
z$}LCPAEE61s+Nn;9^X%F(Rhp@Puw%oQKxhxaj+2a8H>_LhRrlE`3XSDzGPm8PdlrV
z^u7^lZE5SgS=1lo3`~4$9AiLN8Vl=(N|uJ+&THN<*Np6jb+7pkv$1|KHOIO`)*LQv
zUf2rHa`hE{2O+l$OpFI_rIQ?0z8iy^Fer$?I+lhQ<`%Cs{8dT*4w+7H+g~buKF6sd
zUqp~NO=Upae|@c_;qgeX<(_%P;}6F8@^^doc&6%o+T!0>lHQp|dVBDTzR1zsbIClV
z!kcd)BPnLaJlkPLIinw(z?DycZRm~Hsrt#zGFE~u(_?$VeZ2B1bQMxZ-NP}lJB{^<
zgj2+aJj9P_&c%&%nqFvcifO=GI{*u#x3-v_BgF4<Jh#d4C{EWJ)VY@R%EUS731C9z
zjOA7B|4}-VBOz^i`NB`|D4(^jZ3iSGjHYDX{flEd-<=4F2xO=u5KcR0y9U|eQF3i*
z#*qK4O(jA;>+HnNSCx$L3aOUr5U(p5`TlmrmM$v+s*opAA(C!!)MC%JX_ylWaTPJj
z*=w~2gV!>C`viA%Xe;*rdaTwz3+7?knEL*k#vN>)a5$zptUW9$rWfNgG@1&IKzW;!
z^EdbN%;V^9z7%lHeAhu$IFVs$MKZztJHq|+R8oQ&8mH@M(D%CGBng=yk?c>L3bvjN
zFkF}>7psdE(|}aqU;0s1Rt9-5TSIwd-88i0(~0@kCZYLDLYp13fq~4eh@=T6RJMMp
zMp60^6`Gb;26M$O@7;uca+;3#9h-o4n@OR%9TX?)`7G{xlKPiZC+*HBTu~7{;whQ7
z=<aY^qV&Jhk;yx0j1?cl*{t~HVY&zUE~zQ01v$ZgUOz7CXMpn+RcX$&=Zqmtq`rn+
zyk#PYx^b=p*_dz>uBNkeB6ALt#_!Z)`nD}<4V?MCT-<xH%^z;u2}mlss%$ovQ(mih
ze$Z@MO^$bElaysMvj#IRtzNNg7%sJPoH!1C;VujM^V%%d2P!#aetdG(EWA%j)8hN6
zD9R~hQaU`St=LBG6v93u@-gV@qy}3Mq^euyRlDM@S}E{{P)Vnhx+wz;r(*Ze5+#Gz
z+U!X*&0xFgix8A=83j(fyqp!#+8pQKa=J3BbJ*0kyx1PLaslm!t*vJ5<zOMv`ZBtl
zSLR>egoH9RG_;{|@Md}&kLq9~G@9S|(Eyj0n%ZzrD{T*MN?W>qW>0X`r-L#o6z#%L
znNqeH|2Px5rdOh4(*G4aP>SS|OW(v<&4x57j_bz-qPJP4sn3#peFBt%B(%byP+B0Y
z04hUzFg`OARlzn$F#A^WQX(=lS(8OZ(Fo}Ms%?l$prWp@R7ph`faB6zXadxZOn^#2
z2*1Z{G{u`_|E-9<drt4M3QcckjD$xcKpt45$cQxi;>zZNZJ>s0H;v%(yXn~sHCKg@
zX5(Fr+BTR=SxhV-0UiVK9Bs*`In@|cX3H>lEf(9jZ%#iZ^hT3dnLP+YLI?|~b_c(|
zegkzWKm@bAV9Pj^vHHMhwACu8{dK&tQiz?<5#ec<5teESLjFlt$XT^aU#sIeHgQWV
zs)wTTJ1?erduRUTu+L;>y?p@Wbz~vuCNPH_qIoIQEf%YKkTDRySmtmiL6`a?h3>F+
zSAWz@J-%hunwsM>GOVr5t!AVG#@K<yCYE+YR?{q4olY%(JodS`qScV%VNRlkJN%ow
z=9ekB;h=%P^~u8+;cVg|ZNhk5zK#CSfm%+>#Yv5c3BMIbb_1<9ROXc&nYOMlJBqq#
zY<#1MUBS0U)%HejlkSkegp{@>n0NjJzCT}2Or_c}-QBr<igl)_fzCuQ70yWesMfWj
zGE(3=!+PPGlQ3`HvmM|U;6Ap%^%Ed;ioe<8H}5+%N$7|z^Pj~1cWe>RT{g|Af}|hw
zYQWQ1M5<WY;W!55Wzbp?fv+cfx4*eR#S2K}+o9M5CL(Cy={v07<?_U5_S&ej8p~ib
zV?t-zdUdOahlsGMrCSnl+@H<Ot9?E+`Rem$8&lo;aYohR(i$O)@aBw@xvO&9`;qX~
zI40KAV^x@%)Hgy=v}g@BRcs^>d%rowrwRrgm5TNRyg2A_+At!LwUrLcs>hx5RSko~
zEJCm)?kk_R6NgQj-4^4k=A;~)B$Wf5h4$pj4O_!{|0}B-_*WsZn8?P}K=MO-llOtL
zM;@pN<a1QR@n%U8W|1$uPiYB8x2ycNHBFMDgUVhnj%($f8A#43#)4>5PluhQ4@yH;
z*`<BkA%9GKg~Xd)ib<uM6`d}+o0<6HDV@fGENIBB{6C%8u_+zIlsr0;R6J~x!W*ZB
zABM=}l@%+3`f0!u-L-smZ#TOsvaNijWea!hRy_Nv^~_THPXx&An!3j&8+i<if5;4u
z>hp|3N%c{8T*_-eCB*{+iGyus7$(qdubW%NZseUWZv)=ypfc~V*HMb-%a~EEr=bMB
z1WV2{G6yi+SRXb2(VK^fn!oq89#}iBqWd^p%6>jin`(zWSDVTL?c3BUy)r+tR8MO>
zv;+n74Z-18lFhi!Nhp1+*g8J+ob%V|ztphwArmh8>T!GM#IDELuopHE6@!>gt0+w_
z{3<w^nx73!8^}{*pEJxNwDQoP)3tnC0&7&Z8Bvp^HZ|~J#rdc&u;UCXjf$l(w}KqE
zUM!<apb1kGvN~3(l@i*~;XKs2RDS<Z5;T`Cpe}q`L>gfxSFW(95P)ZEl9CCaDQ4$X
ziX-BAS3p0Y;4BB$#=BQb8)$oP^_BgeQ^CEirkBuwo}I?VNg);1JU#o3iB5)Zv^N#W
z(Q-s(R#TSwQVo$t?AbTg{+s+$%oopz<v%nWd<tjf%Xh-SJ6EP#4=Qy{k>yt0nlT}O
z&b+D+^JYw{Z+q<A50W2b7UBF(Btg_M_a$PskPLPK*Z1>0mCRbe50&f|NF4IA;cZC(
zQj+@ipTS)?UV<^Y<?$LbyT@ifb@ewIO-=`cQGA9Xvtq5T&@B^=%c$jUnPj&^3z7T%
z=AQtMzKDSl>ogL}8G-{YBh=+Zsi;8h276a#Nr`n`k3Urm-^M<}O)g7|U5uMC^*lN*
zt0unTuw$Vqpn8Y)wh3L6*BrISn()VVtgph?uUv(RITzLLB(Q|!f2>+A`Ai*M@YTo%
z4zTi*>;!tE$y9B-<b=eATUiB^ZHRwBl+0`-t;g3yv9kw9*;OPN?03`)Ogmx{$=kkb
z42F8`@^m#^ztRBnqv1|Ao%7D|c&3FFg#-vTEv)p1ggJ=kR9!r}e)DjG1A(be0JSKp
z*}{j?r6&OP8dXg+`yj`vb=sdXQEC6b?zi#Sb#LbI-;9d9XKy{>s^0GGHOncu{&3EJ
z%lW20B|1_Z)0*Tjdq#6J&1UC7m50X@faQ$vg#%K^Hy$kXzsTdhPk^@C_$tC)oy1lG
zzuF;U;WKOeV^9WX2!B)EPwdTx#_8Yzp~_m1oOgK*CV285lw}XQ$~;F>{Q=UWJEgV@
zZria;{qV<mV*D**?qBUjsiqeWaEZyIckFkia@3cCJQZKa+V=a!!iAYiC6Z6rxUvtX
z?vL#+C%y=H(>+A$-WL|66ule|ltuV*vHKD7P_>vT4m)LN_$Aii8xtNIc%6k<t@gcc
z<YD=fbL<5-%hVM4YxKRe84t1A&Zq7nY{(2oTEu#h1%h$4C{stF&3y5wRb1=*qXmi8
z?ms=5&+DyeWedO$diTCHTbCf8hlvCM)coEFENARJT~-z_e|=YPNHAB7-15l+M@wVh
zB8KI5E+RF@5d^D^ugG*TGXuWSPhUWf4=XvXy&-lp=>J2hrM5>WH}plr9ZBZpG8^Cu
z&)gA$`YK{60;RVwbCmzoZFc_t(~*PXagdXxn=@hBkOh*n87s{MA5TbD_scVt+7OQB
zt7@T)2}&b`j|gb7D46AP4C9{qjcAH>#_nK1H=7qp>5#cylKu}B9G@GRW;Iv0U@q{=
z1#c`w)BEh6dhG{qe$YM#r*eFf2CKC0z7~Y?1-IGgucj55I(3KD&n?vVxx7_S3yGsg
zg_&A!MOc$B_1-!n?5~905E)t^y9+uaUg^u)G87n&hk4t;pG5Mm$=<&g@f`DyQfQ=Z
zE0LbVtvmND;r&WBzK<KV_35eg%g%Cd`I5fAX9XTZUuxFAG64H5eCvV64`%GN^9}`x
z&&)c!%K2sRHzIRw`LMPx$z&xc;9(+{i3Rb#oN*YK#0g>4_!+n;{Hqx}x<O%PM#ktG
zh2PapWn@pGd+rnRLW(i&J`r&pK=S>>*vyjPM=Kf1J|~_6h6>6PV9-TFm_OqOp(LDA
zYVir+vuu%JpV4<iR-gQ!>=X8gxUzq(QiWR6GD$+wjEv;kr+Q1?c>e_fvD{dKdWlo`
zgRXso_p}#H0G`Y}0l%_x&IDU`A#z>O><}ze6#J&WyzbiiwY<;4en#Ja;2%qbe{FOi
zu++XO|DFTN>#6faR}`&g-W%ESs-aVlH2122I&D(g&xErHQ!}17{)F6FG{S^Iqn7H(
zV>hC>$C8r0%|(|Zf2f`E$fYiJcF&I+gsz#i#718oH}AiioeFzd2<M96qEc&BVUg`$
zFk8JWt*8lF9!tC$AT{#%LyAz?4Ib_>yP(Ya7#byy11e`|6(88|kRw+%QU$>5kUaF|
zlXLUDt@qW;?QCE*&AS%j;yyiVzbLav_@^0_JT%5W(XYKNP2Q(1%`cmiJu(tIUTUcw
ztk|_|I8lqsA2OYhRi%yjK`Jkhrs^v!^qWM!eB3P}-Z^4ri$S91n(2o<FHiqyD8|0)
zbENU+JxpHK@W1%LugzHG)O=*bdsfNhn(H7K_Lm7&((ko2`v5`9!Yjt@d{(Im@oo8!
zpU$f&35QLy$3-Q%VsU8f4d*dT!&}Zb{q-q0bwv(Ni#3A3=QTE@ql|=Y*T4GmMQ)V}
zljI3dw%;)&*;baxIc5D|(-)hzxcm9KzsI)j^@43*LgYsk;G*@M>b7P;j{6*9auV?~
zrHb>`6|eMH=jCjg_c2`bTe6Lf>Cq9Y(~?VYsdYO&Vx=0j-{Vh6W}r?`6!{gUW}EC-
z>wYWSf-_@f+mHYe5^2(?A-A)pzPv6KYI%L7b9jVDuIts;i&sCn8KDblHY5=^Y>Zy0
z6ne1)JHoI6x2(=qMAylH(wHE=n<%SvjIX?G{}Vtx*m{?5jExqxkUF*^bS@=mF{gm&
z!H5V(J}=esIMf2a;BB?xciVT4_pk09w4I5E{ASZ&bh8-k{chjiw3>l3Lh`Fdl}kvr
z6{!?v(?%k6EmZa52|%Tpyac{+(Sx@5rGM~#IE*&+TCa1HDM70EgHQCWWQ;UbCm@ZL
z?d=ob@EW`Il!fV{lKYNm<UC0Dx8dJMn&y2)X6pw*_>7&}dV8<K*<?e6C^sRV$nP#f
zo3u!MXxTwZZTNy&bIs7tJgcbfk_^GFj)s#h3Z09;JQ4CaS8UZ@R+@F467g|yDR2MI
z)1j8eQ*sVsM4y;2*Nvq%(>!=we|vFF`lZt>wpM#0X?5~^gCFjo<mNTf``wH~uljrJ
zr4y@G$&JyD+8rRx{MxjBZI62tCgAvO&?HhNd~(!voKOx7v^%;RdBJsCUk_^eA{xR+
zFn0#*=|(jEM9JU&3!5Ftiw$DJEWaaosC@!dN>%ra^HaODqhQbN29tm#iU>y|C+?RC
z!~z$ZH50Su0OZEm$I4C(@E)PGk=yOgbqvwLhmjp)<v!_vDYM0sCjbYE$L_w(Z-{W!
z2j}!~RbY5*l@<1?E>3gHLW}3QyRMV+7=4!eBH>&P<TfFPH?9lyj;qH9tmMHlEHu-W
z>%2f>#xiu$=;h}bKcr`$*`gGsESTBX7N;d-&6*?TnAwZ-!PNBgTIx;}9wSj~;mQ$9
zRcN)C8EZg(esHDhky#W*>rKZ<+ylBU$maZofIc)r0hsGEge0WW9?GV&D5q^7h{q3l
zZ00`5-s9=k)3$jWwzl7)Wb>&vljiuO6MPlizd4?i4S89l;86zEZHX;W^+@w+*iuXR
z9#c=~F<h&w&1Z(=PAAJXu1zKJT$_$n^TT5j*cMIojI4UEbkv>ID|F^OZexHAnW@<f
z%dP^@lJSAgJ*hl-b}{Nr7p7q?k^ZjL?Z=|npZfz?T55bN?v5o-0I`_W*`JDCX&=%l
zA8o|lch&F1nJOk=i-uivY@`CUYY9<|zZ7cVDUf(xe@cp0z8PVmo#DM*YN+b_R6JP}
zg;+l%OB64kjh5Z}0;QE@LoQbC&vm}%Y;hlzxsYHhP4->qoN>;`pKHSzLZ@<A2-3-9
zbR}90D)p6|*wYtqxYOS%f=7HJn2&tWw|7?&91E^zfxbJWOTWe2wfra)TBGAsXqxIm
zX1oP|#Ld;e8Rc?dgAp(wD1rX^!|_1fnW~uZAB?mf&T>f&t1q3iA>+F|o%ou$Yi9iT
zU9YD^Lq9dF>X{9w>d1q4XlS8BL@EHjGeL6`rK&YH5d*4qjO0Hiqhk6wBVF;-&N5fh
zjwfMsfnLqTEf+XwP;dZD?`2yQkEkk-2wK8t6>XcUWbq%3u~X|0%M5jXr^2<(b}PqU
zqjMv@g51zo-2_|m^^8F3gF6P7UuV*8+g_Q`fdT$kDdz2embJ;VkB?7QMrg0<KEYqY
zEy3r7>C^O;Z)6c3MpVpVn5LnfBTc18D{tl}w&J>}G~Juo9ystrg`NQRZbn~uZ_wZI
z(9CjmQ+-6(t6`?4Bvbx+G$-OE)J~~r>7x8;(T*c(YZ;55;I<i)4LVYE3g4hm#)8Og
zZ##e^T5gnBybef?hj3us+B2|z@4|#&ERw3dhE}kkhpN;PdC`$N=4efjYE|6uT1x*&
zog9=)lHqq=5RW-LUgl^yjlkjF>+t4Jf>+PMix=MZCcl=C5JtfjjkVzD>7dSmb`Q<U
z`hoQiu_qGfYW$f_a-;SI2wg@lBOJd9x_&m(mtA3)UEzN7@OCwUnR^@SWj7{)E2Wqg
zy$g;ffZpRe16VUh*b9`&^#thn8XvW!2TmvC6VpCzx>KIi3DeKHHofAiw#+b!+F@Y6
zzjXOHacH#s;ds53)nvRO<fvVH3Qv2D%+K79j@6OUnL>=Hw7eIK7Ef%^%B4PSA@{3t
z?z*RYL#}mPd;TOyv#ME02^)QR#W?a!CZ{vDjqMV8?>+)JSFGPyfq=3?T)JOZRB|Tr
zvx$l|8%lPJ0biD_yNX13s4he+s_G_dg;Q`f5+#&xhLxV{nGe{sS`QI9MV!Wki@>X&
zCk{tC(_!qXW4|1VPL+4`fF#Mbgat8$JNQH|{jJn;!7aP8aE+ASHC$0UP3`nASIYSQ
zRR&8_64-0$^^6(ulKE*&t*)#d)9^o)t?<gBSL|9mDA|&3c{qUa_uQg;%!UR`%W+nJ
zn`G;KXeu6w_wKSd+-75^NOuEk(cx`tBb*EwSrgOrSDa3sE>W-bFH^D{taA=ANovwJ
zZCd$;291%H|FR><7+J@5Q)i{*g}KEGQ9e^n=!wpk5+o4YmQ7Ep3~&s)lf9&t62iLE
zMkrg?P7ZlNo&1N+lgHMV^akFJl@TpLlBnW-)%~sfRS_gxJI9#M`wq{;1q*LO=iq)Q
z3bAK&4`G{*NWdv&^{kEI$F$Nm)$F{Kka4hjh0k78?8xoQLfrZ*ApTq4=jdD4UExA|
zYY}9~4t{Bo&5-)is^1EfTws<wB|J6VY3>)!0`z1<UO4@5$t;DhoPUWl%-S|Prrg|@
zFx``($5%zlMS%h$Gw1n*^EP(9Bqniey+N`eAc%V<&BKLW_=u+Bj_Rm|I5svmF=3$1
zh}pXtDbRLAh0T>Xhp7%E2IS-rrW>m1Y#Y_=8bkZ@&0)ynh7X)crP(COJ218Wx?{Ht
z`1AFURJF3jLRwov(wEAcy4G5U^&MlXoNuK9NmFgBWkG@aO;hDT&K!4Sdg(NQIBIOJ
zsL6g7#&^KvLgr5D!DB){yTg)<te#b~^mu|vlWwF9tRruW#;{&nzE-9KFOf3+erDvk
zmX;<eT@Q~X_H$O45(3yL+1p!p)=KP!mi#4gMcl{fUCyZq{2iE{qG*G*f^X%M=?8F%
z?RhOxIc(e4KHM?l;>~Osh!Srhv}KShAh>_7^N|dg%(W^{=VI<)n3ysdRLIc?NbvdQ
z<RhzAMVb*6ZE!2>%WtJ&)S0gJD=mC%U{LnWT8<DVsKu=mLUBlfrr@mEfMPmbR+ehW
zInw;iXQVOAA2I<=4~@{0rr}_o9@Tg+w9aKsw_OaW+d?oVr2h0UYpBvq$hGiL77uF5
z0axvn1>^1X+ffYf6sv=K@S2imasX+J#-&KTgPpkT*^qai+TCVTKHpDc?--Q<2duFu
zE4>NALPyg8347Pa<`De`z<6?xeCYLpOA}F@NqX<kXahT5VBKl@hHGI0Ml#jlS2b?#
zI5-&_CweiFz-^2HrwWr1U^T~ApG@FY?r|KeuZyR;hLT!tP{q+qp5`O5-da0b+h#1u
zvW2t2KyF@}u)x}0OFbDZ5|MduA|OIndaIKpYK(nh^kvM$XEhy^zX)nhSQrNlmG6sf
zXZ;Y;9Nr0RdilM~v%f&bt-RFCv>wXGl)U<)8O(?XzSQzo)HKMpwQKr&C#RuIDL0ck
zl!RO3mI+X5oAV8P#{!c^H)yZ6srWm>N3RTWRM+By^6cTDl>SkvtrkM?>}7Q9tNnH%
z(mbC`H@Vo5k&IDAB|m}#)#53CCUEU@|IR#?aGuKf#@^Rz-OyE<n$I9_vDB9P9GV$z
zYuIO()G5{97$}2Pt<<H(z1b!pRh_M60~R^u468etOJebI$LC3s)f-;1`saZ4op}os
z5H3aIg>cas?p#h)l@`o&A=+9<meZ*4MWt33B7gI(svPM!VFJ8Vgar2j77i1AzU!6+
z>NVSC))Xz=a+=?)cZ@SB`JO5pqQ}|xEwcsCaB)p!Z0di+FqYX&3P3V!uSqdXBj6r7
zX`%!IlyxcH`co!T4HP-Db;Tl@A#e^RIxIP?#+IA8O9qLvOS&oRqMks7<XJK%h2hM0
z)P%JV>{OC+1@(E)JFj0H)%jk61?km>{f>P@WhauY`uXL#w6|T!EO}1=(b@X8q-F|7
z#8TsHxn@hrZcq5-)a++7Ii2x6B8y=)g!#bmx5PGRJWc}puJN_OLh~qIw1cN;@XD&$
z<rW0ttMomWXzsIYux8@g+iPlUn$X(G6$|`=3zCZrOK9=TqhKR{x(J=Md{>ReXL}VS
zXMH5fVS@5{6UdUOHp+xlpTXozc7LkfHX^1<w8`F9E#HxJo3I2%UjA5Q4qvc$8QyS4
z<Ws3=M5H3881H#TwhTf^5oP-t#?ie)?onlc)?kSoO2RY2@4Gj|PXN=OS%)pbWl|+a
z$y(bc+?*U)LiAT*t6Brgmz*88l0u9)cs{l4kz{Qtn4?&LYoKdQ0xoQXTbL{-!%9cq
zwo|G1+hl#9p(}fF<%P1Q?11t+QVe2xLi}&IsSRmtfIRf_s)VvmP))tz4thFvR8o8J
z=uS4cCYoyH^`f~NTrYWe4(F=$y$>unyB67OM2`^f#6;EY+FbpJ5_9@5uEpVG-spp4
z^AhL@;HLQmkbNKMPc6_e_Km4latvwO#GMl#>xaR7T*ai9Y!#K<U)dT))L0duno1`^
z|GT`2tXvF!%Yu_qTpcg-JCx6Be}W_%{9fn^W3;|i8MH61(rLLc<EqB_4OpdCK+$@^
z=Og8k4<~bzm9$@{&T~lpQoSOo*zc?s5nkai7I%B<lg4BTU!=%{{|x<kOEp2Z0k`EI
z|Lg6<X`;~)UbS4-xGj~T6y(ej{kA8dfR}A%V<kX;fyvXDaNIjwplF7twj`-auPEEO
zv?nXVQR*!gM+?a#Q7)WM4W|fgHHU+ybzEV0BeTVoqhcrPeSPm7?&+aY<zgDbaJ49g
z#l?d|^JqL}>s;iR-%-I4G^B>1rlvTN(x><Q33QID+#50X|9Vkg&))%ssX9`W&7BNZ
zQ!$XIU-zVOlK{z85Dw}aT0n0`R@0qj%TKm}sug3c2La-5QYlQJdPRz7$F*zt-0V($
zAI>%3kQ7<SRcl0dsvya{re!6nK*p@Y2rZqLflBJxqBMT>^uvJ=V2xcW59Pn2l1LJX
z^^mBVx|nWmZbq;u!@HB0w;wbI2Eb|O#{oU*<K4Mq-Mly0b3enY|7fM3ej$WSYIaN&
z%dIq`5ovs_K`mlDKdEUde%sBdj`y<OXW`2Gt0Gy#qq~!^&{s+qiOeH&jLz7CKH>IF
zr4iN~Iv2YHOwR?m`Bf~~c{AM&hoSm!{tLshrZep=D(?}s9L?hzv{ccAX_r+dy}mJi
za3N`LZ?+tsd;*o(SE{no;(LM~2dYJutMVv&ld|9e{nw=!uVl&R;|T~E145c=F?OYw
z4b3u?6bm!Z5_gP>k+HBy5c}+;4EiEp!+D^pI#TyVe0`$@e>3j|nN^pmyG|;cJ+&lC
zT+d1ya?<#=*oRb&DFY4le@GrxfQ$2*mgl#b9}I}Iraq*cin`h?g>p4AX%<>Eiw22T
z9kjP_fl7`RGDfSig8Rp+CS0N4mAOw5qhDE|0w%ZbKYKH2QH3;B$HKBb$`n7259Zoq
zw_>a87*6+Z&k_}z0>xB078Sk9@-Wqi1w3uA6(?#Yp+Ic(nuDb<`A$`AZ3gEyQhi=5
z)5Xx~^+a2!!>(vsIpgPKB$wAKEu=((#xz@$e|}DTkgP2S){oc)B!DkLUz9{U#!e1<
zjDP}?xm8`;0d1d&(rA~$Andp=bY=_436X3JJOb-fqMLQfb;$Xbj}4dmrluUAWhDHR
z%bw~8Y1C3LV8TZO@%VmD*-3CTsd1h7Z=JBJcWF{J_XChCQmMbiQ02iPrd&e_8XV4z
z0_U^=r7o{ww|5;a2b^u(!}lSi1M>DRTAl%2$KhKLXbo!Y@9KpgWj~8tZGkUeaf5+k
z@vgB&llh!k15#8N*i7_on7;}8MQYo&kJD#8OV&(y%!|1jvFm7{A~zS`pkOQ~gVG#j
zjEg2It9aM#>#M-5jP#D;2JR@Q<G&F76_5HgR+2}}c^9`|)Tg7@W_}SA5{3wodBTCd
zU<Mc)9?KPj={z(`kT#V~^Hzm^j!lQWqH0RpZLg}aSODK(T1CuEErmW_Kea8#tCW{-
zMk!_o4&N}6^P!!NpED<K_zVZ95pk@U9FX(%Bi@`oz!I-e98QDd(*XUeEjNW3cwMHe
z+9zV-IAGKYzZg^f?d=QuCU84{{P2FBHkMGjf$_;=+U0NY=nPU%P?WvQsGXdwol5wY
z>s3DM&&Gk<^$zYEYYqb+V=+D0)kN36@D7=*L!}w#E^zj{&+@`Vs&rSY7B0CuDOL_Q
z(%hy}x{wf*yv#r#7Efp!RO)?oMZYRrHOtpx5VP3EfEwFE2!8NBE(b~_4e<De=|>XJ
z&zEJ-nUQ~6h2uq=uzfaznZjEbsYyz|^&64Ld_U3F5RNr&$_}NIeR&B2C60=qA+1ez
zN)vZXS6oPhaMbxxL$hXvO)2FlLDqu{$Vm-3Vfe_nf!>Hj&RLUekrhMEqM#WYioArT
zL?BrA*1$6!i`jK{q4A0+wPJ8yez%)k;N9LxFv0d9NNYIh+e|neG6ERA34m$o#+m07
zo5b*XIx!he@pk%N`5M7QS>D`6bJ)7r<Vnj73*AS=OWa_D>`_L%ze(GLw&&BxjeIDd
zxs{@GEvi+2NR-A$Ni)UcP1583O`B-%Iaiq|bFNqwsiu>9o#(v7k2Y^;;y+ehqQwwz
zQa!k-ZTkjUkUYmSC0P%9__%s-KMvIx+#Uy-D`#NCVq(>%PFZ(uIXSiTQEe%YJ!ENb
zwnd*w86inW!KJ~)su*vgP<w^;u_>%mYGEbZF<@<CQB*%&{(aLn?r`1oqUo$?v%&LX
zjwe{8mr^~P)v<2F$e?Fl;)NC)glJO!BSwzeAH<b!YjFlPg-_4(T47gyg)i~zS~H{b
z#9*gvS~|6A=enE<H0-xb9<@T#^V6-XpFYpC)njC0#8WE!XnD+q=b<|J7diT{B$7{&
zM%&{vOI;fG1~MU@m%zXAO$MWnU8#wraEv&%>||v+;*L0BsobS+$cG&?*SAs@P<VNG
zsIAm^Np@eYJ50oXYYx<(&4_uI`@3tW_zZXBU|WA5KF}~7n-I^6zpkeFcW8K;&Ai&X
zlE>Y%(PiJXAnMQ?<hAf+wbX(%ItX-fB{?TJci7ftP<q8=u_f1Wvep(Wu4Y=t^;tZH
ziLRlP$w+59fqWs5Q4tE%OLSoob>blwSl$+$2g`F-8?r@)sm;!RugG&2WKXeAiw};J
zQA5@dO<p#XozE(ZZW5=DB;GIbop!NM$5)-|#8v!xv{-Q%MOQ8Ld|c|WO)kt<s^n2_
zzV`{RCGm%&y>7!X(EjpK83nTAQ{z7M`*}}G#heuxlQtGAABqu5yf*%u8G|~d<`$?L
zinL({ceoEu@ZxQ|dBI8K%?RUC@u6D;^$X13rv``BpO)k3&MlX?Is4g{v6ts{)jgcv
z`?T;LI9sobi$_6<JrntsK|n~#mMc+&cS+XC7ykBD%e5f|n>n%h?I%DF;`UTX+~ht5
z;(4@Cu)B9;`Q={g-c*A%;JpBp$}+&w1C`nyhjvlydX)Tw@rbmoa!FlV+r|WI<0+kq
z<V_rpFmLok*NTB}f#wWRzSCmpDNDT9<APJ8d=1&4Iv;#RyqP8o)LrIHyhK>R@W(}B
zhgFO(Hn}L++LGE7FY>yM{F9ES16z6mx%lr58-7*}pLr;z%(i~XTXx-)99@%dT%(Gj
z63HtRwl5|(dItuDk_?j<c|&UE-}gTvcO?&<7_N*qFMf$dyng}&w+6-5x-IXLLRS3W
zCv$K<Fd(*n3z145Z94l2`R>K^+`epX&vl=8X&yN^GSF7U#cxW9{GJ14$+^5aS3);%
zb<kw<9nqiLnU>ilkAyF2_KeQ#F0X&=8*w7)m^de#WQBsIxB+u%O@_Ns)Qyj&f17tk
zp-1(C3g15#%93KlyYa`(P;hZxdkSjIqldlPGpev&#3mL%AmKF;VLq3aWST3B2Bv_r
zU40pePLc2GJoes)Q9lL^o$Y(dvm3!fu=pwekKoy(h9tOnIKzGZz-WtLY*tJfyJ$CK
zyXVXwV2NI%BxkNYw19;y?t?m7^6-}Dv{C$oHB=IZBhlMiq(Ac~SKCVHCa^TwY!(Jn
z`PzhEX%gH`S1~ort<XY+BTQ~Yle|qAAgZXFw=SHOmr<rwaq^IZm{ZjhoW4L_0B|MO
z{Okw&5;h$EIKKXq<Cmr<hJo9i$tsuLaDiwli1*4X%Yydsh0p}`U-bCOyCO?SIs=kd
zdE`RPBCx1=0(R_Pma1~N$xuy~=J%((4W4(kNj4Z3dvyq3e-W)ZU?crUqCRDA*EfE;
zH^e-O6Sxx8Wjk#6$G`dof71eA5261|u00!f_kP=Zb&HzqQ_3iN3u1YRI)Bm+_zP<T
zpW!%(iM@4geEzA#{IR~uvyybBpB$EbWL1AswnZf3Eb2Lph<nU(ItDyE0q`pW3y<_B
zwN0fSAN*He)d%@G_x9cEQbB74BB|6bzC9--f^CNi)98V%=F9uiuUe5V@A+fz^0dYH
z??QBh8Ar%oOd`hi4_G08Gh)H5u(k#cc9doP(Ub1ojQ%5&<yB+3su6n3-M<}1*h+!6
z+*W%&LMq2C7}^o0sZ4)$R#|BFe{PEmuIKcT2d>8rZiagst0^0F!sdcNswdT}BS$t@
zU*Ln;$vl05q0u8;FGtg&v+D^jJyp1_tROQy=jip8JGmYc{^ZA=jou^I_IcrxqRpN!
z#)7#UHjJ$16&PcE!}3VPKiAr?6}OTzz;GX^82!#l;e+TuV`jE?vxdU~R2Rn?FO{Nd
zx)|WjzuWT~YQ$7^T33Mv${~Tm&3g3mtwTS2-{NI1Zd&T>Jg>Lcc3(|oz&zH|b;q6n
zJih|gL;Q-dXC_VVsK~i2mvt^)Y*dyhOdJ9-P{0WpX6n(>X)-i}DXRMdLXr^!oi?@s
zYLqy3<+u7&Es%xhf4UOoCxFH2RHplJiTWw|Un~n}cC6q+1lL^@cB}!i6hd9?c;VZK
zPImt&<vuQBPmzqVP93a_j{k(o>G>q*bgf02H`9+~$3%_KO_)BYFov*p$wn>#?73eV
zPXN{p5XTT0Q`#d)n#xt_z^B>`HvT4wkcI`Exr~O?!v_?jl&(g(t5U2=9dClyVk8eo
z&S0AzsRHBM=3L!Y*&i%4dFnYQD&js%X<*)A)$46xTVo%hw3q=!$@kretM?RqgtVRj
zzhJ?j;SZG>%u@Uq$-wVz#B8Yz$;<X4rIxK6E)AV2@$V0P^LGMV1detk_kGK2Z<(cG
zcD_nBW?~g~<cU``jJP0Q!)-n1R`;*zCjP`yzPtRlY35%Hg@3wn6CKA@IBJJ3JxJ*l
zNr?H>LnPBH_xjADG}O7gyjqt!Iz_J@PCCXkf+;kV)jv&Mq&JPu`NR6Q8S`h&;|F_p
zscd|TI+_E3%2rz+wwuD6baJbcqmzJX9OJYMrN8I`Kb==g)%2f#`k=69!@)*B+!L76
zP!ASlLFu4X%?QfeyF?E9+>LL~W~n<cA5g}lR+$j*|LSf@v#x97w^zF@VQTOkYDT_w
zIhD|{MO%$t`25gCw-+1aGT8t;)fikOQpFG&M%R@Dif3$E?rH+{Y=bP)C0R17%(<Du
zBisV8e?a$vSu{<D%NRzlB<94Enq#rj)KCUjOfmukEhrmkujkcHhJ$%71;v}ny8P$;
z#%q3CIT9K+vc1k~$$|<w9ri;}6MuyjdY{z@-GTbwI9K&gNG8ne^Lk&{)3rXXHz#c9
zMQrS+5i1nA2^60|c($-wg{}?%NQ^TcG07K%eD<zp%p&V|VA(d+l4jvS>=4e7>wzm+
zERnZ&)=XJ2R|AVH#(#J<UyRIUZQTeNz1y=rjfbTKXINLjcAJRO*l2G*&h`t`p$1h^
z!3nyl2#qg=OxsT0kG;N9Zr*Ts0{BvpE>Lw-IApnQ-&_keit@j%+Y5f%9la3xl@Z5+
zzPv8H$;l+U{N0Sz?$*VEq?7pdn(e$#;_bP33(uxYb*Z~%+u39dkbe9sWfH3U8gW+9
zij?ykTJg3!nE3TECOP&ju!J^6?k!z<uemDlgLS_?W6~hnTB8e8mq|`_ZjIYYKhLp3
zN0bN6(LX_e4Gno!nc7K0nSB=PlEZ_e^RCXF;=ma!nb+zuG6n+8qpf~$qx_0>kw=2i
zyk$clRoyMbHU8S~kw*6WTg!)O&-{$Dj{W(yZxlJ?lxbhwMiQzzr6~<R<eQB(W@BsR
zo4&V@Sq&Y^8uPSrA?LJv82M0rmCHj#bujrW=B9b6+c#l)V2j*Af>mR{iR7!COm~2U
zrhn`o*jkz$BFH7k-!z`S!dq)Slt32Cr-6InR|PWuAhcQa8`E9A{v$dj!t<2|hCU~B
zh^a8Rh!OkPq@6=kM2xcPtC0cA=Lz9=_W|8hF0O$^&09jdKb8AVH^;1-sSKl?Wr6x8
z?geRY!>gjg&oBQ_11S=()_N`O`6ti(mzTBna)A>*R&Ao<3p8~S3sc#bC$SJR)=KTn
zbs?h&4pN3u_1uhMwD&F+Cy)@;47U-%tU*X!D`uskkn^5xsiJ8KAL*7JJND6w4&t&H
zp~W3@vvh&xuygV28}glkWY2rE>ng-MSRK`rE7idBJSV{dDhv5p=b-FQ1uR{<%s+=(
zxw+i%`djbo2KhJD8-$>g76lUA#DCjrJD63R5Ew{LXV?=<4LQPNiMMWj0OQUp<tt=d
zV~z=BQEGpot~x$0d9C@Q`S)weMXS_V6J{bCG1bN#cf34pTn_Oqdp9<|fnm7=`9k-p
z`%VNISfE2onq)kwpgb)l<`so732OiV#(ckO98)i$c(ip+xXZaR_+@FVnea$@btie8
z=|JdH(u#~a&nUM<IX(xBt@Go)Pt^uWK&7*i_T&1z*o<YbV$`M8oNME`WuZL0rzyia
zDctZzhmr_6;y5UNzzF|m2IFG@J7Iye4SUmErL^21`b%9C>zq}0>Q!wtrvB{(`8S_F
zu5v(WTB@iO4Nr*YSAH!Vi#2WRdI?J}@vQ5s@=%v8KLHx7G!N{`ranc2-;4^F4D;nM
z;eE(Z;{w-}e>U8xtKTz>8%ymdDJy4eeF7wK^+m2buEAO69RGM)itdi}YN(m34+r32
zW4Q|fj_5a&g6EZfzCG>f5!5DBf~Ur}A|M|GB(32W`wD$K^aqS(hK3Rj@L_dF>L_Y8
z8PnNdSFJ`3AyQkS9L-D~%VyDLVnv|RYFRGEsIirwSlr1ZSus`_*_<{Nd)wEduLf`U
z=bc}pR6lQ962FxUOA7kwfF^TpCI8mR1|XzO5H$S@soqYfP(S&tzrHCMjg=nGoB^0I
z1vwWLjU|y+$1Vw0-U~s74Jw%O6^*;syh%1w7Jldp<VyrLt?*?szZ6b@tE~;P$k@Mm
zuQkBZuyXhWAZ@C<Fk@<KRJ`Ksw*At3;btGSf6r796}|5wt&1*SXaA;U##Y2MnQSgq
zWM#$`*pMfS-hl=OhG#=cl;`L?g&AOCWyUQMVM%2Z#{v2$>gs%J@#;W<R26$h_We~C
z7}!9Wd)KkouD-uzN(mC)F&52grbgPrkf)kt%(uQ2(0^*tEbQh$$ye`>dZ!XF#^y=K
zYEr!SXiq=DcrLYaEunOG$_2F2cMmC%NaU?E<c7(<uOAw@lDPg8eram{K7Dib2RZ&X
z`U@H-1|xDTq-kYA)Q?5$_#o|ocT|q~qxZ9=)xo&qWAK1mp6|o$FFLt8KFDrDUlMI1
zMSOv(=pa<7X<e8KAWqd;O=o{-XC=c2to_=y`F8Wx!!n+4vE@1qDSjqLBLx<n3og%c
zALONOnbX^HeWTkiuA*r<Pr5->6@G;i&8|u{>{VrD4HI`(e}#RTp?|0@^sXGyrwpca
z(#qwK!Avf#Xfc!73{NvpO)wG*VjFPMS9s@T$=R|!V8ibu=kpc$pe=GV4=uyh6Qw>4
zbvb7vKQ%&6enzAKR8fdv@KJ5bWmm;6CdGZ!)nF%yfMK@?F<7v3>1W&Sst$|^Z8z@L
zez-r_fOBqJkR=>RUZp9dI9wl>7aCx6r6*O~Y^ima2RZ*GKw(DIsWu1WzvO#Qf1o#+
zFXOD8iP;nte`HuFpczRdV)+-B^J9X<Y#c{+%CfF|Eh{8Byfql;8pK{nNc6m)zGsA@
z#aEd9g1xEm53XZ)Ot$F3f}8Bu$I^y<Kg@Iwisf)8_BGB)tj*Pr(!w^k34w;(@^O);
zg2tLY50i_86RS&|e1jX{b*sAXZZ>>yFE$pOobXd&7PR13bW&paDZ!W$L@E6QgB=zp
z)yL`@^W>5bHEW&yM4N~#o*_*$8DwukpDdlqV|Eq!y}2}6ggA$4+F<DGyziY=Et_`O
zqYRVMvaIgU`x-LBzbvYty%T*tS`hsQ-O0V`s+@P`+XzeXAtVZqlY<;Cw9!NPc)UDS
zF*bJUUY8|{__zKK9hc*Kxyo?YwVJM#5!j0<xJk>S#v!|QL?g@K=&1<FVvrv-;y|uH
z^(b2`(T7a7@so0)xEg0uU2=&w6L?6@l%=86v~7&xQ=sbDi|D_OFObt<0Jsi5y8-R<
zW&wcE1zXN_DhDhu++;g-cCA-L@>U{9rCgRA_7+j%rQ*oRN(CUFR+*C7E;%hlk1C|_
zSd3>LDYa*SzK!RQ$Z}SI(5G$#So#Zk>&+7c8M(2JwtbE(zmrO)M#&x-YE>>&`@ckz
zl<zAK#+}3cC@GdRtAZ<cw$;>-g7SPA+P(IDg$g>%Lvb>LGG3V(HQ+X!HPzox)KgH5
z?Jf+2`MwulZAh&$OLmBFfIX5~Svx{mODX)2`BUFV1g;fUT7ywn@x5(xr}_~31?J0d
z9y&@qVl&FwKXxM?8wmSpe2m&w`aH<h*Iky~YC%lK9bzS+&4!b!K{%Y%N?Va;t<02{
z=5=(G=_^kFf_|f<HP>2DxpIc`>dhajht5?&#hrN{ITb$rJZ@J}j|$n0N&35U<J_?i
zw$>l?YE-~a00iIHZTyx}!<w2irAx4{gXF*$;A+tt72(mT37LlSoK#4zdaS)GhXE6v
zLTOd~=BiQ0Tv=uPyU<n)u%^VA=Es?c)YJ-;AP>|FYJ}qyvzj#%7L`5yL5981u#S&<
zVJse1Dpt;28?GauQ9^KGKQkML2mV_>nGjuPQ}azxG9CMY%QVtR07|IvSy5=%cDgG*
zwU0SeZn$57jg?dvbs<1?xRsrvfoMB)VKsue;`uhI4Sr_qA=dN#$`{Y~K)ccf%|2HW
zUdBAI#4D>HIO`hcN6YsWz613+vsKFgazujcH#$iuwWIXw_Z%|F5F%NYvdBt+F_jQX
zRa*{H<6)=V1M^0NGA&tYuX@-hiA0(qTlptqRzB%ONaDqexytRFy;~iZynn#qZqdR*
z=!$HkygZVgS7bW%xgq0lQ+Vqt360-&em@u!vmnu*I;qaSsa73i4lG(>*K4Loo)y$L
zark?zsRb_)VVNt?<m<|_n`vP4YC4`TIBI>1I}<V!xPpeiV`&>SB-vi=5qleu|1)mS
zx+9*N(B#WJfr@7!{7AR+ih8Bj4Z@Vez*#M{89>*Y?%Bh})|Kz+O+)YmAYZK7@+03o
z>B^$k%Yi#NyTIl$7iWIC=~vKNs8RBq)&AIDVb&103w;8x*A|n|jU9QNlvl7)>{AI|
z>s9E`X~Cl##UfD00(&<%8fN7Rm2)Z<qhZWk%v<p5^O-C52sB(aH3{!-?C?@m1y8x^
z0=&*Eb<KJo6+zs9ShROq_ujg4HOjX?20v}-t0~MdE?sjr<aiOwQ!ol0INQm}U_wZg
z6C-5x0co_aFvy(>k>u`ciHo30=&G2_{F<8pou5>x5;CKDGa~EZ73kQ}ZGpj;mB>aV
zu@n>=Y0QyAA|slkn(Z)WM^<LwWRW8dRk;3qkB(NwuiSav8Aw2=TW@w|h2vZPCqUD7
z@*`nI6;b%~R2KZ}Z{ubE>Qsk|*LR;;lgZxqY${t*$`<QGO6zT#Ma>|o7UUur|0{+E
zdHB?yPIA7T<cgaPOxv>7PCp<<t^WY=JVyl%N1b`i=E2%^kJ5X7H<XU%G?o%yilVtx
z*8oGzuchXXQ)}-WDvhQ0V&alDZ#L@vw-$95r@8Tw!^L$<1<QW+w>?8bJ~i$2DJ@GT
zcpH##lZ(w3^l3e52KVl&TOmQo4|W^hiS4LVbPn@HtxlmsLa=n;JL+mdK|0mh@4pJM
zFrZMeHyV!9QmGmSm4@zCeSlGzWH`i)A@35?<TiM9=uf+iIwhGGF2sR|Y@`mgDZ)7q
z2&lQPf}>-^cF>!7ZG`)-ekQAOY?4FUC{ebWb{eUY9;0-o#HQBls$54=!6&F*q6XB!
zZ$VPNVQPv47D5%nS};IllCPB7)Br31B}ViCfZ$ND(u#l*f(g2f3Ls@pbemfJ^f^!r
z6ouJF;*(VXw^&M(ry3kbQKjYx;i0O)Zd*$SUIL_;8UjhSqTCHwu@R!&Qcc0sRD?F<
zBEic>b{<AEa-+N~<1VBvDjnd|T^T617gd?aKB@W=xC~3rY{rzh?E>t~DsG|^#HpTo
zexHSNw>)~1)eQR{gJH}%s9pE|<ss>==~g2)<|<2tG3TD90<^QK(Mdg*8rIGt`;=X&
zX0q}t<~Hi8<a*|H);A)TP@a_o%<EkV#)k}&F!xcoKN_ikv(7j0nn(?<r6_jusU|Sg
zu(gns+?(s&Q%oBiT7c4SU0tuKwOF5Ww%<W)XzeLrMUGu_lgrc&@m6Z=L9XPMJ~yBR
zK6;dOBB11h5!I+@R|Hz1<T?&bMoI>W6<d)cg~(?>PlO7CV-+AI=rru8HZfyj)POpG
z8UoeTU=6ucDh5=Mp;a~pRD3pXjUGS*g{XMAP?G~GC<K9P^Pw;`DR8Kp=|va@TqF*o
zdU*f{3r(-ajKIQE)6Vpgpb4Y`F0h+{^C$ai6ToP13t{z^kgy%K%O^u_(N)IeWa-qC
zi%Pu&?#EJ1!1ju=E`(YUt(2Z5q}969BS8zX7Ikce`zWG$3_?VfkI0}05Jkl`Q4~i0
z^c!t%=UmHSRCdPW^E~$Du$#wm;BE_z_nstLt5%Yln!-rgZ+kTz62>H278i4Ek1ihI
zgj!NG6PhJ#Io=ih_0iO%urpOx0)GKzXh{b5<Z6jVfJoyor4U8WZA3%Macl;ZR6@4n
zte%$8Nur@a(mo+hs26T+`FRSGVr-Hz5w-wJX&qg(+=!$&GZc~v_;yrv401ytSR{L@
zErkUE2~QDqc2rv!I#i>rA&L@^o;0d6aHSps!?u-2Lq0FmX#jyv1SkQoZ6@eM%7<9F
zxB`s8-61I&YfWGVsZx!>6q8_Qr3oON4LktKijT`f10zwWrT_|00YyN?lnw8D(x4ep
z0Bg^cHUwiW4aBJuqMn!Ip0*EfYEN;j8;eanQOz1HO=R+7=+hH2GjbamC|PZuDNy2*
z>@|J4sm7?TaMI`-(9@%Zk7Z1NL56~E74G3c1L;;c8;X)_C~9K%w3T<-rLBsFj$`7!
zg*5zd<7&}Or~(hT)Re-6ZF>g}rwfr(<UXxSN!2&*2B+#UsG+TzmPMMC)H@U{_)^pr
z3|8Bgk}MLm^B~iz0b@9_&4QXK{YIFFBu4;rr8HD1ENV5iBU)7fa#<9r0hR+qi+9qf
zz!BYgRUHEYX#u!TV4x~((?A*N?xq8BtdI(|J(U-LfK(PN4^8N;K*Ad%imo|QNDP-i
zRju!)<v<5dSBR23=~AF?@{K%3o<L}om1spI*c)`D5O`CfKm`?kQA4jlGBx5UpbK%d
zID&)jJ@pwR)dq;ymaJ^TyMHSrgvd|nS0#_Y)+C*&_%izIjXI&+pruzyw_&X`DGUh<
z<z-XM15%X^bWw;jcZ<`g281B;wMa(6l=7wq!K+gPaDpfUew*<Z6u{K7+5CVW>U9HP
z&;v>;0O(h{x{$yVZd8EVrhqmA)WmEB01HqCXaT6Fs9i##hyf)%HcbhjG)Qx({yeE9
zz%fK7-Bvx-Cg=cHjW$ZUXstlP5Tx-mBnC@>D2g=!f{?RtNHm(L8-ZcW)1?5wQ92q*
zKyDC_LE+s_fDtM(A3;e??kq=bLgW;YD9VgS5h_UfXLVD5<*4&d{HnWe__A}y6fN?q
z+7*T+ByrSs(117~9u(*X;T_aaM!`L_=my|Z12&)ytSAFErU0M;KmvdT015yU04M-Z
z15NzFYK3Y5OKBIe_fe$*qLien_8~NzXbt*8#mas3=}<RMNEc3~nxX)(T<SV;<xy1t
z!Ucg)9@>-f18ZG2NgdSl03|CQ-$^D0{0)w#ih;3DRkfk2fw)aN07Hz05VYu|oee@!
z>Paxv4xxKk^A#nCnZHFb8wA>l0k{+awS_P<KmvdT015yU04M-Z0H6Ut0)Pbo3IJ_K
z$~b$eAQS#`$B#OPP!tXW`)Xie&yex=QkFm`Z<R#=tv~U4ngF+Wij08SJg7h(nvfV*
z9$(u@fMR{r&>M~v04M`Q{Kwfz3^Jr6BaHxWNC8X%KmvdT015yU04M-Z0H6Ut0)Pbo
H3IPAv_!w*&

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/images/blog_bg.png b/app/design/frontend/magento_plushe/images/blog_bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..f20b394d5a21879e9743f3f98b64071e1ff88042
GIT binary patch
literal 2999
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
OSDNnVN^7J9$^HZAO5b$=

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/images/header-bg.jpg b/app/design/frontend/magento_plushe/images/header-bg.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..994156d1a36a237b84481ede705c9598c5794ec9
GIT binary patch
literal 21105
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
D%TYd+

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/images/info_photo.jpg b/app/design/frontend/magento_plushe/images/info_photo.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..dc150e4367e783cba98100101beaf054957f3a4d
GIT binary patch
literal 7859
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

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/images/loader.gif b/app/design/frontend/magento_plushe/images/loader.gif
new file mode 100644
index 0000000000000000000000000000000000000000..53b5ac653eb1e7f42844e5fc0afa59a62110b086
GIT binary patch
literal 477
zcmZ?wbhEHb6krfw_{hNU9}NEe`^Uh*p!lEL&ow02*)hP?NY8+o5hV0a%DE^tu_QG`
zp**uBLm@FMu_7lwF-0#kFD;)z@h1x>7f_WB5Ce@9U|?X<ZRyWE^md<vb?`bZ$-Pal
zxQpV_J7qfSBHPy`Z<(ambM<BRsc+L?Mg8Z{YU^OaV}h79Z%4$_tyQ-rYvaCoifFWD
zich*)wo^f;|CZ&YALs6_`GL~}9f%wJCJT2QeX;ji+L_j=$4i&EC2B})On5QxLqzBO
zo0q<C|Nf0RghP-On-ic09Lb!#R%<cq%&fY~JJ&j&wf6}gYtno&E6hCYYv}Fgf2W<#
z59VORY5+78Ze#`@$x1%g@M>-1-AkSiBWArUSr@K3Z_f0lcU+h5EnEGE`H4nb1J+Q0
yI^ott?XHsrN3MtEmnJ>yWGJ1aJhM#wMwX`geuI?7lUA;N_&EUN2WwCSfB^swKeCPh

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/images/logo.gif b/app/design/frontend/magento_plushe/images/logo.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7f1dc1ad3c939aba615ac5f95e5d01a254659c2d
GIT binary patch
literal 3454
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

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/images/logo_notext.gif b/app/design/frontend/magento_plushe/images/logo_notext.gif
new file mode 100644
index 0000000000000000000000000000000000000000..133a77524368fb060a9e47c72b05a7240e75d68c
GIT binary patch
literal 1964
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
ZD=A}1ovq}3`ab9XQxvmF(8NnA{4drCA`$=q

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/images/main_image1.jpg b/app/design/frontend/magento_plushe/images/main_image1.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..728174638d03156b34d6c3eceec19492ecc0971e
GIT binary patch
literal 147971
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

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/images/social-links.png b/app/design/frontend/magento_plushe/images/social-links.png
new file mode 100644
index 0000000000000000000000000000000000000000..66eb6c9083e3b1f170c19963bf849ffcbf69241e
GIT binary patch
literal 7564
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

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/images/texture.png b/app/design/frontend/magento_plushe/images/texture.png
new file mode 100644
index 0000000000000000000000000000000000000000..2b5301b01cd63825074a43b5878e339f7c212f1d
GIT binary patch
literal 81548
zcmV)TK(W7xP)<h;3K|Lk000e1NJLTq00Hy>00Hy_0{{R3Irzf40000XP)t-s-{0Tg
z-{0Tg-{0Tg-{0Tg-{0Tg-{0Tg-{0Tg-{0Tg-*D%?BLDyZ3UpFVQ{v_5>+bRM_WAs5
zahy&7000?uMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o00BMgNkl<ZcmV|A
zPmm<pb|2{d&W+}Zoqo>oEX)cOem(L*vk+coL{>wq!RxB-2d!j75a1szrO}Xtv=#vv
z_d`Nj%S4K1T4*EDWa4mWS_<!VH#s|@Gb8KGZaTxSM`2de>E~R}rZ%j&N8gwJ;vfJ0
zKmAAl{7?S;&;L(<{wII&7ys;^|LH&dlRy36{>h*I+28wnfByIW>7W1E|Krd8mw)ju
z{`}AW@t^&pKlzhC`#=AqfAD92{?GpBfA**U>d*i2KmF5x@?ZVMpZwXM{mZ}j`+xC&
z_-FsmfB6^xmw)xo{?)(y^MCm-{&)ZCFaF8@@xS_)fAKH=`TzZ2{gZ$CcmD1_{=0wh
z5B~n2{@uU#cmCl&{JVeuAO68V{)fN(FaPAf{Q4jK!(aaFfB&a{ynEZ<?RLAno84}=
zySv%Fy?MLay}iD>yV><`uXkU)y}8@%c5i?A_1j<m^6eL2fBp80w|8HE@%HT(U;ptJ
zzx?WFU;pxpuYdW~7hiw<#TQ@SeEs#?uW!Eo>gJbUzkU1m559i;%U|Ao{X2JGy#3|d
zx4-=5%`e}+ef!1NU;Ogb+poX4d;7)PU%pMD*JGX{=f7@Z$9CS~QZ7<4=Ke5mhyUBv
zRvyGw$D5Fv`?{U>rJo*FPfy8qdbrph+KB0s)DJtd!20GfU+`O>JBk(NIvj_nSCh!Z
zWYLtCKD{<|9QO6Tz@@Tkl^ml2Vqugp)H)D*hPycW9lXK<>@KW?sEF!_DhP33&F2A7
zs!jkHhN??tk3<28NrmT$BwAH_LnTN9R@1t>{nt|++*{@P=BE96COUMYmycZt&HInG
zxO9g1CE&I4T=Z?5_i`3B^V9MA4x6WKY$9*(Pe0r&aT*?9wx<uIX|s--+kztQ;?X}Y
zcRa%=pXRid3)G*=$ly7E$=sX*Pznxp6ljE2gd~8N5e8Ejp}GhpoQXQ00hWNwQN@;V
zQD60W#oz$JFo`xt$;O_g62$_?sA|%;O*$Cw@;LKCz=(g7cB6ld;tz7UuULBSZ~S)o
zY~TJh`r|H)`@g-k50#a>5#onde(n48an~LJ*?cu|Y{YK=-K`#$LwY`T=QG=xHI%Z1
zhqhux5ImG~dDg)}B-KKyx&#qyBva3vgmSeO8wxftXDF$edJN<uAZW8yWRYr_7}Ve-
z%D~zK4lzKHBauJ=BKHvFs;Z}O$FfSgBzixCkJnJMxwRp9S>-m?J8-I#UrjP4syDm7
zzCZH&`pLEAtrvZH%4;WIJm1aBIN#UZla2C{E43+K<k6<`!_!7Ejpdq|R;1I#QFT;Z
zuI*ZBy|7a?mjaM07;pfXpbmf?CFreQQU<xA5&<BOGK*NLLKBUGAd(=sL?5CPR&=cj
zq1C|zQ4thLTus~*SQ*pOgGVu5)25@14apnF+SynO=?|ytkK^j%%k-%|9#D<fmVr~u
zEo~lNPFXa-;~X}Hn^fOQ|M}>T{A?Z@oc`U`51wm!BR>rnjoU{v{E%w0;WT$yPaItG
za34-8!9a{Al@<{f38pY}gJC2alarW`Kx`sDglL2V96}TzjP8UGgI5vLCM3}WB0Wux
zP><9~=fJ4p>Jdso6h%XlZ%)fsB@XwX@wijg3A(+P7?w(rH!laB2QQ3=U$bQV`gyJ0
z-Dz>TOv~|h=SMAS!e}q;`u10Txf|r8?6Ln*=AL^2<wV4eibG<5d;@ye3r)VOg{o|$
zx*`xDbQ=UaGBp6=JdPI0mhGv+7GE7>kde1Bdd;y3_Ub|l2Z1JmFkxrCIjII}I7v^6
zK!hZSL7cs<P9|Z+!Z{UdL?f5qDg6bx4ojp|$B+*_f7FfCbYJ&7u`=%8Ow-|2<3BF!
zXI^?IMSQm3XSsX&>)C6alA<pU-MhP;oqlSD)t8Q67MtEdjPD1N{M~ZKQB`NYn2=XM
zqK4EkP$RGKb#Yg9O(-Nw9g%EAil)d;vmjZ0Ca1+Av`m<Z0z6h&AYe-mCvqk8juym1
zN+1iSFj-j#!B`O?iT)^AZ0u?F?lNBa+b5Z?lN}OI>+hPrNegXHvi)zDp{u{vy4lt4
zdU^W&kHpg7?_S>3DYr)}SkUc$H+A=ScONgCf^U|aeO<?V+v<F`@L=C%MxVNCLN9Gt
z!+%cCr-~2&026@(4kHGF2tZF=g&=IMj6hH>WQ1l3DlmAH>M@FplM*Vp#|jvU5jWEa
ziV6)-GVU2z#Tfygh!HD-qMp*bTJ;OL$+q6t&Zpx;3=etkY!=f7O%iH6=Y0DxGj}v=
zc?{7rZx(^&Z>Dba<%>?@Q3cCn)V5`3Kg=w<0?D9ARjgmdu;G|g@5*n_r}HNx4@dM|
zJp%xVFomlG4I}`Q<U)#IfeX|nh(qWKOI22AtQG{bZ06$Lz^DL$XTWEW5Iam7)l!7W
z*$X)|3Z!|mh@4Pf>*AzeTz>1yucyOuAgzZ4GP>97%V~A4Hp{C6#0moYm){;)^xe~C
zd3YIa#<XAV1)iR2lk)(g%jxFkBX=hOk%SLa$A?h5lm-3O8ZWbWT`F-^R5PHmWwMG@
zAm%_7prKlfR)<_k;BW*1Q?E4$3GS%dj2b{)B%+F2H70;8R>HuraH&0l%dH|>P_IlK
zxdfRopedCvQ3#iHS(fXS-?n$`{NK;m4V0nY_?GZ)&FhQ%^7w*f*F<09-^NqfVHy{i
z&O$R*xj%fAJG#o}JB_cNi2L539fhRG_TXKZD_pGSQ$viG>OmY3Pb^m9nS;XMpm|RL
z1zM~jaYh7*rT__$Oh7d*6#xR%RdwD4tpik)-4VRzhJ_L+Neo`e#l^Kog;e%{&I{2j
zc$re?Yo;t^{F-U&+2z<C$ECB6Mwee-Pkg=jaeL+qiL<v})^D#K?5lO9;iueJj;Hvw
z9Adrs)i3;b&i6dcn@9ciaBp%0G~Vn!9BX!J+N+fP_jaAL=ZDMy!91w0gx-AB1{K^K
z-p`9-A|Vx5WfI41fe3RFxY8Dt!PSei!v!F8QLVS+0~~GjTeT4C9Iz0HIw_>bvcRfn
z3^PiuRc}*@{A5)3wct3#_x*W!;lJ+AzKqkW>^nIQ)KziuogO}|d5Pv*iqM$fY=+yl
zKm1^xwv;omOmqGDiTL@P^~4E0>m2*x&RiuSjN~!JG6?@l&V*J7!A!w&f^j5*z8$NJ
zt`H}{#Z2MXCem1g)y3ggRmnm_hU$cn8a=$S7<+cq`4I9zu!yRl5sL$PaSvz`mFiOq
z;Sh|ENeS2aqBF9#B8oS4cj2)gMm+D^r9Pg{@6OZEm;dZr_JbT3jJh-9n9fs7vNby&
z-XFiav<>>*@7M8zcI#JND{nWvxG3s&s+~7;2cU5masFwkHJ~*@kwRpKfXGkie|g8G
za@SmQ5a2{){7i5vl==&TrXY25xXL=H00?hzCkh9E%nnLTQcy%ClT|$^F`NlY4KY5C
z0Yt2a6e+IeR#4J5znM47!`-vT)KUzadry*y@9Xxd;WKMxoxa>qGVe*#o>4wdFW-~m
zZ0|PlV?1E<=7Qb19c4E>KVZXvz=wF@SBW{npYH5h<<s1W2Bb$&pjmbSEPeIM_m4D-
z^^qBs5CBV)1PMqFOeLH}i!+n}G&5Ew)gl73-o>E;Y6uW2q+$*d+lg}-;1Qz}a%B_1
zLy%@)XZb8k#)sXyzm&PzbtV2@9`!~|<QGx*cjtnKPW*Y}xg~WQBGPbbY|EH>d##l}
z>UTU%$D8pos2G(h;35zuR1vOz2xGEVX#6z@OASQ0P<1kpNB>9Hd>)=7`lZ%g1cDmK
zF++pQWn%2qfki+=5i-)`)pJA<GI1aq+#FCAvIeNgwg-IiFfEu!D^pBxs!%vvLY7ge
zdKh7RZ2Lc)){g6t*Kz80tvx0hTFKale)hLazioasbDX}>K)O4O<4r96yf4-^l0{{$
z)x44Wdlg(;Og6j>;V0$?hhCd^_WuIA0R^EzU4%u;?hpQWd1$gs#V{dFRTn8rg(-(s
zQVE&anxd-4lr$V(urKU93Hb<d3y_FcBGkwgQD9*n%!V~Y4*_Q}5ZGzbUG@~^;$g;9
z8hd))Tp#;wO2c<^klfqbld#5F>+eq!#e<(lA4At0)v!6ApUO!DOImXFrO7wAdomI8
zEW23<K_N<*tP-?#8B2I?E)F492-JA2@cPv+Z&AO}9|$=uXj!hKx<CN(8r-N7BM}7@
zW*U1NV9MHo<~|Trh%KR`HF8)Wkw}n%C@7J7hzpg#dV)}<1`(1ab@^jAJpgwPQSf)R
z-`C=GA&OS*nw~!HOQGFq{IHR(|IL9JYyau_`wf@4*}_2f!+6)wJOgnjN7@%wjd1n=
zP|5$pr3d=F#;On7O<qi$l*9$@rhzt(U%!iQtS*xFs~GgWTsIO@wCpFw=+3|l3sQtb
z0jod+j#4{fG9o~FkfIB>N)ZK7TTqy=xUy6_MYxy{@$9R>J>RA2IiI`tB+EPHzN|z4
zbGLAe^N;V{@~+ZeFFy64`s1bMI=AvF?`)#ZK3qsk_p|O8>*nl|KD#<C%YA~RkENR%
zRV_85v*(QI`=I8ye#V2r18}lR9u4dD`=7N(ugLUo<)J$bs|?3wS#LV8b3j}wF>%PC
z;vh~UftsN^53RhiVFY`uTlW%9Kn^C>a}E{Z*_#JxAfcB)cmz0yPl!mbD(JB`lNvS+
z^Z1nBmb@MOW`r#D)3Hs{qIs~4^LwIo2)8@mzS`Ef^Kr)?E5+v7Zy`8U9mnfDpRypS
z8aHOH^?*sa4qZBZQSbm*CPM^FB+=&ZdtbQp!D6n1*PV1OLdus_LS3NdNJbDxz@#>J
zcJUg8Q|klNN5CjBN4BIQhFUwa0TeN7*eaDwWhm~%X`spiX#Q#O#2Ukm<n>Y75PtY+
zPnUO_iMZLxHmmR^HaBv4?1({)IX$9H(<+JRDSOGMn9_3n34Ct4#;(fq!`sU}+dvel
z!-r7TGk83T>5nE56$eavj6w9D9O&}Uj$98@-`)CjI}=6H=3}7G0wULNrYK&Y0Wt`9
zl~6IJz_Rk>T3Ml7VPhCTsG#sl*g!lhA{vaU<a~0t3Aw}3U8jVlkf6jKFTe3*GWxte
ze=M{Jo!?|v>nE>|ZS^V(PTgy{B}ez8rBkd^OV=?j#}22*OX7}x;N|?E<MDT2WCm)J
zqo`fiy*br>>*e;|!$Cp_qoCdY<~GNG(0W@|PPNb)){>1h+O>wdgDZqXAe8HwnZ!VW
z30{@F!d%&fz{RszX-*KZu9m~<;;tmT)}AYXHiN<u=2F?y(GzWQyDS;i<MsZEv1<2g
z;!NZGvmt%6Yj!e`QRSIXv6FfK7%%&yXysQ>#&3_0!&jE-S8sW;nG1dS*-5XNwhxzX
zdelKgWErpwk1xyJHv$@9&ea>}?W<*3#r3c|c^M~>MdsV2!Bgs*v-@5hUDQ}X8PN~q
z?7h2KA0f`<3WSMyr~uvr3fBc;AYwKG%v`#lj0Gh~g5UtcF&?_qVk($tZqR=H_h8+{
z?fHOM@Enuoieb2)leFEEsg{pv@{zdq<<q!?R{7A(2FTrCwxM3Pmz4uPoJ9(**YWVi
zTdm7P(81*G#R|x)m=F3pZ@=EWDYemg=nK=ZNIfZE9znW3`+4PRPRdomgs_<rK2ZeN
zQ$JJ{c*mhk6a+Uxjo7Eou_P3(h9o<%sn$*^U_MBMRn|~Afbf*kxN<s-Q{NoR9@Xr(
z?q0_?wD2sq`fIvLI`Roc^3<hxjzi49dwyRy!fH_IKHj30bn2J$p=kL9J|2gO5WcrK
z`%Kl-ra!H6e!av4#;_V9s;}N3;_@&amQj}JO~34Tu~R+EuvCrI1d_*o(!>UWR0NSK
zg2YK%S;fGTMi*x|47F+~TdFO9k)6o`W-G#_CsdE!5mg{j6T}4aM-!6#>gUy$wm<eB
z)FilddPjr(-sJaxeM^6(-uE^jb!!lF>f&Iir(Az4Nmsizmh1jLmylOsvJU-2%a1p?
zV&_sb%PHhyyHVV(>3gSe7+c@}QhcgS=(yf{Ek<6fMnZQ!M}*z^Q+(jL)7Yqx5m*K0
zJc2w_JlmudQ<=z94F!|z7a>p2LY`t0?L|QV-~z8~rsf``)gv5$y9X!JP2zq&@3D1b
z_q4e#ZNl#K+3V}4NpH5Wr%s7Kc%8R5!-w+;b;~nz)P)|Be>(CV-Cj@6n!0^`=!a#T
zT9m2L5Vhr=`|eU@$n*rMb(E<8le@32GmkNz7X;JzSjP679x5YjW4=b*j9$Z;pQ{29
z?i32Q3YAhcSejAK6u}T@f`0=<Z=nn!q(B248X$*xVd;FN)B-gmNUKup{%zs|__4`g
z&lLNqbVoG(c)1pSchjXa^8-D9`~o4h)9vaLI`+x0x5JUfP50i)FF${zzI~tSV#{$)
zZ(d$JSI&n`dklWjWwtS;_)Yym$h)w(`8&5kcAZC>{WH0hARAt<*Iy2BOm8CZ;?1!)
z+Rg*bp4oHu8sR?i8ACA_4lh(;N}^n%nrlR?aG>{Ig9R{1m}+PQz@l;_<5t0{uCBo}
zT;8R$SnSV@L@nWG=m)E;KjR1bt5|-{dWPum5QJeK`(@E_ng_+zM~dn6KGywB(|wyB
zA#@?->2eNclT>ka>{1Lf4fA$2aCa&uK>zA1P5t+49E+8=+ny3NOS(K)YE5$V#$NW4
z7G<qnRbOqRNI(u}f@tli%E%&p$6=~asR7yr$Pp(4k)L{0U&SW`WD%Fyz*NaAD8ySR
zs7gynuH5-IQACe60vsd>S^9@fiKSbSp1ok0$J5mPq^86AJg?#7;1k)(r}^pM;qIng
z{dM!^l<Bv36&Lurd%>m-K?gc@6!)nYqu)71_6EMp-V%5B?NJm%dc37}e_cJTtxYN?
z=_&*Ph3=ERWuaCNU`Id!kXOfI?kJ%lnF!zl0ug{ob%AiOGnqIADpx@SBx(?de4)<*
z=k$$gt=jjsU$L8{F0NSoCeOK#+KxMGOKqEWelsQc>~k4ww%zbyI~(nb!Jl)c-GVk&
zL#%lF>relKjq^*iKsGe=UXt|fRN3nF*G$7?_QU4wKx39~Q#LbNyQ?{fVn3gzkszCO
zlDMDYeJuX$SEpX0FQ#A;Z)?OPEQ*;3;&58L;X#Ev!e|J9fEiA#kt&T<U_vee3Lt8y
zktV_VCXKifA<ZOqkvz$c2((>RpB?DO6Prr^y0qi&bFxyTJNMYOc{}^613h1VJj<t>
zW%h4x3H!G{_Uo2TT_f)~;7(H;RjL>B@pt~H-<A|<MO1%Rt%A=7T?{|GBx<?XwjXts
z`YhzoD`dmW<Qv-%m%NI@9SBlE)Tk0cmH{V8GB|2@OqGdTph7|v#3muys1;Fdpa>Ta
zA`x&(ZQ7h>pF&&`>S(U^E!mmxtW#PhMo;<jFjwMY(mOWk%kr_mDtkfq@%DO}yV{Fy
zAK#BibD_N_7ij2G0TJLs9P9H*#^3p(Ezg@Fy=>c!-&45pKsuq9u^%saE^xnC5w*el
zNeCX(e7M1$=|}Y3#6%i#ity?wT!I}+AW^UjnUGW&D_Aj3;jo~X!#&{8G2E4*004A=
z&XGipyXWrpd~u$T!ELFxr_Gy-i<^|O4k#=AYzv+?&GhHhW07flP3_FazvioMR>p%5
z8JFzc$5V<-X%_gRGLhvk{cU%mo8SAAWu;};a(q?C@p8;Uvpy4&m(*Qb#$ni1Oy(eY
zy&<V4du|V()nF{Pp$QHWFwiuNr~_$72AE9nwab<k7QnEWL4pPklAXdAgg3WvsUB)l
zxr&?yN*^%T4xi<ZjP!l+ij=X7w03v>2K`8Rf~efw(k}P&r7W`48n*6L+R87NS3mqb
z#cBT*$Jn{h4?cVgVZ^L@s&Ist3FGeY<PU=0Djw>0()yaIhfbTpLyV8h!^F$ScCEMC
z#1D_R^P+hz5zo)d8LFwf87rI`te4ba!?03iD&#?)=gh@D1l5@pQOAlnXD6m0ufo+8
zsGgw?2Z_JCj#Jt@Bh0uh>y^wLNft==Lw#}Se#rMai{P@L)|hFqvv;H6j__a<c-Wrf
zrbgZ2{^$1JPIYT{*LpZDHK(jP3T=I*{W$&>;-=Q7zt&UPrT<vURSGUVjCS$n{VLDd
z-R;=Th<Wm541rSF?dEI=6z5EfGEor0W)bLvhXw^31R%DWFd7L0v&ja4coa04cMz{4
zCi74t5F`@5YV(?q9rK1FcGz6MInyivlES<{+&r)LLc>yQxxZ@9(!YpqhE>XLNfDpv
z^+Jxc{f$t5F`+On(RjSRvU2qhXn8XNwe5!;g5R(9Rh035xl!D2>k^oZH+R>=_9AzW
z0)G?t<B@qcl!YWay{>_(9YmN2T`wHf!4l-8fU{Q>S1Be40muQV0&fVH0YdEIt^frw
z2}Yx;Oh&+xUVffXeYv%m^&;)09GH3mG-vS`N$8Uu`?SelQ95|bdwwnw-DwDU{s!>}
z!!%wV<uW|B+~u8A)B25_R_`_v^I9I-b4V>+@vCE_+R`85cJix5#p^z;8uQa)NAn3e
zdAg?Vru4B99K9}H?k9aUaCIWPI3b9*NEL^OdJYPSx|C43Kw&0g5OEf)ohQ;DSB6^z
zrUaRT0#*SN)o%Nez@t=9?USc$ihTxINiLEp{zGgBa!cEXl8~m^XGf8p3i#vh%fkP9
z-KU@7b$YpMZuG;Cv;Q&kyV}c8i<~p_u=eCC-wZE0-aqpx0Wa_Eyjvee|LAdf+{-ZU
zck3jy^xq6)xl~xybQRU?=BpgfIKK{RAh?kzaurweFfAa$oO4hJoI*8gks2f@(Xo?Y
zoU>sTs6qkRyNCdj!qR-Mls^5NniQOaxKNt(9yV!SB-;0M{pJ2R)85tSD9t-u1@vZ~
zd>&JLPrsPJ8^hfrO*{AJcE)X3Nh40{m_<sf=*aNnPdf3(?N7VmceW4F9d}nj>#%l9
zTK7?KQ|OA?q+K=&(MZcF`iv~GoO>hG{x~#ur|RSqXyK!ii#S8P=g9#umVzl92z?>-
z4a{s3HLz)g3)~$J6Ba0GZ1tP8xsy34n7nl8w)YCH4dUy^!^1;eekOvUQ9pDf{XUhj
zXp81YlhGdKt+n#QGe7M;4;zg38$XLTySd=o#RuY<THrja5%Ka4^RrjE@+f$HsKX?j
zXjW%DKjxJ;5NiFy6&QUZ+s)b3knaySGSpPxi@r%ACR8OG08lu|!YlDaa3^sgL3QK7
zVGbANZ-^u<0*zoZg@YhY=*O^kNpj?;_%I(yw-0kl>I>FF&av+H{OVbs#uG)Oe>Vr+
z_dQ16znZiee&S`v*-xupPt!PsD@FF9Z^^K^yxRoQl#A}<Zf<WG{1C@B@9R&w39US}
z=!fUPjkj*?(y(r+%6wA7k};>g<syYm$nT>jKTOr<fhfbI8dOkE3PC@)&`v<CtdgXI
zzyUy@aAU;EWai-@xB?);5?k}21h@cigr8$`*W$29+OvEs->A#Cp<j_MJwUJ9f+5*2
zHfApIgWcgx-921N$_I4)QFO!0lQdUPH~=4?pYq%U86{%qAH<^ByM(DTt8Y_;P~VP0
z?XRW^-xZgo<XL#9em(1c@m4)Tmh+vVHEKc{X@V+9kR*&l7fit^L&7!OVF2dNXmJ7w
z2Ea7XTmq;>LGF;r03gN7`kW}jUk#OY!_=;4<T{0u$a{nxQY-YcC7lv}dN=xcn2N8w
z6x~?jQ>ytx?GFF(@f^RH;<OX_jULP$aLCK%@%6EH`aV<8cKB}ifG@;2Ho#4}%u@<L
zKMR|_Ui!s4XXnRey;Nz^K8nl}Xhq77{f3^k$ikg-Re^^(WECYybznhA08Buu>dHhN
z1;WwDFe{v>QJ7!=M1(-{Mi#kAmzsphfdMDM>mwpN+TIXZ#U1qg5_=Ub@MY4Op>wPC
z?>twJVWgqPZ}L@FaHhp?Z|TXlayfM@L(VU|Wq45YwbnY!S2{iF@$HWzp2BYHU)?P)
z-7=+JtkWUTJEiTlqL_L&U-^mT;0<I8xe>ITY^6MRB@q)MDwC0$5Ijc}2vLX!lxQAJ
z08;WKItnq=h~dP<RJ1OL#4GcZ>IE0C*`Di4MPBx2rMh75E5Z#jwkDIe64#`|4cZ$+
z4!#^?BX#*OJeUv9q=g#G@^Oco9ys@B4}@@N%Dak-9SY_=maX0$$H#qLcA`4d5A(ZG
z<)ODyNswDzxU_CgNA=dr;R(DBt`Q<*NDr>l$TfJEZS}CGow!R#t=E%R00apGILKLo
znk^nK3*ece7lOOMScE9CR7&e6;@&(dKU}R*WAIbgCw^$SzbJ58zqq}*4#U#OBT{WT
zrr1Zi)S%XB)6Z7=DR;N?`UiH2XRacWxy_wZkVys3V<_`+8r;~|Hy?K@4?I4_DCb+N
z^fz}A%2Ia{l9ABBJ7O|QG(5=UWJ@Vkdp7M-^PSH;xPy#@0AHXNRAC^Hz$m#6Ua>wq
zNL)-@P(>DM08Gf;c&UDUHKbwD^mSIQ^zIdt!P}V3Wh~vRYFsnd&)yL9#2#xMw0u>L
z!jB23o2>CuK9oiB_WJzz#ull*0YYk^=CnMkaYe^)y&wo}F7~&U#k<XY^FFHFZ2v7H
z*ZUr)QUF$j^8z`BnpFf;vTy~uB#X?$EK`oj+PbH4SW(UzHYyhDvtz0?+z{+uYk-+F
zJS{}xV9WsmORAY1^cl;tmNZk~Qhx|q9v8(h(+bJ_UF<f)D%L73?eVD}>3q2md%Iip
zw}rGppGqB%u&m$3+_64(HP8I~C{uVnC(M063&m;0=<pYn7Yy%~`<0%hdBUQ3`o8FV
zD=*SaJ6){G<f-g{?Tk4zAit)G$bRZ+OP&Ef?kYjY;c>UTu<8~fu?b0wiHi>!eN}M=
z6Fsk35S+vvf(b9|wK@w#6Q?+mj46cXm2ZIcwu+}uo&}&iErvbmhFHp09`4a^Xsk-#
zPVur-j-d~Y{M+UHh+iD9USf%j&ulmQX(TauKC!serS0O;x40QP{q&h9UvFQ=s_$z=
ziWEtH@!$O_Qt5-j#iq0eIwcTi%Cw{rM8?)#(;~Cij3xS39W?e)q9Ll+OCl(lDi?=D
zK>`y8g{!Jjgvvz742~uN1KT7xxFcmXa`*F;A7nwNKGpjwCL<`?DV8~=a?qQ+{48RQ
ztJ9D7*Gf*Og}QVew>`JykHcDH8Dw1X+*d%Qce}W3^%}JA(uOW`8*KR3ciC&c_eU95
ztz+M@Z*`fnRbPjw{dSEwcPU*}v4vzoHsO4gp3C6IIUT5GjiM5%!PT3qkvMyXyE@cF
zJc8hsQotSEjBs_C2XaECrMd~pj3$<<dqz{)->X`AT;G_DooO?-$LWkdr-QGz?6)U9
z{g3nJZ~tCiW`pa7XFGl9gJ=Hox?!*G5@Qeo3+{D{qMlkvc#YG4_ARad!_|M6yHXmZ
zt3|50<Z`O?MEg+~eYe?kk&cWwe{#1X@Ei6*SE<B3hLS1ALyf`GsJ<-2Zm6bxhJ?Yf
z5ZLzQ;-a7__HHIM2t}0C1M(O_*WnZ(@G!>pcbb@Cat-!et-sytS)f#8mCCo*Qm-0^
z+6pUq=AZRurx^^F-wZ*K$GJm}K<I-Fy{B*qvE6cT_M5_ScGJj@sZxrqwXxpX?W}s(
zO}i(V4)sJPlT16Hx2H@dJ}V0+?$$X^nrUB4t@~P0f*_4%V<+2C)azRm9|G=7Ow2BG
zgeQPi=s^P15dg6kLI69pkbsI|9lgk#l8(sG_$!iiAgToexUC1fobkcCfqyew^ba+&
z`v`~&ay^VWTC5Vlv))XbmrPxLxn>Fz(#QFm9ii@8#*{RKu+J}tTUu0nop%#Y>uQH-
z2tW0MzbrbDX<LRkKN0H)n(3-PZ-+8G)S+UFVHHoxR)$B}@CRGQ&|=NUfl7sD$V3yw
z1&Zd=9J;szAcSa00z^%b)hIkdA!Fp|Unikcgm0{LjP8?OJ!GUM=o+`TkE!R^xISO$
zRr#F*pVlE@WVa8Ct`hKAmb15VDcxL#FBdZEE0Fb_1$S_vT?W8p_WI03*L_z(Qd^CO
zrb%TOHlItqQ?ZJ^O1+zz#s!Fk(au!*aL~$F7FR=5SNd@b9m$F&SJIf77V=3gqX<yK
zRRjT{2(N+lR4a(#Fj+&5w4w$bwUW=t7j+^HS-tyqgO^?HV|S94t%|oq`uzOZsV~5p
zvyTR?u4s4=#<?3Gpa1Agan=NCW{t@?gUDAAgCFDE=4P6@bXDo~`ew(QtG!Ep5L=}N
z({^*u_4;a^tPa!GadIDtKbS~o1I3dVHe-5y1?orb9=<9ajrZ5$uUFMq!Va|<!{Oqt
zp<=;q>PV1Kn1)9vFuFE^5W}<7{j&ol39Wj6^+_oz-MW14>^N0a?~#SPXX$(WM!QxH
zMB&!d)J*eUntu7$k$*EweE8jGdMx$unA`&9+*BgPDYh7}g|?JVMxW+ZAKJz0r&Z{a
z`y<)%v9$HXMOyUA0#yE^+K8@%PP6(1Oj&u3S4UHdDm<-Rmj3EA%!AvL9>7&9=*t8M
zc@L3P!<#^0>Lg0+^)c9bBeu$u03b_pltUV&I~~r~^Ho*!W2~K<_dBa7VIVHG^aJJb
zy6ms)i0x;!N$t$en-l3#?w-fci>%i;9LO#R)R^fs!^3LjHRzmB5>0qH*oXd}on~Z;
zUAYOqkPpOwG*^*nEmD{M`)=2&G|^j1TzBp<*{*H&B@oVL{p;gx85f^|P@#ZhlG(=u
z=Qfk^;-FPr1z>R@MWb4oynyQ%6_ixuDwY&pWzMps;bP^XLRxl{8PA~bsJYSAqhWd2
zsWJGY<y!yd-<ZelM0&*1blff?NAlv*f4%gGbsw6e+sJqT&n_(u?Q~o6Y4h`McKE4C
zU9W1qy4B{YA*qe?I5|#e;<TUKrdk~S<(ffaO%jc5y-fpE2XvV>{P0%lAhV3y2SQL*
zr|@nah_a<nhX(;}vKpKt#1P>@;sd#ukM<mW852l%i`QFV)5{3Ox#|!ex|N+(pL!+1
z>dDGAEj_0&r_-ozha>lCmWMO@#90M)ENeK$BxGfc^5AEc+^8fd^TJMfq|bRbSXmSQ
z%4>?bndJ`*6^fzmv>EhwstxF^Ol9ecXf2~uX|pd~Bb`;+?za}(B$D<pQ`*5QqR^yE
zm_S<%h4O-FM-dd^4kcC(5~tZ1h~Nz<uc;Qs&Ul?83cAJ8u7Q?!S?W?oh@Jey--OcZ
z4V2#hH>Y9dmfC#6_!vNb{qgna-tQ~~g#~r&q|(xdRK69yi1)Ph2NxobboX$ZNaI?z
zD4OH&Fu3n)*TdC!Bn#2nk5AHrLhPWZfop7^!>1ZPI~g^tuums#B@ZvEYSW#9dzNt#
zk_8~H=ut7~DOX5U0oQ=Ic#r@D;@z<;p!>vJo&>SH=_lwp*Ao(x#*u`E`w2rl@lX2f
z*H}n5zY9p8Za1R&MfcTtj%)1tEioL2VG&sG5<Palv;;c3xUX#^8&7fIc_>Y5WkG2F
z{Ih5Cs>fR@trwYA@rB}4)H+8>=c(KIty`va+%7KKUCVIX)?t<>oO^9A4WNr54|Nhl
zRR>u#59utZ0wp>R14sbxkwZe10BZaK^PD{6#&h!Xw|7{UHD_*Nv*$<Hw9{oX2xwXC
z8F#okrO~wVZ~V1SxBDZWe@Hq{-yJMch<J)%fr#_zRQR(?NFT6g>9<0A-_@|y<+P+_
zcIn*UdeY4QuImy_Rd~KeYl_He%!`dU&axq~3FBr=jvTV;+EOn17Px%4>aUD<<FclZ
z8AbuB)mDekUfGOLC^8`4k$Je0*TpP?et!i<q*QALQ#;r@V;N;$9gwkMkI?06z{7a^
zgzKR{QKVL-UrZpCQu#sn`eyktx8IGAd7%;!DpWsJrnC09FOe*AALDgFqAp#Xrb%Ka
zupd{zR;1#?;o1n*)2FE;wyW7Cw@en*Y7@S!t4*YxPg4hbd`8VgC$HBLzIJ6=cQ#MX
zeuE4I!G~;sa*XUM;OwA0RjH8}LgJ#Lg!<Egb6`lYHbtHOn+&2eTSf#e<ztkhk~f>@
zn-AZ}X0+Cqu5R9c*Y)bJ30tzdd(Y*XeuWL~+Xu_eNXNj7ln`_Xr3CZp5?B@kO-S8o
zvfg@POcwHEo&8ys+|$(@p!s%Yt<&7>G<7dxe$8FO`-#^9D%y}dw`I!1u*_)M3uqb#
z+1Y3sD(=zhL;}<iqN3^<KvjZaa3h`>5D38?He*hCm_JZ=b4Q3}IO~L3>dSBMeHdX?
zJT0x>biX3+@{0-mp&?Rfi*NI$;8O4VeNW|w^$iD?ioG)hN1+cSlLO}^#1*@A{VZP`
zwxZq28Qa0r(uWUgF;aW(?0<Dl;e;4=A*+r%%6x<8YX+It)5JKlyjw8+br#gJqrB_f
z(YSJ7s3{0eA}K68CK#%f2)Ix+0ThKsCsy&<ERrk_b?_lIjDIWE>B=T6HXK#xCUW||
zhef)NF8Y0z(6k11<7uvUVjbaU6T96$yliiAZEStTrd5K>ATjAX8CoX*_FhW!0``0q
zqq;AcvSF^Wf9|*Sbzi4GXkEYC(lX52f4~lNje7*l_cJvrBZF#gc=>K5y}I7b^WD=g
zK1A4fQHsyJ#X9wwur-fGOF#k=2yv|*0b&Y5i@~cK34qO|@0S`S)pd55&Qf)+v=>LG
z#mA_0-Mu@_%frifQq43z{To?_@_^paFa4v4lZ-d7%M(-vDTx?ia)~sT@j+9auTYP>
zL#E-)H^e?J<r^xL`zfC>bRA7P<I=$;i~@^NEcC|QIz}wovz$AMkclMQieLej>FE?*
z^!Lrsw;r$`nKn(jM<tM2Vh2=`E5ro>K*EfIdejIe4JEbBr!955P43%5ggr$k1UKV!
z8d4%~q?hXptRYVJSKT`H({{4vyG7bU`?AdJHvQ%_p0N6Hshx@+ice5R2JxF!WQ%z4
zhxv9nAL>KSnD>tBS#ZHmtIfBScC<L@(BryRhDDgN;r+*xO}A@{lrh#Mc=pFEsNjw4
zWfmG%@W(`6DYPlOUNlK4yAq6ypp{@kib_B@0}gRS4T+tu$6dlE)rGtYuQ>c>MF~~D
ztU&j0L0O9BSHPqy`tVf0oP7QAy6^6a&XZH-^Zw;B%gqhryT0$-BAO-$WTp~ll2$b8
zUJpXb%jr7yu|3MYUw3WAcef;EBo9#9PvHx1)5zy}1jY5^YeibQu0-+B;+yxQ%2C!K
zCx}O!$nwS_nEOJ+r-9h(?``jcltabX%wsXGg9%KuW*AupSp>rOQ)UDnk`VG$m`i(O
z7ICp<^X7r;K{3R(mD8?LB5d*<&F^paFBGea?SlrA27LBE)e;;7$69rkvn!S$>4tA|
zEAwwxmLd=_N<7$09T(s6#a6BVi-$?YJdn%Jztyg9g5_Zjp5;|Vs}?bJsl!sYRdJld
z*gDiPn5qzJ<IP~pIR-paJuiO8-AHamYAz6nCUS8yArKSb8C6gd9LO{>ASsV!oFz%r
z$?IG{wttUvU!^(lv0jhOyEdH+?$K3wz8IfOG5q0udo(ToW5BFdjH03*i9b!FlB3ez
z5)UsDkmKA6<g+`c=dyl*L2;c0o72I=4ubWtD%XZH=$*1~IrVKv9z8#_dYN~LEiVmY
zU*X*(G)d>8$GLM<X@uIV_O$LFK7IufHxZ9e3*r<A0Mr2Q9Wz3NE3_?*7Fv)zvdtlW
zihf)&$GEpFOo^)xFdLgB=EU$=@$|8G^cx%=Kil=KQn?w@FkdQ|5F+C<UDtwVhk8vW
z5f5i?dHb?Ow57V=o(7#BWhs=8BM6(Sbb5Hm)oW!k*qUT_74sC7ChciQ>Dfh3(vPxK
z3<<otybLq3dqurUZN2NzHV5*#UUO8bPP!qWHi45O*c=uH03L2zp`7N&{$5)WKE*y=
zc<i}Tm)A$8DIDFVOClpuUrcs<q|UUfLGNn(*yF3e+&+%GC#LUc^N0PYfR|QV@BZ_Q
zyuB<gJeQApn~TPI*-!<^VfQdRIxk%m4uc!w@)&*Sf|xaE|Lwa`+$ny6n!!b7q3t?U
zKU7+#vM+0~vh;<pz33YbKdj5{Akn8S26;Vpciwz}qrt_ZLP97Y8A2F5kk$^>Yp;^q
zfphYQO(G=2Las5VasE`T*nB$1VpgAS%V9Oz4k_^_-x_J4tY<mdq3KZ29JR#kA}i98
z<qX=?B)QJIYglo6HV#m?zP~(*>NL@pAL8B1!%(kAun!)$qf`vMPD!ergyFLs;6dh#
zEIXGj5r34l<jHhg$9hR+N0cOY*CWlA#_;F+hp$fbH{MY;LcqEz>I^r6S4Wi)NVFh#
zM_g9kkf$Vf9exPv%Urb+`5^piNCyqwQ>s@Jtve2q-tKj_ekHq)@v``sY=T<Nshee)
zT3o3#e=*L*LOO~(2+nS_<R0pQt0x(L_2%EdQ@A8EnSz>6$$Ql0%srRZj^pXHJ2v-^
zV~OR!W9qAhtCkVB=+>;txLpQ0DQUZ(zk0Pufr^pdjJsoe_xcN&G?++dC_+fRTO}M0
zDq{s9M%7nsM)~GMj|p@2pOLo|jn1PE&l<`<w!YMR89!uO+8TX}3iJ8NFMP^$GYo0m
zmm~lGuCC6)-Y4QsSrQA}m1=z<7=SMoEd}CejFen%z}B6|)Y2&lua+r%km@ix%CO#&
zjxntL;p)gVIxWpmjO;w{j3P0!q+?i`)&A=Hxtq#K4sq4nv;SB&CiMElhXZ-4?vwE1
zFhHE0k`Dw-5TY8^(YcqrXAEiKmcyZWrw^~~p_0s@*VcYccg5pHCRm$};XU(h_VcV2
z54Eec=j_pIE+nr(k1_R87g?!wMJ|AQH@QgyxW8*ed@bL$e}6UgdA-zOD0FzJXUSt*
zVt+}pL)D5%=m#?oS1N2>W~xKC)MEhJila8FVGg4p@zx&|IMZ&WAJrxMRTUZ#A_A(Q
za7w5Wlq@nyW$3JqEU0wNo>*Tl%DgOWx3!MPjZ1kZ?N`AN(p~SWsqAXBiJm{Sps&uY
z)uZgFt98pHeLPo@{rujP$I3X@y=f!XN~$pN8tALfmojqWO>F;a-WA!lqJ8X!2P7(W
zd+Nj&gc^LJX+Op^*~8Cj@;#r=xgeLj2g-WecK3YhqFzf4#u}{a5Av$rEWimLZ&&$c
zxTrW)%{uvD4T6XWR6v$M4%!N263k<Iu_3v+I3?=;rv0HsXzylgNMi52zZG=U=V@&(
z+q;8<&!Zit&{qPSOT?T~k?5j$^+hCW(RppX(N*#4q2Z{l%3PNh9d$aVJ74D6AKp0I
zhj@e>2d~!4$fuf5)^{U<Sha7tJb;Dj{>>yscHnP#i3yb&0`TZ%Dy-4&!+Ge3n1&SZ
z-OMrqfe{XXO~f{0WFU1Q-94U6A0YoGaj70*DT3?tH{j!$!{VCQJsub0UsW&ZBvU^$
zTt`J=BfeJ)dL#S<id-$nhko93tGn97vTtP$>iVJU98txx4!9Pl_aBy?^fKbv#$lEb
zuDp}Oteo68sA9w_d{#A3F13yExWsV(L5xSACVMC<kPuXO0Jh2Yf~%2oUA>Ou*vC&y
z?&=i936<2HPyvrlOd(EK_Jue{$Eh6hNu{52JVKbRp7%*UEY@b~Y}&m<i1jWD?Iw7;
zmu{$|*1p3t&az$)k*v#DwoO1yrsm&AX&Z+bmFluz=YiNNQNF!<elU3sTaGkhO8Ml6
zpEKFQG{VAvuw0_|lYbQF>n0qFZy&Q@-R;SjhXt;hNl=9%Oyz}r*Vs_>w1aWa(>-r)
z-$svsfY>R*lQIGgRAGT8h{ON){i3aYJS0Wv_m3{g_MpIK#%URPUf(pwEj1rc%H`cW
z{^)C@{xoBopsH2tjOk0bjK27F`oIo~)@x6hz6GakWjUV-AVAs@5Pv&?YvZ4`#qlDG
z_;J4G4rl&#h#mHI<zA9QrU<9OWIR;DN*&#QFBM>`8AM<T27ARgS#eZ3%7eK6Wl8vE
zI=<a^C=oU~LW#HGt|Cedg{=YL7405+L6<J&SJ=U?=o(g%*w6whbx2&*ix8m8cpN|0
zci1fw-FNl!AT&wxoTYpaSnZpA{^pS)QL;wTWG@;dJu;ld0;ONWdoKA)6-~NupO^VM
zQ>#}W@fi@ba-k7ePN5FP98#*8txTEg_tZy(hnS@Wil|j0^YTr!UEf;&j=B`JmrnB)
zzWD+|;(aLKA(NB3S7&l^p@2Jk<FZ_xQ*9|>9SqHK7fjb_oe_Ya@qZn?F!ilHh<!d|
zFwvX0w_f%WTg<Q7N7_%NWM^9IvQR9_FF8JV!0YVcxPo^=N`?8`aKWR=6<v<Qljde;
zp4nyXnBJ#ug`apO($+H<h5MAQdvLp7CI(kQ%*<rjP-?(tz`M6$*ZJDdjJY3VPE9Lw
z*|`zIEg({=vO&<L0#M;<|7i%5K$E02?mow@tWjz11Kost2P*Re2CaJ$vhr$MOy3+Q
z6kDoN&s>MO^+*<F_xd2XZY+0d{cc$=PxQvLDAz7Z_nTHrF?8%7*?m%M%G$dAjJYbu
z6!XJvc}_fEN@d0Aij^rIA{(Rbuq+o$&8?4s15%|f?jaEI?1Tft?ys9%s)R+ROt_}J
z?y?%d+G_wLPJ*hDHAGD)=vZo!**I+}Z<J^ka9+rxx(1H7-Fwi!<EbpUpEm&29x$O|
z%Mym(U(X*v9mUJDt5KQ+YNs7^Q^}q2X;^8%m$f4esw`LU6~k%lqHxWz^VjvoRQ@)Z
zkoVKbujgaG;}^4Jd5wWFa(E#_FWF;;n~JPWpe_t3rb)kvzW>GJ$W(UQT1z)MFI=zU
zcSL1IiKwpZB5?L_7h@s@?#9N9&J*DH_A-@tWZG3vuQ4GGPE(-znGXD+;WZ>u<Yi~U
zweRVM%e&t9vRgl=ru@AM$w^&u`Fv%rnPIPtv8<GRj2^NsAMql%nf_`sqF8^DnXdr+
zs$Xwk4bbyf#8*sZ;>zgbu|E3K6sIUfy*gB7?A<9q1bA}8I%XqTs9qk7<<YaiB~4m7
zob$na1P6eiAP<U4V2Cq(E6?9{UWZqj)<Ep9V@P`q`&?`7K;g4CYMK3Te9Ku(!&^lq
zNmrseOO*M%wc7MmNJ?)JPYSy)=dFvBn5$IJ-+JE`2-FJmbvA_CdVSD`zCOQf`%{uR
z{L&t5I$1uZo^YaDjH<qk#UVz}%--N^0pYHOzypGY3O2-8@Qgep=b+AS*E1;8`e>WI
zEJoE?h}_{qY=9HNF}mKKqf|_ZLp0)HuG2#FleAsMDfuC)ep{#Z%-?V?D-!bMLw{Ov
z9o-b=fiL;oPOu5&&p4JuiN~C6<F2}Q+X}s}S}T<(8nbbOjHi5s^2{DJ)1Zs&`=m3m
z^%8#C!nX-MmiT^x3p*`+_)f$aM9qmfAPVsc=@1SNy(X+LPT}2yJa(N4);bU0E_bed
zh*Y41SfvaB!NNsGFRbf6CQCRk74>Z=+Vh1&yz!1Dss^T4vP!&E3`GtGiShYYSl70j
zNDFMYKcB*@y!h=17mVIk0{G~!`*o)2^+bHSqb|B(b*f(bhl;^BS2AM4SMXCOOQ?^T
z?nf;>^=-QU-b$_jJE3Pp3DTZmgjl6IF_{k4Q>kNEZfCVv!q(yAev-)6x#bXg`|=(@
zR7OO278qP6k=i$}qJTNKx5+PkD=g{6?k|m2TlEO>Hu5c9^}|D44CjtMrIat8_7BYm
z%cJ1&&Ftt^{l7NBDYHKW)iEZaTTUjQkk6cZEvKIPdPTKOLysgaSrJ_5T;wG-l9bEx
z{rtD@<$CZEbsz^w$VUly4UjV;q@s3JrBvg^;TT}4|G+Vh(Go@J*52rNI39lg!|<4&
zO3wigfGRO!@d{UX4qt`!Y*|)X67^X3h%VEjc)VC1>)xi?mWT7}$?EO{EloDh|J^cF
zh>TnpMZZk@p?g|GXnFoB+-|IP*J$QC5MrJ=eiq1D9HQ{b{UW>l=K1>dG<#EGKX9qT
z&D6vpMEu=hd3tzmm0cwWm8(GmmIAF#l}ILKGw*^bX#<JU)GqVo^5B~--qoI+dycP9
z6^%Nfmyr}w5sK=7hA>>s^_3)ds^nPHQ$^PvW1X>U`LM!HQ&2v=XgB(+E0=e<R4`_>
z?mDhMRL(Cl(ajn!?=RpWwO(jR%pF#}oRTjXf~*lvNABDl!l~|XUt$dJudME@YQWGC
zYuS6-?Q-0cxsdT16$^*6drYcKNGu*QjZ4iM3aJQ06cg!I)iaN+Sb2S{NLMfCvaM~t
z`ta)Wr~lbtM6MnP8UcudfT&R{I$S;RZkrCd>B~ML^OB;Lf%*|v4!V5w82&oftox|9
zo@4d)P=iJo4Y`RC^49BfUx&%HP(obs%P6r@%5(Z)N9>W9#Ftv4a4%YxF$%ZIJ!TP@
z5q2%q?(bni;*_fyyH*4t<`hEB)IC!uK;DSdSlz{mA<iiyY5&=79=mj#>LB-?vi9=*
zwf^OQngeW*&?qpeBryr-I#1Z)C}fmUnNMsum6N;kfd~PN%0#D|`<Q=pOVT~U{oSK$
zJ?yDQNL`+<sce8CW()E+prC%18k*_y%pF_S8D-7nNe0LShu@V;-SjPMe_7enL^-Bu
zdJctnE9$6B5F!Bt$km`yApv4YfKVI~LZqEL>HXD*+gS8@>RuG(Ug)xW;fLmj1>;?J
zXNwj&tGNi=*pZ1E3ds_^eD9~^Te`OAW3NO)HRkS9@jilldmzZN^9Q^T%W}6!FIr$V
ze>3A}sd$dZf#{w+i2#<|a|96na*cIVnxXjZ;+?=rM2Oxz66I$~=7~R_2I{$3byNwc
zDn}GiGg*KnlX8TDYA58Qxj6vIi~{Qr2?6Ztmq+p^=C$+ZUFJy8(2rj3?D_G2^IxRs
zB}foefyz?B(jm`%KW;YpCSeT`-7=5a!PM4`RPiG+#dIgy%bj0@Hsd{^@x$eEyrr%A
zGP6x3&qK;F<MOaB5U~O!uP*QjiriuQvJ45R4B;HK9qBujsA21TQ(j-D7RsOskK*Dq
z77&4$!pKm=9RLA^p+I<os5ojE1mW;yH6*(33iSK!qoZ2g?eDs2#gBLG8q|t7jc5Up
zLNW!7TaP2!=?x(nhJ}*4qdvzcOHEs6#_|0;59YbK^Z2mb4`YdHQvQ1D^Db?B84g4m
zzv}w*C1e{tW*UVSj~HwjrMPMG+7TkakC$pVy`mrQd2~JOTFR{)9TY)4NC_HHl^cwy
z5<ohV2qY{BEwNTc1q`!ARB{TZx}CT8TO9&$4`*0q?k_g|xav@^PpI#FRD`)}5kKw2
zbPaqMX=$Xrmn5?EvygPN+{k~h!Kc2**q6#SZzOE8IEoIl&N~%42=l4t8MkxkCe-(O
z?{ixdPR^*+Az~J*ad#0jQ5uWJM4XJvuGzQi;ofvvd^uXK#3dE2GXyYzd>tSH4um1p
z5+LG+hAJK)HRF{?paO!_n>86#rDexM(3)Ajdy)R-qE2Hy#kEWU6;xu9zE%o8%bWWU
zID$VVwVw(egw|$dZh59mp@1JkTPyXr6&m%W2fbS^=~92FX+L+=mioND@p08a-JKF<
z#$;WlQZ)6s)4m6{u$2`x%UE~kJb%9K-h<*)PG*SUuJX(vb^t9v(!WB{2veyF55fXl
z$YD?*K;Z_52?S^eX9xx`PBfMfYf@6`y=;bu_7L?Mb)jg7SNHzM;s!(xauT3<6|Hx2
zr=3t)l2N?w_D@DT7}v_9Nh`r^6_)9ZALzlkK3iN&qmFWY6WG?MbQ?QD_xP~aq4i?9
z=qUXHW@4W<b5OUk$yMQthab(mY4}e*XDfm53YALYKC)Q2h^QwC2ckxDq)aL%8BwYr
zlK`SxgUA^a)eCA&xLmCxnbXk4S$6!4bX!?5p}wXxso>upWQ3~`g?n%karc<*@mo0m
zP7+`<VazbTt)jB%^9B?g6N)0C<l(#L=&9CuUHp{4sjfOy@^qT-=Qlh*$<acACDeKd
zbxYfUDOUWHP_t7`GEmvr<mEIyn?qP_s)m$Z2!f?h76S#uqjus_b216CfDlzBWse9C
zh#H6^V3C~qrc+@=wLyYnj^iC-pZ0JqmnBKQ&PS4P4~SKQpzm}Ri$C@dPLEd-{kl4P
znLek5()?lol4MUqU6kc08H++2w8nJnI+qVuy{BEL)in`nI|&9@lOU?=26zyk$+Jyb
z*>FPe8{GBm9(_;^0t7k<98NC8?V$<@wMhk09H7Nfqf(Ajz>|?z6C!~l1SBgU*&cKn
zDffRZG8qjUzV+vRnZG;_A6xX!Fn-lp#TXDsfZ<4vZuAm5&*}E1&ZEm@vg;G7doI)!
zTPn%xpee2`-ByytY$sJqE)ky(r!an9bhI3C`1TzYA5)Pt%@HA7+W}XAG}*bF`)Ox{
zBp&Mk0w7=~$><TVi0Z1)fP<-r4;aS@ZrP<WQQgtfT9}Z+f<3efK!M~B0RWupQ&(YS
zmbntoMY_lSvTjpT3`hJ?1R1mf6ebwA7V!6<?3pP+<Z~0doheX}Wm&f9$L{8#Y46ja
zpuX{XNU|9wYfCPa>u0Aw+AL_N+779ecz4>pUD|Z}D2;JaCtWY!Zn7|0kPpr+G$sfD
zk*OcdtAHrNYUCFg*pOHesNMm?91w><3e+sZh@uxP<T;ANq|^ujKx2QEFvSn!?3sFe
zP7hiKDd44FHnC#XmH)$DA>wK(wU+LMa!s@K{iY(px>TbQP4m2UFMF-B_<HK*LYv!N
zNKTKp=H&-J>6nqbiLpjKm*4C_IN4pDs-XXl=m}@hv5SbS^Sfnf;k_*|lw<#}Zf#Kj
zCNV2n)38+#RG4g4gT=KwyfitF28D1H?Iw7TQgRTDA(bf4Fb<+n39;_QII(n)T?@IE
zy?hKAzv<4MUU@&grh&?xMG0Rd%tU;sXt@1OFEO?hSl2;5QQqhMNutd$8WwogW99nP
zdrd7p{v3V%U$12F>mJ?y%!lFqrFD;}9aphS&2Ns|zYH&RtrT+<>QUvYu2AWBHp)ur
z$N16$&S0rg!>Z<>&XO5i=|UYyYOw-%ww2~s)tN%1xxrn)aL)=-cJcsCD6d;T%PRRB
zz1aFpWvgx&sSHM+TzO+({=fIWUptV|s5QNJy6b#!6_>OcUb|hB&8N6w+U3-d_7CYg
z-?m@BAOz1h3xUDw^1OO&&~xMy_a&wJIc{prN<Cz?HEOhwtt$snkWd=;VV;+ny|TQN
zm6C`~&M=m(`3$ML2m@rEQ;eblV2UF3iilNv*cJ@M5bng`;kgFHqLNDBI$aUnq;fI;
z4aTys_YzvSJ$^#^#lI_;^+)-ccuVTZ+!)a$D)#&m3(_)5@zoc(!o#^z*i-#v-MEb>
zoOeH0PucTw`x6ci-+RWj!b)fH@idRmuH#5Wh3ZLI-{$lK)#OK1z1|AVX5Ji$V;pD!
zE#qxZT+L}jkWH!qTL1+};F>Kj)guB2L>0O)EfJc^RL2tDLr`;6saLgvD5MBAD#_&(
z!?mx!?;cF(i^>$#`S>vdk$7`(VnayN3S^sw9#>fXkdn2?7bK>gUP(l~X&-sAXfI^!
zH7*ZnNvCH-z8j0lY0l)U|L1}j^ZGF&8-j0sJT?aBa%i1~R8BDNq3gmZm8gt^^++ow
zNs<dC=x&BbPvX6<2;bWSQ5cf4P5`>9Qv-@c4GnfwP$VOYAjvV1)-8_Xi7j}shx{r_
z6e+CJNS8)y!;>31SNh>U?A19`Q-Hii)DUhjZ{8)IXmh*~4?ya-HO2QSzi9Z}<MmW1
z5pUBiO+;E2Ikpaq+YoaaJY9}$74vzi(d)bvxII(N5?aFyll(aC)=LtP=2p$T4|29J
zbtVhj0e~zHRIUgvDKjb=fT%%ApbTi=s;hQt`V0ucCgZ~BC_o`To|QNC$Nl-h(l;Rr
zO%l$pve-`1?RaOD01pR+l7)BZbFw5iWgKF0PtN`AV7t2@v2_(GZxu^DsU6o{k1|K~
zceP3{yG3F-d8Bu{h)T%IF%6v$rSHB`s*jjps><_EhnV^ftiALmA`iC`6*d^xaEy(E
z$czaL*S<E8BLo74ii?|6Qou2Ud(<gcwt#A_73T2wzuMRLq`doulg0g^xY8TDuhfES
zSKL9<oxhn6os$W`*JIF52;Uf<B~9K<#V9KHFQd8u+RS?3dAv_5oy_xgioDc4-Oc;(
z&yPd*apHB=Wm@p5bOOq}5T`MJ&$m;vH<cqn;K4p0NCKtQWB#r_@B2_ztuDYIVn>K$
zM2J)bMA0ZXp#lomfKDOsP@&4=0t%8?dkHW=jt_b)kEavWN8H57_vCe{S-qb~;i|hI
zN}l|PYic17s+A1S5dFo;H<W~X8EBU&==YwYo{WMPTyY}yXC|fnFkp(GuFQu1*v7Qb
z2D?pOo>Ho^(#vK0-MZW2Bh$+1+(JHBuRcvj9Z9lVB+A<%`)mH#SSJr6cqr8qjR2Go
zRwF#DNP^RZMsB9hD?v0CsK**awM#R^iSGf5D#Fo_wV~mG+f!<@N)B?`nQ;UhLpSog
zfZqDoB!EDq_1$LTX`@{iiDc4QgQ~a)3DL>xw9^w)Xr7zNl-6bYz&z>qEwugS&W=Ng
zrgyvB(ROA3f%e_gzb_t>$c+1ye$LH@yu0O?U{}=xzE;+8&Phq7MhH*{Jycu*Rn;W4
zx|*>%(-;mcRoE4zY+5@yLFO)^NNwz7%H$x=kUfoa{>%m65$Z$k5jNg_1|Pd~!F9-I
zjUI-VJHk}A#^h=6T74yoREtiBzz?=G`Yb=!WnJ@Fad%wKLRNQzSkgQS9lDRI)o&;2
zsD7#=U7`SX$wk&_d)iat6wCNYk|ZHmU6F&*pvPq~aj8I;+zPu80WHX)hQSaZhf4-g
z%@#b%z*RNCVGAk(CTh^h6%OhFf&-39$2jK)VWu=~fBq2T98r<0-^Elv$8qWJeoWSp
zyk{3weCg&@WG_r}N{i2<*Q)!?62sCD^tzh>3e-2G34r4~UiVavx>ZUqOZL&WztQ&n
zhjYaAi<cNCe0_5_&D%OMJ<tF3vKm?yFFqHafJ2Xi*N7}@m?*&=k)1*ej+H?!q~RXH
zVU#M6sstIlDmjyjI)nmT8K}l00T)558>Z8t(R0o*S6#*LDaVWPuh%yTo_%@{(Z2i@
z4p6JKQ?P%FTE`<<+R=W&C%+E9aY7*X%5=If`**X)RzFoK+j)Dj8%=19xj#)sbR^sC
zt2p|W*P8wL9<*K^Bc-_=C&1;j-Q(vY_mslXBF}vReI^1S0mG9_L@dNJ904G>lEjol
z7$=}M_b~#75MB`^0m@_?WbS<kTt0i=(~p~3K1|_>HgDgQ&qu7w|A%eTI;!#rJ~May
z?fJJx6VQ`q!hcZ~!H{d3-aHdFpCr7pq3?-iv7WDMy*(9QHs7=KgL6jwaP4zx4~d0Z
zoHTGtt7FDxT)OXR?fjbNtKB#}9qRo#`nA*#i*_~zlA{f1a42yRfYfV96_PMnARf+C
z2d<=(gw>9qP$hwn?$s^G8Ub!<BE(t{Ahi9ISaQ8+oRGWky?uuMX-6x*;>Z7pl1@s)
ziRb&DrXSua!fxPy=@wmpE+riji^}fQy9ATnqvccT(lWIV2Y1x3HoI!HK0enCqtiNs
zDF55;j&AR#XCBj~BzF3x-j4B2ht)6M-^bnFFUP?~wYkzU^0`vQF19jQOcP-t2v}?)
z>jNADAcSfo9pNc@NP_|;)K#o96IZBA$^?*ip20v{<A-Y_8rIr}JnZ@%v<;ilsM%1d
zyRTiO@$84o&Bpcx0<OAe-^{0=-%Wn{45*Yrm&f`^I!jhXkd1^?aG&^lmr{ma)XtkL
zmQ(+|-~IHADo&lmLDfd8-S>|e5)a>A^KLm7=ufX{=&FjvUgEYZXysG#;5AERwP-{l
zBebbjt0W0<A&=xhctn+OXc~M`aZjx_i_jpg2z7RHai`oragFs&!?wKKUMx-%O6+O&
zOtvM#uUUyfou|#7UKPSktXcE;Kx^`RsST*lOZ56vy`j?;nIGnnaADt%-!CaEYaoZ2
zkd%J9LE~OYbtlJ2otNrzGq&_zUgUP7g)g|E+cip3a2Qu|3W*QfzqaXa?i82^jOHcL
zLhvvOp&&=h>@C1bGLK#vY%|n^2TM*P93BXRR~Q_ij{U}dyC2=Hj@xg^RbSQ1ZoQSe
z<7cvFtzSDjiuh*h@<pWa6GsjFQ0o4eQ}}vH4f2_!Vd(@HNr$0ML+!qOB~CP$JUcF4
z&dZuDU9TCKyXoX@m8Z!b%X}H`5uRA^bUEjIjx|popQ#>knXXF2CFbZuZ<ElDl@<Y<
zYgCe0)JRDcKm|C2hyZsG&tQNkGN~((z@~~wW)KNLgP>P_><#A@8}zf0k}hhY<?4YS
z#zA_(M-5Zk>}JXJo%jr4m7TNXV;a=PLX-2D2wF({`v;FBw(}6b;kms^8NPX8`msjF
zlQq!u<+EP8S;$|;{Usjz{qlSgb*tjvo^Hj_N+KI74M{3(Xpfo}ctj+gQOH0<WaL6(
zHUfQw2<D1lfSj^%X!zs<R*yhsFaTg6AtwTX#Jt}4&!>aS)Zt1uxtm&F-qikb%-*`C
zAlvwG`Vckj_1Yfwx86I|pr~n&2im0s#ovr=e6yI7zjngSQuV7?efzMzoh0NNVjhsk
zeLRV@vG``haNOic-b${Y4I}-qc^PPCQn?yx!I0u}=e&BV9eWA0%0EiIi1Nm{7aQRO
z9*kf_>TFg$Ohip-NjA!a8lF@ZNEe}j3MYZ0P-PfGst39_9jc=FE#1^hvoeO~vTqwo
zDbK>E1;HA$+ziLt@d$m5zN;R^mSeU^VbE9l6W#UFBB;5SL*RMSabLF|@BAo6Z1eau
z$7h?HzBG@a57!d<>!M|O{%f(n@p<W=Nw}+$MqZ-}!=vRlUe-Qu*(;|0?AOz;iJ%a8
zAlTP|6GY7@!W3Eth&bJnIS39j><SrHLWlthPyhrO)CF+DBc1vWJ3ot=Pu4fGg&wNB
zUD~S0z0c~3w)#T4d^6NO<*vrncNsKNrbNku01hgsiF$2MMe9;huJXYaTKwI*HlI>n
z8&4-WkGGG%_A4p0J>>7%_bhEFL)pZmE6rjnCrr!tSsjrHZnX{W=e)JtgT`<H6g+E?
zFM<YgMHry&aG;2EDk?Pup{5F}0YNum5_Jio3Ph`8jqtaZZZ$d8+~?zPOhG}5PX!Y4
z?JIILT5tEYjLXf}@4~}I!Xfn8@T(=6e7_)M7Kh}S41SQpyI3}#ZfCge&*P8l?#=m@
zeQ#~|vXgke8!8R-pi^I^*1EQvm$2LMtRZ!LLZR_x`)ksp2Nr&jv2GPh60lDlMFm38
zL(IjO0tC?w{{IBwKbss`mM7@_&ULiH$*_BldA2keZr41}50y@Yd!TxynMxqDM&16m
z)OSgK0`hC{p+J#OFGnVKs;XxmO4C&UvPzpygnLA`w2g4P<|t_kZs%O{q*U;G_`Xoj
zl~j3%nAHwksSxEzfN<+ZGe^La0_Fw^W|4Xxh@w7locppZ9=TUW{$jnbV*MBWfk*E3
z(9y%QR6t^60Ju^!ezy+s{)TEWQtwCeLHxjo(<0J)jBy=@Vvp?w=M6>-t+9Wa_ALJU
zL{F^4twb5@`q5UN!e<`3Qr##GXv5cUvF*gjnsMHR{+5&$sr03afdHDEkPs-DQ?<$?
zQY+5zC20lvkV50y5!|gh5J5<0&IZ8X91$SH{c(D~<=IUUrlp1_&Eel?Vru|L7?$EV
z(+hgdsjx+MEG9fGiOIrv$5bqKb<mz&jN(6n>3!@djIYdUULEd+X;NTS2=_Ienf3dx
z&53OLJ1*nKXP=(Zkc$vYuXo6GKDAsgbo8!(nnQQlX|%zM<8MtPF-AZJ0bERksk6dd
z8W2giGAaPo;s&5NpyYsiHghh85UGm*!@b<~UvR74G<U<w0QwM^yN7KtW0ZxyD3?<X
z-|pruna2HLcGi6|2Cep|AiB~k&9*>1U>$K<w`Z^{DCIPy&~I(?l=5vm*13Dz-}Dcg
zIC4nwK<iH9DOK(Bck8y$PAFQXLDZ>f_4xU}fN4ySww01RBvI%35C|Si=gAmmreFtU
zY1|Z<Eh^k4LdU4>h6+GPrKklYVH6@JQV?N|u1`Zqw51%QNm-RzZX&s@+lz0HopPQ!
zK5qA)|NLbqGgG{?#kh_~Nzh~02FJWU_dL>F9tTq_$8-wJAYCxmI~56#?J>(n%k3_j
z=a0>p=KFp#9W@0c8P<N8TfE4J?qTO^FhiiF{XE2B<?K`962kzdDswadB^pRYxik<h
z7~ljJ^g}I}A(5i7%akoDScr|H!41J{W6=#cYbENd`*J|J9YZV)y;v%r+n!I~lb<^F
zyk3YwyN?@H-DGr!IIS!~$EIaMKnAQ18=l&pyAV&*RHKLL^3_!ty#<^2(Qco9Z>VMJ
zm(#`$pLHpApVkL^EQc~-cl)LfojG3L%OS%GqZ#qGr1C&$Q4o;aWQN`_0MpiB6~;u>
z&A7Krm=su>feBPNnYb|}90tv)5D1_s?5>nb+6b$`kJEAUM&{?25rxkeHc(sSiG7Zb
zJvUs+*JkT$7S5u;Wq#yfC64u=2*P9Kqul4&Vrx9oslB-%mHja8wL1(GM_opr7&L``
zwhi9jtR*G&U<kFM+-kYgyL&~NId6B)b~|-ySY8j0@kMsanra@2E$#Z**$AYleIY2L
zkgF&XjG$?7j-<1~bC?#<tyt(SYE_OD)fGfVEkTvQ_N+c@db+I>lt)){z38Be%~gqy
zHFL33oZG)kffQ_vw(YJC_{)iy?|KU6k(ww?j2#W+t3pq4IW%oYZK5%<PJ`6A&TZ@@
zL{@xLx(`PhqJFDQ;a>Xz9~RkU6{dV{$Ja{_XSQvT7@lGP+f|oJ-Y`{+Y$YN_FD|51
zBasV;4N{z#$v{$^t9UTDQvox3a%0wF#6^@M0qQ7#3s$lIemzRHzDkKg!alk6%NU1S
zJVAnC8`LkN95pncDDj*;+Atx2I@;rEjz-Rd<G^EnTFXRToMR!T(A7utG`Z5XMtc8!
z`p3=TLHKwd=c`s*Oxu}Ro8M8WFXF6`u0~*tHCi+c%E;!eLT7J?W3o~x35rK4QDw5O
zAelK)>m<<>g$CF+PI2xy7r@v8iMo;txkn)bl2h?IUmri?eGVd_|MUkWp$>~~F0x2J
z=?zAgm-zttNI`}2OeZNMLWSkgLgf7PGE)Bla8CB?M0X|Wk*DJXT-i7cMe1V>Ym>>^
z!GlRWt|N|puTel|HxE(Uxaeb8du^=HR@=j*dH(uA$x{g67z@bd7!lh@%uXI>IKY#L
zvzvCTnxz@w31CJXy(Kq|s`S6#@&qumVG^3nKvop+GMN!g>ndEJYa{w(^Yhh{>mlRP
zj;pKrP9xYNBB?~9#bdL-801K=H2m7uy*=deVm~}3s#^lB&XsfD%{}HMz3_+)J{6`-
zv6f@fSNqruzA_$V^4Qshb8MU2>Gr%2lXGLW2_o&Mnf#xNDfQI|U^|%9kd(Y)$O<YX
z;OvEoVxhzh3Yd$*SUk7YT#!6``QQI}LIzW4Sj-?UE>SE}4DrXWNd&b`B_6-ve4PFB
za84dLMmiPzk5bw-6>&f&?cAmPIyk?*c6|}P6({byq1^V%PxfWw<n8Bd2qGWC>IiaU
ze3}FIyKM0^TW9-Mf!6#s5|7kd#5%~mza85Xb@w-}CHLplr(4oANfrUlbV{-IA?*UJ
zI8kw)*`jJ8E{ITJ06{4jMME^B<OOVTeEx0P<?s4PhFVIF?vM&IFD1fX$1rg${&p8J
zrQyZR$}N2Jwh3Iy=U4Mzou^LC8ORlFZ{<pL)?<Bj77w8g!-K<KNITJU*pHNa=oh6Q
z-upWGt})}O$2d>93s7qK7?VBa0e7n9Dl28oUAJ)2Avo4L+h)e6c+5UZ$K_;d%2<{%
z`UPpo!qG`s61;S?5+~V5WG||29tlMlf?f*)y7<{^>zI!>tZ)-{>$w0FVUdku#;~2<
z_EHluOQlcM0%x~N%rpP)E;`K|4HbRJTHHfwI7BjgKO@MdPu`q;caZ3@0z;(7+bfN|
z9QDf!o1^ucFSgTg({{Ky2;_0)>}G;0E$JdvDiwXbly0Q7Ne_yUKU<jxZfo5U7;GMs
ztvhEX%LYYu15v|(8<VBcsWrC7BV5g5CWqScZo_wOv9Xs9BWNKj6$M2SslYU#(00g-
ztNU<FRvtxspMH{@4nO@ZKrkv1k6E2HMk1N-ITc}I3UEZ5yJy=wl)0JeKz_f<ZAA9w
zc-o9zuLH82mfORJ1?hIk<;A#uhjm|W5_dbkoZ?}+!?0L;=}x;`X%#JNQ@(DiFG?M>
zz>O4AON$yJz>LmdYDR|9S$jm9B0+%cV&+he2U&i*ek?WE9H@K?5v9cL6v3t=i^AI|
zP2$C^cv<o^%eQMx7SEGJ%zt~#<RxBV_7^=^TRPgHke#vH_E5u9{=SrxD?oNSmKSL%
ze`|c2=7qPHOvML6-`VUG?GUF?uex0<x9j^V)gH#%W<2vK8Kpb!8=#Z%D$JT%DXpNm
z!~^p%uQ+HX)FQ3)q+TFh?<5Z5Xh0FB(aDL67z-O<;lKO)%dnd4Ak1}aU#qig2E}94
z6k#C9eUs0l#<{ndi{9xwp9ramRKowIY&HXu%nS^JP%`wX=S=2qopA_#pK7|90a$HQ
zTu>@y=CEvh9GXSp1>5Ffzb5@KZ)3b!FU8PZ@u?>Ur6lw1;bSv4)N?O<3=WLG?|GP6
zpN>`!wHi7r2H~SqM~CFm#t0?!;6ADgNZAeyz61knlxW1d_&;6kTRxdB;?sm%T5Jd9
z63M9woDkLB#5{JT(?Oe4z579-FFoEAxys4dYbOIDl&G&LFf+oYe=QD!3?abhI@MGR
z9n|kjXmq1q(7>Kwl}7utH|)NUAai&;yl+~iV=hZ33|2pl<FaSPqSn3re7r^h6TRrr
z>M7s(iz3g~KkVnkbt2~i!upi~k-=^y9<q@aG~`i`^4yR)3Zg-7{)ePI@S?9CkF-Xg
zzT6Z`Voa=r(Frhp#$C<rz{4U^gpZr;0dg>%f6<p}$Ks+vdv9|9F7b-h&CE0NFi03m
zNedkegDz++iKn?8tj0aX^@oxu4n@0d_mk0A>V8T25(3VhzHyXhr1*8VxLj#LI(;AI
zB#{I~&sF=)PDXH?(|c9~QbI%p3K2;ugzDBi$1ssaka+167$C1B)AKuj6m`?ibl%+P
zIOXZDwkQ@+i#j5VnbL>&FdVC>G`WP`-Fo-lD7Uo@9lC-ffT)-^D>d%Nj}w=wmt%y7
z)`HX*wv#)qB0gPOoT$Xu-k21s&q5PtvTyv6qwq*m{EG-K5w|34?>F<El=9T-8W&{`
zv|RR{-K&+__M(W!b-2vkubI4;Q{;g(Q`E^F9z+Y6iX#SvsZ@8$EDnr|mz_pir!R;2
zyYF~fy)X4pHhI}c7#RnG8C!vQ=$~C{mbFutUp#0}$>s3nciRUi7IlL~M+gOK#+{gO
z4?EYgN~ZwAuqjq+bdz~nE}E;cz535h=Y8hY63%r|R^t%;%xzCc{i%!g&XkIH(lM=H
zesPTWlI1|J?(5m?x%Vk_#0RQJF9m+VA1V7=Uy|7aT?G&s7`3!%B!HxNTO!Jki*}<6
z<>xP7%pt@{PeORp6zb&$Saj$S$*D%Mp20ENV!V89b0M`hq#Lf?9i--0lcyO9&%zeS
znhIZWU_C?+XkXxwTi=GV_l+gkPn9Uf<)D_jVZ09GU4^DH;M8YK+s-<zYg4QdbKe;@
zCk_^^R27CB#^+B@7HYvM6kh%G#TzX9imsi`qTl>7wy%htH=QpqyO28-xbYMrHUXxD
zwzq9z)A;<a>$q}TJy<`9q>*Q>+D3DJmdxQZRFpw({Usj5qJA??FvYJeJ&dD;zo!=7
zU_L3EC%_-cWt<KN>E}FF%p4zlN1?G<F>*<HI=M{nvk)j%zt6YywmD+CIIMosV2h52
zVUTUjDQ=^cM0lFF&3>9IW*0`7`r<vuI_&2U?KVs(SjWJ|i|7i4<w0p!G&I3r8;|Z{
z?7~nlV0b^oSo*)%WZ`j|JW<$;RoXrVU735K>G^9IalrtBT2PI0f3?-zhYRi42fCWZ
zyJ7$raNA-)9YD85(6@K(;m9c-tGYC}MabVk7`xUMaXCzF>MvF$&X%?|G&J1B?$npB
zh<s?3+bH+3WG!+cjQOToS#w!iZ3^q_o1`qmkHw>kg;;0aylFO9)Q|i$s{a69_i@YM
z7Hqul3!?-*xIp?IV22r&e<gHFV?*`9xS@L<9ed{ja$&XSTZTsG-V80MwZ3g1%DSKx
zi3?uo@_&*JHd^DHVYeVS6GkeN#x|*!)q+Iga4g}Dd8D*v-z=LoW8{#H#S0sclu8W`
zodqi=bW=F=xBDEN%c%(3D~oiPrph0t^||-{jlJbCrFxb7n7x`+3J7n(6Q2I%Q`-^~
zOf7GeAp&F`r5?}&VwPRiCNDStld~PKnC^%R;q70K(%s{-1Y|t<*8EFB1jrcht7sIv
z+!0TyegHSY|LnW{K+evkm};6qjk3pB6@|zp#2whRl^#J|PlLMqdmJ;@Zj@3oN<0p_
zZI9c_ygYV3PqW#tr=WDYwGGMO!CZJpo3Ng}{dn*S^>ZhL;{DzH<!$LkzP0i8xI_uu
z{w3Zz7u3?KZvdXn*x{ovk3<fzz{M8deK#FkOt}nm+c&vgT;;sv0FI@f&5-40GehD4
zmoP(Z7@9JnkF?-01=@Nq*{8IhD|#`QFK2yF34&yC)GRj|l??kBd||5<O9?OiavIE<
z3mkf7@kO!IW}?$2&L-^c->rRkyrX;L{g<(uj92SSZZgfQnWuxN=zKNT?Qu1o+Hw~9
zm~^~+<r>@yV_e5Lue28;HB|t{5dxT(=x~_*cYojKdFxx1%Fa~PwgYvG$(J>ZO^pGa
zH?+7lM+CVuMdKw`It;lNn#$pMQ_uiXI2MTH7z;RF&E`=K@JJDHAh4Ach2gON^B=Rh
z*U~Q*bjX}2+VW_NySVV7c(n#Aj%P`F3ot}fZ;MCDdx`t#)K+JukAbe973}Ci{!x$_
z8}cD$%zw6W2kF%>Gr1GlP%1_4qq#`TP7QJgk3jn$w&qtg7j4S2YNxd2+%0^y4mAxf
zxx{oRR>OB<Ie_6xyiL=&N6UUX)y{rq<aJIhY4QX&LW#h!j~6QFY9_a8Yi;+v%M_O4
z_M$pK@om%FGR;>NHoh`7J(XnXBUlH*b{sYz`BK~|Y<3e2P0+Z?_p1RnUfECSW8HD0
zE^j)W@Wv-)?$6Q2`?A&b@Hu6dqDT~KQMk*X#0A1!3Yp#fhYlVx&grmT*KmU>nO5cM
zd-F;;$;2~R%hRI%egh$mMy#g)Xcv-GpkrGf{tvNJne|dn2~_aFD`KnM&10*a&)h}n
zDJtq;YIm4J2a7aUx_A*iytq*JhX(7RkLG8b%+IlVkl@8)IU=r4<uWLFd(2Ni=@gu4
zZl-KEi_eQ99WVRl-hH6bagGbJ!{+??%ec%`+n@a^g&~6DGIH#VKuHYb(B#g%{W8uc
z9Z7GqwWpD%z39Gymshf~Tpq%JYu#}bkMS>F$A}Cs9{F~m92d$G!+&7OA$I-Q7X^jA
zb9glyP&cH9t_ef{6%ks<yT}2|mQ#zx+@w|ua&9Qw=1G`uXExUDzKvQtweHd#wb(O%
zfu;MhO)usemOeat$(`@ND>XgZ^mLRICToX&I(IO<cloq@vx>jt821(|=@DKG(Fm?A
zbtIT+_}O1woj`q)`eABy4_!vLejZih`$Dq4Ty9!)o8vNruHLueA`oJGG+(}pIH>Pm
zDlR=!*3ULDU8=yaKO#gYtCEPO;Fut8591}Z2*a3hT>$7b&f82V@f@4JjBV6d);Ipc
zO)aarG#*Xe%3Yvc#$=7}=NE+z+<E!p$0wyHa*h-GI>+aH1+*{X;G1M#nipk-W*VQk
zq2f&u5gg!V>Ppd^?901#6`D#zCbXO;>EgY7<OW5)d)$`o3b&f$OthN%(mX8JH)0NR
z;8fhbq%GM?NwxsAM@#*1Ssxu1HnodJ=7mDZbRkGp*Q8~gHT2E(7(6#Ztu+Kx=CLhL
z>qe=lK-V85`VpPYBj%o>H_e<rKkK`49dIT6yzKvYe(@JC-hN|)duV&qG7IQD9q)Ul
zd9sZ?<d6;v_ubqy!d2B`OJGV?I*N|(e!=z87EU8(>*`(89@`!-vNX4Hs9_kgFTU*a
zDm!txn(2DLO=nzSxJ%tcV`JrS`&zWxP8HVHv=}>x#IhW<M<ed$OlQ+VJWJC@mlPhT
zy!c(}9xXmx<pSIC_qXgaiIb-Z!?dhoU9r}AdA<8>mm_*@8O7USaX!VyPVIy5!ONOM
zc)42_%ugV?aO_h%3^&5qrhWa%*L<n-JdWXiGFJgA1?sZf@?~g7>Y7X72rp>z*dTuj
zDx>+4x}kd_TYL4P9uJ{c@3Q&%JBG6`9bHlvsGl)HEZ(+6?Y<pP34^j<ki=<W1{Pw!
zaHJu5)`Jm+M2q<q{6)0)zB&ZKfI4734EE$4kWkP5bmoulQ5XGd^1>WvpG@B1!i%#0
z)5H8tX=b9fPe2@;KgWrso9jGS&y@z~7|T{Yl=tRMhmm-808uB1FaDzEQ~z!?8b@kY
zG<@`%Fdc9x*M80`KgM=_;1ecYaC>w4)w*oYYFA?mf$4qZIl`W=S>sjHX>n$-cdd;r
zyM1(`(XTSa$y7NMGpSeB-&|r1G47gddn+j|=ANVW(oQ_wd4W<ilcX~uGx$GWcJU@)
zebf?9UEem{BTt!vmHoP6@*+dsy~=_@4^|C78DUxzg|>3xPhX-^+9QO<hyW8ZA;Vw%
zU$4jX?9jaH?+(*~=SsfPQEzT!61%Wx>|(yN1Eg&1qUaEJ*tX#Hx0A(a`RKpS%dRP@
zEXvr5SVb*v%xr}=t~t_q!;gV`E75%__!#$vh{D6L8o9o-%SF25aLpq}U*@Usw{*9+
zNRq2BBb}&UBkG|kmbiuf;q=3E+-7lW`%R;5;;L6v_~At@DQzB%(rLn{pC+HuiNI{D
z3zg%aYQ)%zH-+N}_4BeH4Eq;M1}7ShzY;opoUhyLLWMR*#)XEC+VG+9FeA>}fycBL
zK{&pSL=rvX7tZq)`hf-JOxh!`M<*tiG4X_fUPRv~E|3sQDz_u~7*goPMb{w^n#+$L
zW0_6v1j|pp+j?+K8tQ+k%=7iLHnrt?qK~J;q7L1l-<N?_Q$K}ir1p10Ph0YSP|<oD
zn0jiKHF=p9fsvoRq03b9ppeDI%%gRJm;dK)F-ZM1c-T&FWuEGGh+B_w-N?Sr-FYHk
zrg6EOWKErS*vZ_F-=0uq*ZAUfE|snP;=+5LX_qDj+z}CT0S?)j^fm{n38e1DSa1?d
zf{rJI$d40{F}<OO__O*)K22@C7k>XB!t)90$3O8myY+qUuFH5ew()QU>bqy>N?q6R
z)9<ewj{SAtJ-qf*#x2R%b2AOrpQmsBF^EOUSXtXjBQH;+p1e?j75&*SE>qvq`rG63
z*7h8AEoogS+Og^PFPw{R@8yDMB9Lhm2a)qSTiSciL6)!B;{4ra!P|>qV=bv2OBt)J
z9Mq<)gHSyg6)$b*8l{Yv7y8&kjthj*n^a12J0fP=_Gej5m9&Z*<z8&9cXTW*Ui*(a
zg@>OX;lzu><P>_*=iRakp_%!Q$4F_OaXaj8b+aGl_CUClhh)3~sB5P!$3Kh1`d)wy
zOC$}ypiicUYaaqT=sOM_Rq{dS{s3hh<J7o>UV`3c6c-Hhw^zfls)!6Lb+sEV$8X7W
za5B$aG;)ee#fYE4O`*<QNEke+GLa=h;55_=Vi!8_+(kKTU&RzGFH>^_aVBZYw0jEu
ziB{!nx!s4=>f_4Dv=$3jH?(ck-uCZdeNmmcZLlAP4{veTQr3cc-iSFL(xrLela$aM
z#vi9r)$Yr_cQ@SpVw*}{Vgx3~E^?V9Y8kF?<ci3;F%{7qKbJjjr)J(tH_fa2Fx9as
zBc>7(rQ;oc2S~>@LnBy1gyklPl`juuO)QqJ7&U15X*PH@lmqwYa82(5Rl_jl^;@T*
zQ`P&&#o<d8SYLW+Cyes2F%%4BUE6?s;ZYJ6?>R{t^vTSJXD`eIl+s#)dWp02_(DF|
zqTiz5={}ha*4*=E&5p_mWYYiLsnl7xek?K2z1Dq;k)GS#^V4p8@qR<qNJ@)mx}6RW
zzB#qym<s9htFmVO`Es_2?(4_xga$`p&Jc3IGg8}dK?9S%L~i=N@nDTVcL!55M9M?O
ze7^}NbVzNdXgsuX8KZaDwcUTL-rL69y9VQ+k$kqOAr8GS`lm-v>-}#gYVX?H19g#O
zDyQ3E{VG*s;)X6|XnpW9hDD#qsmk%^W``e5#y8Dc*Wb~upG@iyE=k~j7Z2WXQe8pU
z8<8{)tvBOc%sSIHY#(bLVsdWA^wW!Z>SlLcdZBMvxPYm6*OI$tT18++=i{2QH5A(?
z4<k?lYm0H1sqpnU18WY;#o~ln%iXyqZvO20;nhfA#N*!xny&OrBTyH8j?F}K7<f(d
zS9`EO-9MdUX9KeMbKS|pp5-PD$GQ`Rx8=*81ic(L!wT=Pk}_kBDXrQo{<rTIfBuUi
z3l>p|VKYtz?^<$FixE4wGUZke%DxIy&uKar-~8vq!(0G8`Tk1$Z8PX;lFPd#L7)zA
z4w{29LU6DtuN=ujvD%tq5^=17+SbZ^-f$^82KWb>;pAgma*1(MuFJC+r!pMQr{S6Q
zsLQ^x-JBf$-`n)m=4t*k{PO+u>Ws8`=(p2voDMZMbVO(G)-PuGFdb?;T~=c^ZnZ>f
zRrvM()jFr!Aq5-%?o#E&@I;)zmf9-^|3$0(bvcgBw7abN-TGy(WqwcY6MGl<=b`U(
zqhVdP2{fj&+?AI+Z!SMfc93H8*m^?ZY@oqG1(eZwEDO%UGX^^NE_N(&2j^4Mr5JQ<
z3lHa}G>5}w?SCj^Tzla&7uG2%c<d+toyXkb^8UPT`SW6ZrT6G%(cSz0+l*mR?pi_l
zw|-CQXYzeVz_R&WrRBqPg`Kw>et%_GPvb--zkPOiwtas(ubUsG9qWl2zRzJ1QGF`!
zR!?8gcYx8?d$;w+8v6pm$*xKW!}w}AA1dB)xh(T=JB?~<j7*U{GT3Px0$8U^1@RKB
zqtOaav_%uOM=0A;G8RG%E+7kKQ)prxkRZJ|`-<ShxVa*9e<m-=V-q%<7X7``d0U2o
z^qb+0GBESuX0VItO#}emox5UwvED&Q%U9N>7><oDpNh>TmIpqnTOUbnEk5l%s?(Xn
zP$Pk;T%SXKmgV$gEGUaxvnisVlJukagXfEe{ql>AifY||>M##-kQWw(kW`xpP-1sU
zZR$MEGgLh>gdIMQ<_g0qq&?g-mcE}#NGhAT@9DBPI$C+++3Va4_2VTxUZ8Xxu6}18
zPwOR3`NW5L`wt(uc+tY`6}LZjkiI|IVBM*F>yI%En#2{OAG~mjj#Q7Y1hVcx71FiQ
zd#!W385S;S=izSE3_f&$BP@;aLL^>1td7?{>OK@-uMKX2uMgA6cuo6OsPkXE!Zcz%
zsb_zLarCS-f~q^HLVLhq_Nch{i-g$m{gF?K4$&-Z$ilv;@s8OdR#xL2^=MafW1P^1
z`u!C~if@|1;Gnj>eEaGDZXnZ$B}@-eA2Vt#F_xDF1E**8R(Fs?VMb}`ss^mX>Ve2n
z)O#*M+v0=B<^D$27RYby@pv0k9#5QCuEB5W6SH0IP22jM{X|crqks6iKHofxi|Oq>
z_odKaPhZ{?*WTZ)mbW97VpH;_BHNKp)cZsx#C9unK{SyOuj4e|Wl(@e@=Zt(<Sr+m
zov)d1=g^D+x94Vdk9nEO3zu)%jp!1H#~%)e3>VO?_4@p)-dA=MB3WZmo4G5%!n2mi
z(Tz<lMG;X~J`5lq{z9fl>|QsUjCHccm72jM$2hwAU2b<qNiNIKav}M~yg%W$J?~H3
z(f;O4`?1nNwoF}f%jNWOMOfP`Haa0@PTM1eV7;WgprLI+t}&GwaOI5IRHaSL3hsEI
zsdBJru=$jI0TZXWbm1FFS$#}CBw%4Q<M6l+Q|Y_Y4^KODBTFEEU8cX%NA6~g?>eLU
zLpKZfe=Eg$7pJG$cpxT!Qo#&`HvQi_vtHZ#$GL5e?a8m!C!A@BK7vrpYG1Ci9Zqz4
zDzYs!{YbbSu}0_3_gSaurs?O;3(=eRnZqVdT)f2C3-@lNpi>5l`bMW|RKZAOD2_0m
zH36iVLR(zoH#)Qk4R`#iyBwC&fG`)nHd2cv`v`%o>MCO*-bZfEAD-SA5|dXmUEIh0
z(<#`R8hW+Ir{A#`FXg8dRwnFTBvI>H7M<0ga}oqx?py7ScQdnF=bRT$)OMGVrehLp
z{npx^qz_&5AkB3Dc1>U9ZkDu~A2#RB>mF&c{&f6C#zSA0!`%__ixx4yu?lC7mgQan
zpr-yV63h*Z76qw}2bPZ0e$rAvC^x^WVXl;QkkH2Ni937>dN_B^MJC(qoPAEwa2vq&
zzrIB>CMS?dq?Nsrm&rzNd)hQVCEC@wPJJP%s{Eq8?5j#bq%R?kK8P=^#q$;iv7}KB
z*bgCHh!QWq(L*~;d46ghqsbzZ;O$+qwwdpfkF%`z4W{|!gAS)8Mf<$Gy=)I{u~Ac9
zumhAnJDJ{&UfD(inGOjZvfIR?^X(ca1cswj5NboAn?JK*(fv@$ddU6^EJ>C_*EC_b
zUSNzCde4{g;jJa}L_+`q8*Y~A9liVP5FQ@lM{n4Ai*an4{TYytp4!MZ7>=KDSl5!+
z4*^+ESLS8#@U*11$NkJ?+gz7PLFi=Pm0Ty;j`k93#ZO&fsqKqO(4pBi{mnSv(1i5P
z0rL*j)Q98`vs#=()7zr+u`o;aBy2pQ6F+M#Gt}MOqa2yxS|3^jls_;xR#?`qNa%~#
z!yAfa{h}RxE-`19^7LWk7(AFVP}I1+9woLbBgCw{Uv2jD^D7VSb;wBy`Z0~M03~`I
z`!e-?l{K1awafF(6b)>3=<I80Pw*k_pY|05F6-&Gb%tl=(Q7lNpJ5uOX?#%<sahKe
zuD1gk5u!^Ga9+BABUuY`socgB#1q+7fiyd<9=UKW0_x}ixQ&tArE5y?6qPBR&WH&p
zejyHUp{PGL)9SY!9#-qyQ!cLRH1&lwQn#7P27l^5tw&iMnspbhMxxu}n19=*IW)Hm
zUzw5SY4L5oxqaZ&jN`$%UFC0Ih7awEg4-FZfiM;8i}vgOwSkA`Kx6Db)}iV7l-l!W
zH;aPS2@ieWt>0Lz?}-xm$ChF%&HA{wQhau&**_ED3SN?Xab9#j(S`zKOxiNY$u?X@
zAP1qIaxfFiVc3cegGsb~%|72<a^dE8fA@HcaXY;KzrByq3OSKBL~K4%Sn!W~8P=zX
z78O@NjtQsOa1W_oz3!+p=G0Dawx7!C<;^>8*8_cDi0djj2};jB@yLDKDiY;kq?T{@
z{bv09v91&CT$Su5KMkexz0C=ht#4c7bQ#<3r#N*s49B6ljLG6S+C;~qPv?>;=JKCE
z7aGRK#l&X!LyLSe@(2u$iK-dsI<(PJw>N5T8LvjY1N79{0#f4Zr@D6f^uw=+i!jJc
zK!r;~;G1{4l7)44T%W$b)cF-Rk0z_du<L!Xluh}#b<-(=kNraTH+n${x{Q<UN0JXi
z!HH)gQB}X#9yg8heD2eJLk+Ancvuc}DdiQ9JS0_DO*d0Lbj8AaK;LCT$MABok)G#-
zjhEEl+3K3;8r^cbPdqQI(b$1|b(Cl*Z*!7yd6oH^4vXLiCaSN?aP;->uJea}+uywJ
za=Cz-VVT3^C1J*3w}69CRlT^aZo{(6Nmu^s6aTb~0|-oKWzQ|4{&+Qb7J1pG!*fZP
zytLTz6}KhXmc9?0lW~}&8_VSLqWUYn_fwVhChIb%;<uE#c?zrBMZs~Md)W)3j!dG^
zO+0tUyZ7_V;6kF^;da;U$5pm*2%%2J`?9`+I);GJ_NG+2)=}y$4BeZ#$9(ByKtE*X
zhpSL+Z1PJQ@3H%<{PSMMQiPj-e#&eVQ<SWh)EP{H3B9sv7v(|uFTS?Ck?OBz3?z5{
z^!`2h@<riuXBeOTWjS<r^tJ5hv^{|HEA`VR+;KVdZ0LfdIKEQ*@;l^d5Vj|F)nlq<
zizYwj_WGZPJ3jQ?+5&K!WoUI~`l7b093h)oN*GT^O|gv)e`6)IGvJn0VJl;XSd1}8
zV$8A<jN3$@1=TQ>#M20>2$~i{YdrK8AD;5YL;9!R<`D)~GbibZODV<E6#s1K-ea~}
zzD)i1%iIm`Z94iDRwdsY`ZZR?V)6YKA@IX)t#BRIQ}Y<L%+=zC)DE05jr9x>zRSB?
z-e;oSyiVYA?fEdnla<v4@;9v7T91FZ;@ysxcNafYUwA<mhC$cprp>sCA<|fQrax&;
z5JSbLjY}^q-DaVbim65W(Gktm_<mS~g*eKpJ4@(RkNz}iNY$1d+oAvPtD%6w>=MO{
z4HTJ~2XW!tVXHq4*URB+S_yM$Sq#(|UiLbTr#a)R#khTOyIuL1W4m%%)Qq?peWZP~
z^=f~xMw~w!K2jlPqweY3l@1ar<&nho*j^tQ;Yhi_$HS)Rwxp*bH`_VRnoOtO1~@&?
z-Sj)geH@|q*vA98@LI@6BbXJM+DcZrqqyOQdM0wHhgw6VvU8tI((TKxr<T%TPTTVS
zmz5c4%$%&0s8F2;)&eVWHTOVc-l7k~_$J)kg;-m&%#H1e;Pq9jZG3j2a+t@yCobNQ
zv}$$uxap8h=KipzdOF?MXWew)BT`P5r5|IzHtIhGu0CFtJf^ED9enV^6_-0Sut>Q~
z>w#>N9w1s*M1~dVKrRDTC(`Nj=-x!h)j4wx9v7}CesIt52)@f<p8d%<TujRRr0w?&
z*X%<&|Lcc0UBM(yRBRvys|#~dfWX~O_D2KOPu7)TyT0VNbzJ6G=8ita+&#d1Y@DLD
zv57wvw@9wHZdscBK885r`lX_9KZVV~idaL<V_inL=4QRB^Xhl8%;7_W^5d4%^3rST
zvD_D3@7j*}F>>Fkx7z3zwqITiZQ|wtVq#h#QEtj(I~_VQBwXt#whyt8JQ`D>VeKBe
z#$nrAGr@&)*WzHC^6lZD{?WLIEL^Cr+E_J83(!PN(Q)3M|IG*lNZYHuKD3rF{a{@B
z?xP9PlI-l;jJgZ9=P+{l(ead9vl=A57&lZVjElM+=UDt>cbHdYUx_82cA``E(fWr*
zeC1zG2MDzHpB?}1_f$_bFWszWI`sxr#Hj#u`!--;U$kBHRSC&ZN+~h69H}>_SrXEE
zAk=v)Ty0uUV;5{ksBeEbCr@<yQ`3C3fYtl^A&S6I3n1`T07pA0Yp4b)^zHK1SNnmV
z@^1h2upZX+)$<s2@N?bdGQ`0pzFX3AyPq3xyuDmYX}O=*q8`!ewUd>T9j^Q#G>0?)
zWvP(uVdi5;b{7j5{+i6zjpyFKvAOPn!%6~2?<ihGuQnM06!V6z=LTF{Bs&bPb5<?s
zrKUIxG#e}%P1UAG0AsBdQn<7!1ncc%iqE^Qj7H5I<FeC#*r^C?6QMr27BXTU8%u;Z
z5rpsZ=aJhka4*x(oui+QQ~s;m*+83zrlDco-i4~;)!S8bGe4wR;>hRAQ;yq1`1rdQ
z5A39hUf1VTrT^nkqcC3{w-Yh>i$YE9-i>@nbQAvyvXdcSec;7cV;d+zXFm60v6=RL
zz+>|f?PGWCdq`#EQ#llHW0!TF+YpTr8#}cHEjnd+BATGQFfXBpUD`CZV>BJ<`ls~y
zH^1~~5o!+@gvq#pk3d8ni~<-?sxz65X)L*)ZPHC^T=nV8SNsJ>A!3U^v@P6`NiFTW
zvS&k)>v4bA=btOW)?L#0C7+gQPRqK8=Z)37P_Y+_M;{8`bUfSf@L_rwWc_fr?CfKF
z>geXscj65#<TTz*w&6lCH_b<?ntz%~A_=!5<JDPtvdcpUP|+5E2V6PbOkj<ZvDScg
z=${tNc#r1gRaswu_~iotLZRpYm!1mQZ7r|@VVDw4_$IycIVS%cm3OinpC115qW+8b
zSdUh;^e?-lh(e2`v8he3yw?7j$Ixqc|2GDC%CU&n)3F;Kuou2979<_wNTQ2;du*{f
z?O*4M-*j!|`?^*2CocU?P8eX9<H!hDg*wNv?!1uWiLSVG&K9)}eQ0=)D9NL%Bu9*1
z@drKVy0qN3m{J??>9U}#tF86BXZ*{5*h@6=1ZRn0bBi3}gE)x@d~i{b1&-gcIdjns
z;v;W<x;j65L2quxYV$^e!G65cHGIwAEf+6I+Pf0NBQa@f{ZtmZ93#WFF}8M5UwifI
z!alNdZ=_>Q1CRapPg3<L)QagDAA8ZV<nUd|RKU}RFTc$LImLbxrnAQN`?Yh~2Qu-M
zQlSniOgctT*aIUC4On)anF4gQ;4&ZD)pF=(^uxb-B4tIH*~F|66RFw71e{HckQlMf
zi)i5M#r?Eo6mjH+=;0615JP{;zx{9j^#9rYw>Llh!+-nm|NiYi{p&yd_WtSpZx8e<
ztXC7J78%%RT&}xyx#`<<)1|lZcgDG80ta0k7U;k4LvQpyzTrt4Xn*GoqpjOR8drPi
zRXk%odXW(pr<=p3xf>G|WN+a;Q9dYJYkhHQI}?dMk7)$b5ou5;j8hELVx6KnyymBW
z{dMb>C4mPsFpwDxH!+wxV)O!;(Qrww#hZ^`eI)9)dFtEd#XkJ)!OS)d)O7NLPP*Hf
z{$@Db|MrI;p5FiQU;m%~^FRNmKmNo2^7Pvue)-$?zxm~VeDn0fKm2ge(Hi4Cu)S-B
zV(9xT8~UWyG4XKIgywe0cT`=E&3C#Y>jJp|yE^qrP$}$K@E+z3B_yzGq1i~M?!im_
z;A_*e(PXKgOXKK!XRPv+15L5a<B-br=_wPKnT<0`G=+-sz#%X*k`s(boeh68T*&eG
ze06-!-H;(A`}o&UQ~6YEAt?#DkVq2ez)B!M*^5&>o-p`9>vZ_^;ptb0>FND%|M@??
zfAdeD-v01pUcUH^zca6@zop?=haNVf|M+w{j0<-uDs(_o&8%6&c^Z_cSbd43T*=`$
zC}*F1D(lz%1(-X;yxiAD-TKM$uJP7rmqUxvhgBeVoNl+f;q5^M3I~uQ!D2yTD7#{S
zMNrH@6s<ge(VCfepW3z`{&>?}&D1T74sY7ayd^<_Iow^%kPV^$M?kp0Ab`rqYg>Cy
z06=0Q5EB?U<_3eJT@Cg7et18<XZu(GXZ@tZjt}?0{p|$PtM?C=GE?yK;uwiLs??2O
znNX)*2Nfzma{$Q#Bx?1N+ODdaZ5}i*zZ1C<D*nZN-|=Ol+AM<1$^w0QpF!+0QY2bI
zA?z3x97cB1S_CQuig_mc13#~{+VRM#|HE`Ct`s*rULRh{!3)Eji(wEIri2J)CwKA8
zN)}xKfQe9LC>-sWW)2A-&gxjzzAT?)O`$W*#leR#(cx)VR?lvKzSD8Jiv<o$&$$-4
zhQwt#$v1nsxX5hxQb$-bmJ%&5*XPJ%Ja_K5>I{c0zGc%uZ1WKODOUXIp9bnP1KyEA
zjo?#><l@$J#7YJ5Kpm+^_+5l69fSBiiIl}+Rhq*-EW2QF!bKUu1R`^cBNsukEDBY4
zF~CDl?7#paYhb34kYU(<lF%tpSrs><qMn)&Ni<Dm`HR1QzD4mr_O(AuyihFb9}M$e
z;+!bNIp$^jFh#zzU{XRte*{f?Kbu6xe8j9r;<%g5ilBG~!tk@!-cM~CO$t!pWHEra
z5Jxg$lL%K~3mn-Kx!O8l5Lvu9cK+brWh|SS;=j>3)mhIAHn@2ruL04aO7H?E5q2~L
zw+Jw}$%tna?x7x-@vbE&E&jz`*oZaFE_^w3oZJ8K_nxovv3-?>QbOCg@q=FOa9Q@p
zcDi)Ko9@V&I2Ehj+Y2j`t~}1Sag#WB_SASQ*R%AiD2<Q)pEogu@$}}O2e=omG_a52
zt_r5UmV!6~W44|nyPFx!6j&6W!hM`fa+|ER)VPk#&CT$|-k$!fvkes&FBfvnjD|={
zaxPoW#bGE`Or02o36U$ofEA@ug4gr2S17_JoP8D&jB~i#{sM3@M9;rpeU+0a&Rp4*
zr?~Tp+F6)Vb1SvvDuF@Jb$LKd-k!+fnB;!OU_;z7(Hs2Z3b$k>{N_Imr6ppxxGObg
zyy&W_6T9PL3s15JRLoJ}4p3^0*Td8w`l&u$-p-WU>v3Ohk6pQ4l|S{GgvBWZiLkLL
zB?9n4lZ%l%vrs!3lY2odYLT|VhqQ@KUo>x}Efyj=o)CBTv;Sd9H;7g|biBXQp~N>+
zsb801H|;5mvBqM1O}5G(Dflg*yLh1P{+eqG<g?a#JHWZT@G}WUaQinQGTDdFz**tF
zW{OfOX$K~%WSUjTDH5i)gn44HN0dl^mL9%zq5dJ&musSLz1deBUmPB9WHnl|0P9f$
z+ZZ8+RJfz!1o%V-a+Ib-FEB3}$=Cxh7z9P7*x;oS*W99?_1U*Clc%*CTXKFd@xPsm
z^WXvWHJhE+kz4ZGd>LXsRvw0Oq$Cv7_)H5-VTzf8k*>c#EqptOuJWCm6aM&{H$e&H
zuw5?-Nirvbm%<S}M28S3BQY;ZC<-M-jnjQPSclZ^?k{b0`S{m1{=3lEr{64lIf+3d
zPDIW^pu*862wVk@UfVh4W;PaZ*Bcc^6a3=~ZYLab3fs0ytty|2-ThUY=ulwxm9g~0
zhV`LF&>B-dc0^W1JA`R_j2|G9)|Gv?0<Nj+5i}mM483fa6q&w$>HVeuEIXcxTm0dj
zNMIERlL1=1pczqEyP}3(ymy-$FPj8z5s8a4mDkJYe3(byf#>>T_+uK^{j<vzEw?*Q
z^Ry_UEINsK=E<$7c%IN2MKN(!afK=sg<aTah|+z0rM+KC;i)jWwfOV?=5<%6t6;+*
zW3&-Yhue0o5*5-NCd)ofre~KOBb<&D^B|$Oz5b{V6Qv}rpl1LX)WcYZ*#lmBFsaj_
z3|%P5N&u?f!8{`tC+`Y%8QMCvv9$<OnFKKl6N2KqC$RNXY<*aCZgz;fdYnsiDYTT-
zl-__|VbNM5UxUEKP>L$7f-Dg^YfAut^~Q>u0nj>>6S>cK-+j9c+N2+`PTE+@p&nii
z!Q$9I6)V<Y54MEp>f|+Sc{Nbvaaxt`xMAgpU5?GW1FVdZQuMh7<{VJ9PB{H?rj-Xk
zd9oNoQWj<q1M7YC*^MVdWl#?!B_lAX(Vj3c`cE{bcI>*7|JC94v8y9*>i3;!9YAR?
z1K?DME5l3WA{|9ib|Lmqz(L_T5jfDiS(T%!Z97YCm$$!oxt6D+5-B5dKO06)3}!Lr
z1-L^={;t!wq4r|HQVx`98t4!wSHNW+eVe%4(oQ)B8?wvM$@=CLJlwv2=k1l0z>>(-
z$RwK<k$4DoASNU(EP$!+)J#yjLe&Vr=uY)xT(uK_Z%+QKsC}8j`K#Yews}yO&F{@w
zz=qLd9jKX!B@&x^lpbC*I@dOGKXe&h82V`4#2z1um*X$KJGcG29r@KbaF2_%>ENox
z4)CzbUv6r4!XW?t-D))TQhA;(Lk!@qMfzRk&I>mk?HyA1uAoFn-^T7O6$=4v+`Y%k
zmE}2TRh39U?jr;sxs*g^)94-)1?(V!A&iX^!x}rk>_dquP0hF1J7j~;KCWNQ9gI{z
z{+t!=aIgc!W1So&4&WBpvBg4B=}=&60My35)Kqk)63g@L-?hCSt|Ir%0y5Jw4f+KI
z>hJrolZo#91SJ{T!C+$%^WLK!6Ji`jeZ5HS%u~TQ9(tJ4lsCCriqjzet=6miQSqB8
z1hY0Y0VG=5$Y3S7nQ=j3>f0`hQe=!osPGiy41segX@5D%N2AvmFRAI?(P6Ifv82!^
z>WKq{i_ASZ2t_SjfQ1T}j)(wLDFDNug@J22#AGUdzM;SWR<0g)z1XHd1ic#i35zZN
z_^rlzlbc)f`9ytL;<Vfn;_);+{chdDU-r*&XpMfWrFq&HzV3SCXhN~Q_B0nO-ebmU
zjdm0NQy!XXdNKrYKpo(LP!#T1!`zLD9k5I>8i-^fI4kVWKbd!nFDV%vg@0now-c=v
z&Td|s34SVG)Jxq1=E5PC=xEvw0E0jlqZxsn5q*A{2Zxa){_gd<mhz5IZ~FzQ?i+5k
z-}4Trb^ZOyR6NvUeb#jcbniE_zevSgrhNW%`JC4c($-JMp6ic49;X%M5lT4}-FW=a
zR;`C%)?NM=YpL}T`gjfsXV#(?;S7hH)9pxZMg-Q#G%^U92f*2=U3^_0tM9aTo#5j!
zXK(h>Pc->H8c}^>FRTt&GzF6xWXu3i2~ddk3|0Yy5(Ia~5f)ba=J-iprv9#+CVAdT
zsC9R$?L>#L7en0j5-W!OfY~q%WsF?@-7eZi&jcI#vJ5fN>A{hB=H^!8)VUiH-`E~)
zi%ir19JnFO(a)C{f|ugtg4Q*XL(CducQ<!Y5jaP;${aI7sp3MP{T;TABOc#dX;w)d
zZgNb`yl5V7_mHqfUy^V!D`pcqC+oNfoEkG0vx&UG)blzXdfrbnI+KUn(QkSTrSZ1Z
zeO(xiU0-nS)2UWLdo!Y4gcohwV<6tN{s5kbcXzMnO<8IZuX)M7y`-*sDdz`j*DXP`
z%=xe_&eLjmLx!^23*u=JLnTI0Bsc|%0s|JMv6ee3gTOR`IJVX<d#IEB%{VSAvK6k-
zS9A0;rleoZ>RW3eRL`BVMKeU^6iMRTvO7rzfqKAvO^AvjB(;Qz{N=<NnjxotqWdNu
z8?apkTmp#v%J0v&@O}4iX?``NPxC|CUx33o_FUq*$D3cT-%p1%##LSo`p|yI6y_A;
z2JWgd6^omfg);|#4=|%R8*?}W6o-@TyfCbQAs3IC)qIKqj)kZiDXeA?hiCM{=I=JQ
z`~Gp+ZukGbxseZl)_3i1<-yce^NOhv1B)9NE|JV#ExSh)Gjr5{sD-KVvL2Nmi0$@a
zG+9j}ms9sh9hG`a9)oO(j<M^TXXDLRA331wBene?Ev%h%_w$vyvrnefOPS8S0PDly
z{*PJiwPeKz+IL+vJRQ`n`6Z^U=@s2vHUYH{eJsulVs{ur5koF(4m4A75V*tu1;-&4
zM{VyL9Co%(mM(667P~s@-i|K<Ji6&%j(|EkrPh(n4Jd6Q7^4yLA{@OWL?fd{{L)Xz
z8L581{^_)9+jd(t$B&oxf##Ue%Oh3z1`pheynL_A!)eWJ4Cs6QG0SHi?$QronLjxL
zbDU!x@iEocu_jO|<u(lWR%qMDfBk>8vV4#B7%i&}m_sHvz%fTSTLBd`fYk_bHn)fZ
zFj;9yEa^A%F^Q}-jqyjYWDLXR_G<AtR7klEvORV=p+qB_f(a-B040JEqC+s7GTb7C
zPMtzw=g>*}_5Nx|HB!@rq`b}F>KD5{GE)qt^#0}NS|9FZ))FP^y2{lrxBGr<nGSQS
ze^OA-lcJeg#<v(sklGJVE4YTc>s^b>;Z5Uw5^j_u+u`P$DMa+WA;GOsbS5Ngxq#sj
z?qF3`SPf{Z%P4%EMsiN{mrys{zB!$bcBA}UdPE}C?*19TObi&Sj{p>I>;Nf=L!F@1
z0))AZjA?F!DmXRY=~%Ch=*G62vth|9_xG!r$4_s4L!)x)qX|LmQT_36$Dg}|c02Ty
z-fWBM!A{~KC*J##3Gdu{ie$0;bQ@2<%6CULf;qpd>zU&}O2A|aH+51_MD(GBH9(QV
zg$E08V&WBuVl$B?q*brQipM<EbGS(^5564k<#RzL^KD}WXLWcY#4&=^Ftp-+b|>qU
zEYM&#x1l*KCJ1sJM-uy~!vDXn!EiYZo9j6C)3B)v!)9?E?}Gt6ddFnI7l0SdyBEWh
z*=hAN)lcIjH%Dr&hR4fj)%nFcejtCZ#I>cvz!u2}Q&~~bC<YE7cnc*6tIv*t#(^1?
znP9@w6X0WxB!E5R`4jA2L%VslTSvcb(3~t1({BRh^`%|Tv<4TrKn4zoAi&7oK@A(~
z+<QcgZBr@0V{^8(H9)?=ylqAi<?&dtfA``+$8l?whSY|hTuy_~@r2Wlp2#*kX=%PT
zi6-WQE$bqkCMs?0I!h>+x57jF@})E9|C;;3P<a~LV127eAVV;TC6<=e0R|Qw%sXoU
zb0Y$|RX1TD;WqbcSkT?=+;+`wQ@;5T8G<u6RySvw+MOKUl&QeTiJ(A)A0xot=ZTyR
z&Lv~k@@03}SCtrwaH5=gTU^t4c(K<*8t!E6>o{!gcnHp3ydAk)=RP#x;BDGIpq6c4
zdkUdS>dslFUDNI7t+iM*<28y=d$8yZ71;lZENu#w`$podr**z(lmIo!4ruQCfk$_S
zX+#k<uVAk}gH*OKQwQ_(EQ#+|ROEn<@lChzeXjpf7x^1!Q+kZtOHZy)qA)3l4FFpT
zZbhP%$i<m?Sa5~(qczPCTatAg+cmSMK6LwJ7vhiEuJ2q&_40YpJb4=jxumz!6RpYO
z8~15{wHtM8`os3>anjge!gQ`SQFZQ7*bC~Xe|pfH%EN^C(DTqnhBu?!1_t0f)t0l<
z1TBD+z!A(+Fk0yYgRzV5EplfI9>Vd(&`>J2`V`wk6J9{_)fD7LU-Ju7+Iu7+cn2{G
z?g30Fgf*LqD>Ko0YSXf$oH^#@k#1EDRG;whTFVYs_q;f?KTqR4?c0WkOS0O|JHOFo
zz7fW?&lCI7(MysiFWQ#7_`ANo_2})@pAB=<BiGSkcKOqr+|12v7L_{kz(g9>8pl8+
zj1uPP6Qm>-6obQz%o4g-hH6l6gO}hfzt;oDj^+j8&33o$-tqaHMHn{a`Tb<<=)0yc
zo0CB@Lt+HgSQOq+1qhOi-Nk4)*_^0ycps+>*NGckj((c3;I;XxDY|KCU0aIBSqGUS
zw|H=s1DfQQe&5?;hk|ubP?LTiS52AfM_9SKtFw-}{CYjNO8*ag$w?J=Go?Ns+)W52
zWe>&!000oO9!0SdIph}Vk=#mWb!IVdm@jsdx7RK8*sX@uVen;sw(5sceRDkEPM@Yw
z#+&c&dj<~-3+`eAP)M0z(Xu-V3?`FQv`HIp^VfZ%1G%gJp=T}uh{kDL%ygxv*0`i*
zLL)-e_0uNSh<jhC=<M<8Xczj;w%qnIB<g>CgRyz6=I(Dp?R>9EpMKlJg0WPs{T|I(
zcildsajXM7=ib>%fw>Kg65QHY8AMJj5MFr!>?kU04bOS1!<x+>>zEYH{pJA9-PU9K
z(ru>?e`7-ep<1lUgD_BwBMKQs5p{IKx5$!+mx**NP8#}Y3mFewRxiCyBfUKc4;tv^
z(vS}!*)o!+ax8URTPM#Jk^X>U{UCfySm(od){<pt<z(E>#@2+^7i6DYPwmuNcB4?c
zQEo|?_f|wb7>E@L2PSl6>}-()&M-K6;o0DYB-xso<!$EsB!%a{eO+wnnDd=Ttsi|L
zTbIjShi}oFChFj!@Z?~LEy`pOfH8_Kvx;ZflLhuP9(oTg-JEZIfW8$epG)tsw0hLR
z<h|9|z8=D<oTsk6&%#;Ud+*|RSaNe-g+X1v`a)W4r@J_Rt=<*84xLi8|Ls=?%ncvh
zsE>74BfTZ!<QeP%C|w3I!(>!111uN{1*nrCM+cQ82K5@WJ5e+CZMMw==Gz0m`|{_b
zpjl3hm><|*`bbZ)L^qp_SXjs{fKiJSvOy(UxK&Z2(}{*59JUc<br@s)1|suwCwya?
zf({5@Knia9wN4*B%`w07_+3Xf$HAUiO~1K2yv~gpGq1mFFQ;TYOge^|owiCm_J4W@
zk?o#qxSJ;9ks8=Tv@4T{r3N5o1`}~aH%lj!71h;A7yu9CJe4L+#>ent9&arz2TmG?
zdb!bm_Y}IiADcg*_PiSJo$EdoDZx6AG<Y5<n8UP1LlrKtc$b;^g7gt<k2i0q&&RZS
zSATVszB}-sW$vxtCeJs=%Z!G-Pu3&LcAlYqZKB;CN}6{(m7H>lI_%ZP9#h0_{W3nW
zPQ!e{p8xBA4DH%0#uVMC39IE)sKN9=+?ErE2&JCQM>lnalDo$i$Vz}_kiyyuBk>sK
zxY@B=b1Jho@-G*gW!LPDA6NOzfl5Cp`nEm+v6Q086038BlJPiE>dmRooXXl_VMNiD
z{ABDF_{)vO2c;9YP4xQ*@=`8wd{J|rhecO+eZJ4IV);Djd7DrdtR8*N!kb0(=8P;$
zHo!9A27mFt=DSrmgd!C5feR&EmOd?QA<a{Jk#j)dm??Ub82}?9r2vS4$s$7-EWsp3
z;@&)qQ1rFL?>-WaeF$rk*!=rk;<TshE)bAY%U-Ax2H*@f6F5sxW~_wCtoRz-b%S}K
zPwfD){{Gozn50=M_QQRDn#$X+A6Bsqtq<2c{3J+i7h@XTiA%NTeEZmL#*%vf$XAB;
zgRS#{b&@o}7PbE7{kvfKy1h8+zVCQC?m--b5|Yrxrb8fyL2*QD3@&a0g6jb=kHMLX
z!A-mv9luDi^ct|x)6-LT-$AKqn9`Znw|V(*AC7Gzs)vs=h$kJqAd{&PJBVt5gG-vE
zp=25aGf;E|G&HAt{hrdM<bIqexuUdp=P+}H`*5^%lk$5<Jl5N_FJlZHtYW}qm5S$s
zn67$qo~d<|gIrC;a$B2FSSY4`j3s&{(na^G)_qGTkU$YI6h<VFSB8?QuBBm+nwWD^
zodyGIyVj2<YvMuq;bwmorh04l?<@uz-Su6Vq+H%|e0ecMVuLhbFfkXxWaN>^dZ8p{
zlOmVMmt~}GvVM{@Z>8N+dH+h#+LhO)uN#^N3;m`aL5EGNW!TSp&zY|1t-XHeZ0^^3
zUvBO10%2`KqK#cW7TQuRxgDG>+4~ZLOrF!TxRHwLJ0aSo5SKN0pgtNH%EgP#;>siz
zCG%iztY9W)P_{*D<qnT}GtG(bGU#Qvw%Q=F?dH3y<wj#z`CIcPo1-TiMIBB~&g38~
z-rgB0$b+#rMCtQ5SrK}n7KSFT4v{6t>E%zWA;)lN8qQZFHF^QB*J=LRj&1m=JVUR`
z7M+szYemds_3Rk3*SzlkI{5sWyxf+hcCFR8W1#eY&V`40EU_{3<jY{L8YL<N3U|{W
zmdwYoS84$eMlgt#rSlRg+QVUM-Jt6Z!}QcY|1sMWi@)7wzP+bAY%H+D3{fSEbFXkH
zoE-^#4?0le)K)IFjKY8Dk$g_ZLKs)z2Uyhl6NbEl*m7HTE+v8wxM(7~l(^0Z#Fi2Q
zPrFQUCVUPhGu^DlfEV_Nj9p{h%nd7U^3(_G<1SnvVvv~A>!{~C1qbWQ#>SSw>;iKm
zrfSZcgv<_71|nNm0h?aGqOjVh65?vlKeb#%T3g2khdC_j+jY3kl~N+0)yOa_If9~?
zL6<HA$w2KY?jh<payM=;Sy>G<)^NkeD+VDNv-<izy=U7X``*Kq7R3#3dDu&A+L&V~
zOo_g7E$srajhig1MZfdTQ+Zs<Rx#|4{KQ9}URdEN)X79N7VJX4j9nlD!I&6M2J?X%
zwnz!Stb+lCT)i+6W}%I(j&?dsp&K_E7Ju`wp01YHQ`KqS98=t1G3#8Uyc$Y3gB=Kr
z2q%F-sD)`?XP$~0w_c=!Unu)n>SNUC+aWV)Ket{ndGqjc?rlwNs*7$oHnP6oCrq+Q
zi=$PutEbDnjeqEY>6<CoPmS5}-;9$N8PY4en>BN@j-Y4}hHhDqvP_;6A$O1;LxcfN
ziXtk2z{nJ)#4aeBq6u24k!@`rqrG<KaQWCzai6unK9~4d=3A0EuH~8@yVFEnWCI$g
zfMOxU(OCcwej&10=k*sQtnYL5om08CbN8yRA~xT{b3bUTL|oG1Pd1I8KK<7ACA}B%
zTy9t?<-NzqA8%*g{Gl0qGPf|XZtC}|8e0jTRhlW@H`WndjZ}M~ER)2B|Ik?%$Bofx
z&Rq;7ph)WEnUn~wL_8`$Mie=N6l`!v+v~)Z^Wx=Gfu@P4kqzS)JoLFc<!Q33IZ}J=
zAAG+?VF3MrSbY>8)PWaPQl0qkE1~@iO3&(&4W)1T{VWB`&S=&6|B-5uMOo(y{c?qy
zAiPQO<y00rd6y3%_2y6aw};yziEP>J@N<mefH{Ws6Nb&RllFhusS{IdODt(TgmuQf
z&RkLFbvL%n9oo_b*93v|&J0mRhDHG=GIawOmCYhC{8e0eT)*vejkdk~msox4k1P7I
z>3zGi(iH#Lm6{iLK6jZh5_q4i^fRlnNLkvJkQQOrPh+Ja%IQduSd<3R6#c9GZC!kO
z$V5I~&qy?-KP0UCcXOA=HkGYRL*Fy+ZCrAu+~?1iu%j(Tl>X&IbEo?jWd0m_eb=|o
zqR~@9Q;fW<zI4?2BIPix2j|?u5KPU@QA&vbd^8mD-bd%oe1sIxI)f=5`PX62yRS(O
ze?Cra7y5wjuc-#1X#LBtpOvtbF3{V)bitLu#tl);w=5wOtxs0TDCPqdIriS>Buybf
zM>*+G*z$#E3y!gKYo^iqG!-43>-VR=A5P3SYaUTLmX4+*?dm}~9#W#}Z&pwB=sh1;
zhZmu~)sZ9k%nHlh+Ef}89M<IhIK@M;F`|U9HnC{tZc&L{yn?0zQZi?<hHQvz)hwsC
zD+|xR(4VeeDZ29zKY0JtU(Zc`h&ECjK20wDx-<n0QsW^EC~=_4*$NAC#}=KC`mcY)
zCqu=gGXhd+!i4-PKQ#M-s#<36jp<{YWbnG{Z`_6NYc?%V00sS2@w_i(EBkWbe!JUn
zB{E!5pK;Uo!9=D%22pM`Hy8(D;qjEhX0Xz9aaatYnM^UmorTC}Q5Q4x8<)a?JrbgG
zi6+}sNIj?B!^Cqu@0YPG{cg`55fG2Dw}y}TY!Mzc0Lp5?!Lbl?VcOIZf*Y5+XuFzY
zH^Nfs&AZ{g(_Slx)(MsOvIhNWft13F+~l91Qy&j+s1J9l)8SUDTzpJq?ICnW-uE^*
z6=|0<FQ)DKtxdZ=_lFC=`*!+6>L^vY5WBfTP{>*lp%}LRI|@W1kt4Om!BP$4%CNne
z7Y192)*FiG-#>mOCUq5#u@0X%_jz-_{;<9|<iXcXGy$&K?ZFS!d`xSAz+g!lhzE2#
zc8g2{%m=y1xQ6_B1L`c5U6f-t>Qd4?R7%#PDIJ|=ki8EN)5ojQ%suan^y8}enY%qL
zEV-OZkFx5T-K~F#=E>FLXUp?Tix^j<tk9Lv#e)<#W_ARP&XQvmYx2i>oKpb70RV2Q
z#<4Hv%H};NX)S=U76w_4hIYha^~w&%m&Hftc`?;;>~;7_2fI49JO!nu=+OucPHM#>
zXAXW7_lULLWExMobit<mzeQV!Qxs@f&mG?ImETOIp>Yxqz1}NA)5JZZxvU$5cKoF|
z`WtcHRhuktao>}Dxlt<=!_cR);%&RW8duYgQ-9o^{v{wLeP%;@tINW5iq&Sfkf<R9
z1(RuEV*s!)RpEiUWWv$F64{hX1a10xuh%8bIxOPTZpl+0H*E<o5c5-6>9`52_7-Fj
zwRFx7vs#&ko};mgm4b;aEu{~u{VmNr4Djy{TzkI1`gn>D_2a>MKKL_s8e{h^_RG8Z
z>XFV7g!qBv42(=R^rMt$$GA^NuX8hvXp42ShYwJl3Jx>lJ+jxByNC6ZNlV+<4EEej
z;FGDa1%eyEhz3ePLlUznMpVslRyC(J$D&{A8-A5#(qx;s`DyhPk9L5EuO2_!_HVXq
z@nM(Wo|YbL%K|dMd!piSEp1#lp~VzTkcQnDN9oRzvenct294Y;7ZTF=YJc1qVxgFC
zQnt&;cUMzy&}FkO16TG3>V+-?^Og;H^&_WXE2~O=j9OVe1-K>H+Eb_{jd5^Drw7ER
zwyf6=t7p6!RhlU{2Y{g@?B*dGl|GuO69St=ln5i|*TbBs8RPh=C4IOG|Kdx3ZpDt@
zF8in77m6V=OFC67d>)t~CV*E<1X<gay<mT}sL||RdD`|D($1Xte3*P}X9y}a{n!zw
zDUTb!vraCs!>>-i{**E|j}l#>k^FGweZQw-&ac}Q4onRF>#<x2Z6s56X%F5O{}#qR
zCak57(Ux|@@ndP$m&e@5`~4=EO-ux+kr+kH3@_|GE5*<p3Sb^HN_X?O^lmBTt3QuV
z0Zp4?98V5kUdA#c9c2QwE9$?D&3|dSXc$pcgK*JsJ4vCy&AY9lYr>r+WZrkXiDJ~;
zZtm1gBm2V&8WmJ8^-Fd;;rK_b$Cu4RWQew9usnCw$9-rZX!`J|8D-*-*knM7wy)`9
zS0wbKq6_fS3S?M~Vt4O*ybnzk^UJckV=AF{R%RD*SM~u78ATN%t>zFAi#r1{_>@o=
zZT7{s`~TI0<e$f(@fT%~O}w^!>YqTr9~nsU0H+F=Ot45d+2hP*H;ZqD_~p<q2JAM4
zH-)VSKVCwJnA6A^<wd~~YyJG5dL7?Gy@>&2`<2wL&xr&@l7&sZDq7{WZC@X0h%$dR
zT8)RBUfde3()0)=%8=u5t#j{-*p>sbq72qY+XX=wNMLGaAQ?d-2LP~119=dkM0%V#
zojo1qtIy~TRk}QOij3imAB&>DJTKJnLhp7p!Qj{5cRjh7ry^!0PG`WY%Ai_A=TFjP
z#HBe#&%L)0^qNW>@xls^xYRERGY=omnwBi44-JI(t{>xC;}mi%S0hMeSl6@e_VqLD
zA##sVqNDWY_t^E)?Dk!b4Xtyu%jDi^y5oo_Jq95}1jGTHQI!g)?Vw;Xs4$bbl{f&&
zHLuB9FN?GNScl6~(ucm^(y2`xw0?iUeC)MC;VbWsNHMz$qcA0I-98`PSd%+dGqp0*
zgjlTfk#_#tuAdF@<Kc3WFk!Y5JVd*n-js{;z()x}mv@%RI<|+%&UZ)NcRuDS%Ht~l
zLc#|GEU_MJ8si^sox_mt;=0B$Q%g8gI;xjlDxs<~?LCd#z((*jQAE^kf|{T*6A&l3
zfiOY6$i@bb+#L9Jk#iv2`DHIly6W*UZF8kpL$dd`3qC@zsL~@03`b)#hsfQ$nWfwX
z%?G~mwD=|r**TIq@o(d(T{ra0IZ|6+D9-dL50iICCUa^QUql)|Z%VyyhIk&w!|I|a
zxV5rwW7-z>k?87dPv2g8qybmC``D9v?{yYpe=5Nvq7>!@*jut=B(}5*0_M3gwGpID
z5)}o7>TIp$z5-l?J6rK<ACKCXbz0r5-wjvs7)RBy`fc{MAaw7)f6iL^7@F9V8Q2I;
zb7v8=$)H=RY>CQcfoa^cfJwPcR>t{ue`?mljlStM-(A<~kXatvv`k<_)9S9=l}|k~
z&q+BGe63lZr<w^L<An0nJ!H+(aLIFOyJaW4Xgwy2Ves41v8e3T&8k_%x)0dsFb=^<
zDZ&ABXBx0zRrvp(AUx=kBTEhhKeHF04w?!#vlrlAmI#0DS#uH#5s~QGlh^>NXOCKL
zQ>(KM`Uv_s(n@pJl1=ST7wxhNsHRTCLPliv=pt6SKacD=HNwrFC#Zvnc&7i~Q9+qt
zb_@v+L%5WXpcGQ*^WAr8Sy<MVD7egWMaokCIu{zRM~^2p2@b%*#*~6FoPduyS!$pv
z3=An&WpQvA54v9Q`G$NQIP`G2zq?FTD>P%(NlJGr_KN4@w|LXleHFZ!H>D*0$TE-U
zo;Ws<m)Xe<5AJ9y`au24ecZIcyE*p*fDCe#PT6h3JFU}Q!UlseyHa6=z+mKr!opk>
z*-@i;sbFwJ=NZDKe{I9C#M|C8*|qd_ycE5GZhKmLDsOSzBP|!WmW2gD)p)-e${{C;
zov{vB_O>)E4%#>RsNE>>$U)oN{NZ-dcLRU@9W-Ivhu8v)p*eL`ybH}wWID!(FjI|V
z`s(HOI-K8^nd9QC@mo%?$}T*nX1s>%6$6duGdY(l0`S4nM<~+MP!}Tv^Ate6SZR#W
z4FFNCq5?3fU=S_>MT@hFz@?%N-&wO&*fbMSa7gD0oR2C?7O?Whb8?0gPwYl!a5H;!
zJ4{B|fu$>B?{RV))G<gIZ;_>CDi3vUbMs;TyZa~rPbv;!tFts}FTcS>-pmeiu|fO5
z8CVK#kG*8_$vD9DDCaq977M4%JiYD43@4ch-&vjo=5f>oi+6l<fm@)+V~QMvkvc#}
z&xjNNxhND@R8@yUKmdD_MS$CWp5*@#7X11#Z^!Eko?-QRQ`L7c&!`K}de)_Tc>S&K
zJX4YG=E&~qcSc%+N51Q6CT0&ic!*+LOl|#u=}yIldCoa8H-Wicr|3njN=5%KAWg3}
z6T*^pQy_v=3H9#wE;V;A4)M}lS6u7!SCkoc20@OsbmDN+{bjM})6(`)pr*oCnXMfu
zQ5(!XXhA?n1aNjBcN0bihU7wSq5v?;cTK$;&o{>2cVF+q8lHA9%zRbOI>9MCv^Nwv
zZ(&Xmc;S%~ILtVv^FqDxt}lJVegMBIG0#HbozmJ+27uC_9!QUa7Dk78bTvLDC?#+q
zF|PIVSW>6gp?yAX!5JQoMuEVJ0@&>-ZJ$Hu3k!E6|D0q~LL(SKmktPlpWG(~+hd`U
z&gkPwK}rek23nL%#LWPVjRC*_3mUQUOalL+6Ge)db6S52rT-OoXtZA$t=*=Bz%pki
z3*qhZgNdK$*#%*h1kyzvWj?lNTjXTRa2P#lo~9O0Sct`+0nM66;*qH>3t~zY&}WTX
z3QJygb`*A7a~5i0WV>9O@C_^|O5bwc#;xgREeCNrJA;fp;cLii{rogOaDm!X25rK~
z554V<(4Gz{Sf%F>#7&ve9oV}JJOi5oy89zW(t-#eU)qH;d^4u0C+NWaI&}k>aoljj
z$G49IjYFE~d5~F=<A@O8&Cu#BrF3Jg*<)2qwLs7n?p#AzcCWlU>bCf&`y-IuETiKV
zCOh}5)&$lN$stYht3SR!4IgrXOttgV&5FDD^m-AgnE=l>g*vZ#_0eGgxc!H@vEc12
z90RLhF<{9%yuZ|#g-?C44vGIVG|nOb<_OkjLJ*i33=l>A1i*p{X$EcCHXX;jij9u2
zwEw)|uGNR3!%3Ruoh%1!vc`mVw_msJD)r`C46xI7Iv6x4+ev9q$*zs0OBt5&E_Tir
z{ELzl4WT5PdAwsSP^2u!v!?knj(_#{?>Cr$EvKpMPwfh19lt_eUXQN|iv)XF$D#M#
zGDn^u6udi}qc!WTvjX%wrgUcCX)TUjliMHntCGW_U<u7d9TiwR0|x*AfMjY1H5J}t
z15>K^(W;Q0kTBs5c%fz6V{G-s`(@eR2Q=uwZ{I*E2N3XDXo2k=uVx@FIE;yHByORE
zQSlvyP8^L3L7NLf)3Y0Qt9O%A@HNbB6RI4_<@DOW=^xKz>A~-)a~K@`X->jz0S8`i
zhQmg`6nisEjTQIZsIC*JMAo_uflub>3xGT2cA|0crvL&zXar!;VrU8u#zLSOfpH9!
z?9A&wlHU^#I2n150%!UCq12CX{lv!O+~j7!6zSi52;C!{7P63T^(3A1v%}Djor7@U
zjo*r9>{OITA?9`o(Gd#-SZ8MKx>JkmXEO*UfIQ*EZ_1{G3y^jCmD6-7mCtgwZ*hX3
ze&Y5#q^mDuyt_W~)htW@I0RtEPBwi7wvRK<!oW8)?vbVzxSypo!L5jZB9sm|K?efB
z0L6t0VFO-N|DC?*0C+`xyU&Zy_54fqIu6#o`p@m%`qS<76lG7&moIOtm+=4+VOC@=
z3CH&%sO19Ld3=nfdhn%}0PLD=q%^Q4fGZfEW<YhS#hFGiS=@QqR>ix=72N<xI6S1x
zIVxGuRa3|ARaUyad{MAj-Yh!}1=hclv-8X0u*TejPT;u5G)o;Pndoem;qDelgFvf>
z<i;669fAe~Q$PfTjKyI}3}i+OcdlH2DbdG`=kIG=(g*9C%}AXRy3b=Df}BY&mwax6
zQpz<f&5=95(XG{|A`uMYDZUzsCJS@WWmeZ>QXoXGwhTxBWsRD~G$Ng8{owMp#;?6O
z41C(^?hM!c0K4TewBo<AfM=|I!uk^E0W0i6+jS*>eljb=1me8nV;(h~=dQ28MWA$3
zE-4si5H={}jk|$EBhJWJagS75NL;o*(q(nVtBg-~@46Z35V}swwtGyZFFuC_nEfBS
zg`WQO%cuYN!>2psM<X-{#a~Gc^gLs(E$y)JgxuPswiVO#N|GZIWT)UfrlqpQX>3Z^
zN7J+hDAKG(ec6@i(E~j8FiHb|0Bn9Dt5Yo6R!-l~%D%K0tmw^>W2sF?Y|nq%=`MFz
z&A|J65>`NHQ5m%DR-qOV0FX9gF%&mOhC;dpDnN=jLMVp^af4|m7VT!ZejzBIr|x`>
zn~K9v-xF~@)*t@)zyH(m_=8*DM@>)^%p6BqDSGNsJc13U3~3Uz+cDTq&2+tyv?u^1
zpKxT_5YWa$V*miR<*iLO)=l$Bp)WOc2;JZJ-28rT-`E>Zwx7_h4Q#S?KCeQBcSmds
zscR%z2RTGm^}s!Fv+<g{D;=S!Pc7$b5OPyRC=MdY5CDe4Y=-EHWKIk2yE(R9BW1jb
zmhXEmYkfh~lxT0xuhQkykDvbGm#Wit>aaWCtWFi7E$_vcbycJ(hpdxJb8Z8ZUPd65
z@u~nzcW-XC-7n+|0Tz5LP#EVCA6fKc`oIZZV?!##`F1`Q72ST6dN`x_^&IEQcbnCz
zBp5A$uFvpOKVDm1p3@1+BIUS<F<g1HtWbb*FoDoD<I`+m0&qcgSll?%NM_71v8n^Q
z8b5o~yYKy{1am3PHQvR$CXdMp32puPYySA@^hqh$Ojt7Do38n_HNWrMAB$v0w+82V
z>1GCe6)0G_b;&cr_fuT8MG}le$L3tjIk_-eXQ2gTpv4_Ee9Wc5i)q^&zwM}I#ya-v
zdd1}dYz(z?x`CGWhcnLDSx@PVn9%x$!ALt}10CrA;@v5+AdR<$62+U4im^KwGxCTf
zl_+M)9Ki}%tdlppfqxj+7N9*~DZQSj?VF$UI^O-$|M0gz4%WtX1cg~_`L4vC$rt-n
zr#Vz3n-5h=%C8XviZJ;??k0#nMqf{1o5v2y${D_cA*V^(i<Va)6acP=^A6_k!mCbR
zm2MA@F|S<Uww{+1dP-CeO6(3Qe1GqDJJ5SIz)Od(M_x7U!EOtI00hCVz{I9QCpg*?
zXdD7mL=<K9q(}fhS7ZP)zyzFyYUzIUyysZ4hr11LNnh(PclDot`ln-Vdn==lUUh*R
z=mGmfnj4FOO;_yTQ}-i}4qi??!|_z?{p_|O>>J?5&eEO;5MUmmU=V72bGr4bg3T)x
zFfiH2bXOd|mfszEpMOjzulye|PnMd(i$MuS=q=6LFy4&EE}F46kTgRWlT9A0N!8O#
zxb=n8MOm9lg&<gDRb${Xf*2Tyxrwo3qZ6>YY$Ow62hMp0Km9U(dd$PR3;=05Ft-I?
zw2`uhyWPtjjp1MVnc!EqJO=TGmORN(umMik&HOP<XUaNagpkO`8}9}{xRq<!8b4``
z**4Dt<+Bc*wYbzVzxg>#?<(@-H~Z027~0<@5zUtWbqdMDR9B*DMW~SH($X~Py@Q{v
zoZD6u*p(CFBd(lF0RXUbMF{`^=my4M4jPdVSsj^!wS~Fp%{+H9jOEA6@0$PVcR%ED
zbcDPC3|;-vW)Y>u6X?u0#frk87`M|dlP6t;X)g?dm0V6OQ@9k^pJ1!y$3N5woYjuV
zRwwV|OvQVx4j=-cG9Bl+XptFue)Us0T*@6r?=r+c`(OTa@I3Bua|LrEE4)NY*4(_!
zZYXRN%b||#VC6k6U|gt(=PgT(TphsEVGM47jWVEcr;^k%IDi)bmEu<1(@}o;KaZCm
zKmWt}%*@vJgl4wSco$6sJT>z;wVO9L+64XfFP8#CxYNQ4g0SYcg67cQ0W7O#Lx&1I
z$lPs#9FZZhIoiBjO2k>8Nz#0|Z%Xvr9t(H9^~G|re7*nN!Zn)x4A%X8H!k0o26~w0
za`ADszw-&o=V#mNY=EliQ5rY<`salaam?ghog~8r55Uq+0|$185)EC=!2kqU48_6N
z9NkfVe*EXZ9r#G)MZ7*+D+4S9{5juVZ4g=+)7ivzfn8zP+0u<3E>H~?|IWMY6Nmi`
z82)v6^i%a`N9C~VfT4`l5;`(d-`Hmh(zIqs%+GC<T6%cAOknJQw|o|QId=rqK@Gd(
zv>q*n-q+6_Z{3-pUVGFQS`-i~LzHNTz6^{N%ohRP&?nfy{BU!sleH2Mrv?~}oe>=Y
z*o>%D0COP$KX+(1x5IK#_r7}Z$^lYAP=A>uUu-^i*natUjh|XY8%x#D24?RX_}Dr`
zJ~!&Ba`G0~@N!<`{rVnk6yegG9bL`L$}KoVO`!3)CZ_BFiC1a>zX9ehu5U0+_r3&3
z7Tx*?$ID0Hgc!ou9|Gej&d29&PQ)t9Oz5yWss?X?=6j&Aqoe3nJtCiL7?}&J1E3kO
zk_iKttqKW_HllPO&K~HHOh@iZ2gl}Q+##(r%$&O^UB112H*Yu3W7m#vMQ&%PMdtg$
z=4w?lo||IL0)M7Ev=;h(DiOdA9TpkgSWv+?-sE)OPnxv}HQ#Y;E@$5C+GhMahI_B5
z`P@(!kG#P2_D|W?k=q=2KHWJj^XD9S^dgO^=B_%xQS4H0-vQ}ZFt>K!!=xzyEL@$=
zfz?q3$QVGN0B2_qt`5eGQ1Pt-jG(Yc#R5Zp415BFkw@Ep28^1<+uP@@-`D-QjH}Wt
zxs-k!HwQ}HRBj(|3wwk^A-=}YZl-iHl~jE*-j!Wx&@Fh&t2&mp&?k|NItcdt36|Y+
z9kYK*rAt)<Up3r5UiX?fz~Kj-K)M7~4|{lVT4H}Sp*u&|jJ{z_`Sy;^-Xauao;%4b
zXm1}xwN*pmfWm+d$bg_mpaNh3A_ywng||O3EiN)cacse*fb3W;Sy)RExr&At&G7J>
zHv~HyNuPiYpGq=txnltJ)cZU)`h_Nbob2Mt16OmXx!Y<@nGGt=UgL_B3uxO#I(Lmy
zu)8YIJbl}>e`f%V37tkzikIW|p0-0rFisSD@PmH0FWVI@Q-74e0-u6thbZ*so*j5`
zGVI)%2B#{Dj)-k=MG_P&%I?Sp6+HrxDIowvjZ<#fJfN<w{S-Ko0-LMxqBmp`e)XGw
zCg&g4S&es!UfU5==sTsL03h~(S0>h&6rKwK00*Tn$YO}4FyLi1KkL3UdW5~nW5D4u
zj+BW|IEAh2Rn`w1NGk4#ruc73{vhk0>S@^J34E#`d3P#UG41iS8B_sn{;u<BmOl!x
z7xaOVBIeg22c334P9cDzsym1wlL;E27M&D~)ogdZuq)V=9<7%<XRC!4-v&#hNO<Y7
z9e?wX*z?&VM>4LXKXa9UXDE=49?}Avl3IABVUf_QEkn*tXSyw{tc8rxxzLEnqo!r7
z*1-)r0FL9cE)4evaMBR-7N=m%=@q71!+#Fxa7X4%)UHTEMovY>fyH0Ycsu=eIR9EN
zo}d7MR^$2P9b4E2KvNG55I}^{4X7YGLj|wm!UpJlMkHBm7XkKT^21z=qQ<Er<XiXq
zn-!IP-cF2P4&CSJbie2D;uTQA2Qk<O-%xGmtI{})OLL{R4BhwjO{XUn$HseMLIfzq
zpr1R#CK3A^?B>(0_1ZC{Nl1pc_f_6@5%<Kwm(i}|^bcoz5nFq<={hfqf2Igy8S`HN
z*mC=+;GR)zKYC>VSU^javHW^IZ`qMCKtL^u48Z0<s8E=Tu~@P;96&``I4>-vJ)th{
zrd<_~3PV|LX<N@exef4Lg_oDDUydi391z#KMbqQ1%n!PF?f{yVP;N>d+u3eqcASvL
zdx6@yc-t9;8bJR3dwv@3)b<D?W48vT3E{YC+)luB9`Y5gr1<hi>(BTa-EwUqG_i(p
z@T9kRYRjv~N#9+bX;RDyq_7(?gl=l*du%mMicNrOkVrAIvY;t2XWRkKSRlvIaW?Z%
z2qBx__|`*$u{f8A2kh4URCJ*5b;Tz%OXd3&?C076!%YyHNCt|6)}`sy&2rgHY1#3x
z<fwHq2K<;(hG3TKI11LK#?am!9lIG|aAxR=zz9aRh8YW3(;&j(UYBlO-mm`R?~5^#
z#b=4fTN7tDjvGrIQJIS|L@ojhhRL#UZoj~?2Lo+W2?oN3PHtS>8IhsF#D+|;dTSjT
ztE!I<q-oqh3nc)v>k;1kmJ8JMYU6OjB?8qL9H^%<<{{5>4h}4!##PKGWg8j6pwGOA
zKuNu>z}>)veZjFLHE>4mI*sj!g>gBR@l_;--LjeoP`FPqy?prVm)oCxSzVT|=oz*t
z4;4tf@9qoy;;5^SZ}esY&f9_I*0O_7KIb_?Q(DDkX1Id@Z0IDYY-B19d08m|AQ-fY
zg*xlH8W^pY&={Q4IM=cm_kUw2$LTh9zEE5vk@_di<LXm)Pr#r8m66Tf*6#h0#c1q#
zcOocx3!i|~h#l@qqr$B+9+369#>yk|Iw3tVIK#YF9IMEg0YbpmhsB4xzIuOt`L%Y>
z^z($T7Ka1h@zl+<9NrbEI2`V~S4HM=icF}0U=7RG%;xr3n4*Nkw?Tl7tr$21dLc!s
zh}cwzjh)<+AS~j6bTEL+BHTk~8eaZpeAp|`WkjVVPf&|7gvc}xBCT|xH7s_I{QE8&
z!E`V*JpyD{Z{AO2f&jA*CJM#|r){c3Xi5;a{3C!er;nDTo8tg;_XMvPn<@NeXvLbR
z{W02XFB;c@R<osCsD`BXd;KZGvvp*X0(Up;@zZ!<M?f%XflU&Pteo@LV5SV{B!EWf
zfk7ES5ehb#D%APyalEBVxV1D&qItw{tn{nx%zyP%Lafo^{9(Hg&fz)kG|C%eH+bCN
zw|SeS1vfZF+!j_Ts{|<NbbNPDCD0LNpL=j9AT>_{;v>iv7PK)<bV_JyoBrE!1$vyw
ze^D!mrH5rKe(e`}Tku~`E-(Ug_kR)R_%&b9ueUXO^MWR<Ieh5LZw-JUaE2<IlRY58
zr<5!>h?*fNniN(5mJEQ!{6-wPOn8)bSoSlA*&TH|4jljOo7!VMzDnSCCLFi6>lVi9
zS0C*(Zmmq|j>~Rpz#=ktGr=Hybs|oD-s{s==Id0$>E(U|GjIoC-RBL@6O58X0RJcv
zEVeMZKi^R*3;%f^eolAiM*sD919z)8Jhda<73pHK`+!q~lik)8*RgNRsph~<H3b1I
z;x?~1H_WO*q{$E%fsp~h*%`^jv}1Kn;V|y!sYAe4m7e^LRuMybdPDy0uHsc;CFP>A
zsX20)>vh>Op8+lT{fa6s4J_edyHuTMb}Kx-d+KUA`e)DZ>Pew+Z(g#BBoc5-^h|nV
z^nA$J=u_Ro{Oa%%V9l`U%9%$PYeOI7|N5E3?Ex;+<sABLX@1PgKJfcR-T-wYRLw5{
z5GJt(80B!Exq-1d7UNT!Uz0rsFbmjPA$27)G)J5n9RSR3{y`!}?X*BdYXZ276`g17
z;23%GvcJ#$CdmovlbC_dXE)gavsCLQD#*L8)JzS^N&xY9NqFw?%=GMyjj;k9uE_If
zB?A}3U&QB7M_7ZFb-LPY;V&O*--K;tk<_HSxwK)qf&guvceUY{Svt4H$IUiZ3Saw%
zO_I+8WH)UVGVu}|6?g(B@h+omJh%x3pNLHu0+Tu{Gg_T;$NqB5{Ri))f*Hmn9&i|V
z4r%#~G=~6&!(BtLou+pf5A#MumZWrtKE`TYX%5bOG)T13a`q!6h~+YY15e%-gUxG%
zI*usFU}Tv`6t{t(6E^H<S!%=qhhou3%Uc@@A7Hhr&y5Xj{uwk}%cs8qoqxHX%dRAx
z=k93{A451m+AV)QWBXLred*gQOvtWt0DE^H_6GsRfQ$rYNN9rK8}QK42)HjdUnzd7
z)2gwnPo*SIIwpDZ?<ug)*Oo&o2SsS61|DBr6}rG1<&gk5@Z6nB&FC=3M;W$b2dewa
z0$Pk&2|H(%^1QG+AS8CVxFtk@KYBU0=y|Y+*8Zp8@&`12IosSWi#-2tvi<T!|94Zm
zw1{W(#g~JBT@HXYZras)HUTH?{!p46>nY7o#?65XBLS8h)$T*j4;7G>0IC_7+hPDz
zs50{$KswcV5`;0WEfzHb;~0I}$Yqh~-Xl!cGFd&nHqV1QKJ(mw#hUYOTy{B43eQFz
zM(sB2jGParPEwRqs+1xx8#{H|%5DJQ6N0h2B9E=kkQr9ea%)`+&2Pc|%B4Nmw)~r)
z>OLLi`iQ?Wvc3uWem*%2Rx=;&9!ezCHzx;gRPQZ~bg;{K>KqKkyk_Z3x&SNIg253Y
z0GNR=cqvfG8W;g2O7{0s@QrUhm3GMHH(eVbUvF#w(=#0kg=s(0y|}!d_D3JD#b0)Q
zB7L+nq<&2@x*B}#7b0kj(*W_JV~=Ca%@Jh?ZO&%S2J8SGVk6zUi>*2mooA!y^##r_
z%4S)$;Jk_TxTM3er+(T3VN>weva-wHjbtv~HD4O|XTsKKb$i=RyD`5r#0gamfUCMX
zmU0Q>VidrE2qtjw(Sj2~7L&t*&0zceeFU6~uBx3IDzUF><iqDTuqUy39yYnbcE7R4
z70;Y^wnYYXG?Maa5%3n4NCT9iaFr6_BIUhXijBswLwaUO3;-<vL{b9*JXPkP#LedP
z?PI#XW?jBzr_5=(Ov5DdW`vUO_|)+TlK*WJHP!!=<|%=Zh8DSf=wSQ7hI`?8gv5b6
zcJ-+=46mPP_dM-EC?MciU~j+*zyL~Ek^k&FI2-y;TOG|_KY`C4<W1+8)A?<gE(2z*
z-Q+x+k*6{Jo*oWqk&^Nw<PiP+#Ci{Ed=A^YFS1)?mI6YC#lU#Q9$P3~_T&Wt*bq1u
zBr`oXqE-qZdV6k$8RppfJcHjK`ApsWAzy}k;QD%coETr_dwy&`(k0MX)BNYJ=anoc
z%B#=(P5ADKW49j|Do$bmOF*>0LSj?8-_n`32tEfDhM1MX5jsT!aJ1DGt4GUfQyuuH
zy&`k}?H10f?vW=FD|Hv2d4JQgC|>-YmgcNA7>4&=Qe#;lm6nHRU_*_kJ@CZ$gPLip
zX7g|ZqYl7yG-qA_oS`Yj_kmnW0hdv62$z3}-_9K?oV(hAAR}3%;i-BKr*;~2m+`wN
z!h&D_Znc~AFfp<+R-uJ(>HH4iemAd@Hqb$7U{;v3!Z=iqfkB}mWbo)pz+D0EoX;WQ
z+pxQDf#uDSO8oQwTA1sw%pB6Qv8qH+>~%ll9;7xi-VCkCG0}-TBe3RpeBV?E%s;{m
zMe7=pr-T8#v6G?z4*?iG6B<m}T9sUj+f_<!`)Tg<maO(Pfz$HBdA=M0hUTt&SB94m
zEWN+|c;0^5aY>v$-@Sxl!%fbmeg7|{A;|Xr8Y!n-09h;n1mv@%w4XW@#9$-viHiwp
zn1pd`rQB}ECgV4!CiimN<zILd*%p|_Ep?6!=cc_6m*yTsogbKn7!y>6Zum4DCTsqa
z?M5^~8M#|SCoRiJIUc|m^XAesCNhS%BW7`8uFgO_Op+F|2rJwB*ia{PX)ZpEqZhi?
z$Iwl0wREW6y!S0|bj#d|+qY}=)#h>TqQ8A0ZcqPV3t4bD2zS8^<2Sbka9kQQU|Im$
z$kTWYm;^xFyfC+;8BZYBbCOi^ELyWQj^)38pBUmC&jG?A+q|q~i-mnw!;9hRn;QDX
z8eSc)Sw+@(O4}sR%2H7M<dy{vc<Lk)ewM0WRB<dIuV`Z?3xEL#(OnzZJ3uN+2KaHG
zmZkSq18olDW=1`$8r}Y#tilYq2E&D*9&JM~&hy{n^;D=Et)<b7=kmeJFOIDdJULP%
zgx1SATdvC9g#g8@%LL${291N4E|+NRp`Q-W<bv;Scq;y=?>o<Bo561Db!#hqb#B0B
zW`3XNaq9e(6MPGHWikmijdTi4KG(|{0XXu^qZKDBOIOO0j6Xuf(K$PyfgvCQFN}Ki
zN%p|`=G+b)v`yEY<J59j-_&or0-Ic%3v(yVb$METJBKv6ci()Fy`~<D?gY9|{lN@x
zfOGizv<5G8UEEB$pcgj|790TG4G;hr7C<~$*k;$93J2;yVmT<;5EZLkH3Mw&L9(qy
zp~MvXB~S68RdVC`6nA-Y_dSH_hyIr$^|pwFR7mXrHlM|?IqqNxw5ORTnH5R{j9q0N
z;WQ)X5QV{nTmF=q;dy3E@E4+aac}I9{rgKS7Wx0)FAcZ<pX;gHJ_&`T{BuT`Be%~V
z`xy_P#y2a<ezoR&iGZx7VSy{QzNA2WnFBDnF#~|25jsS|Zfb<iQ0GDOKK625fd07a
ze>gLzA%&(zgJ@7FWJl)+ZCvINS_%01B5j@yKNe4Nbg}iuSJAxS;N2aHw7F{`d~5)1
z*aQ%R6;qj|LI9&48qENtK8VxE?eogG4Ed_7VC`1ETu;sOE9m|~6Aw5xFYMehulTkN
z&;Z}rgFxa|e((lLcim#<xS<za{_TJXGAKiK=qw+>V-Q6&FmPcPtdd`wpV~27r@?XA
z+}J=*TU0qxzvY!4@(5<;ddirVri_XV)+X$v*SbEPo3IK1<bTwXgQG*EAnfvN1;&bO
z6$tRQ5;z29@aQEtj%?5svM@`NshEdC`G0Xis>@5yF_Sd+!)uUJvg^5TT?yCW@!-FD
zksklUE8%sia`}Z}?oTD9Zqi=u!n?`z>AGbTMZydq-GbM#>2i<&;7$d>DgYSS<_y%>
zBIx4cUA%i2#ss;$u0}lKC5F$8s3PM#2cT}*m8)4dd^XL~=<>!fUYl~D=U2MfU!?Ge
zOQjir9i57@=-Hyw(N^5%TEuH{C_T?elN($kO=_N!+Jc`CkGJLB#X#q~@(hbD+dzMR
zdwusD^*Pxio|}6s^7@=N8I#4iE_CiNzcG$;KMFq6<m(Ip0IVct%X15mN+Gm>QarMC
zQV<o2>>=PbaD|eZFW>IhvAi|SBc&9t{VWB$04HV)jfh?D_f}rRyJ`1yFd6qtQExw?
z*U{Bpe)Hkbs&%CiGoI8^S5R$!60SQ~VTHcgD<DYc%@M@a92gzl3x!cj!Zen1&AaDF
z>0LAI8>92qZ<f{Icf0XlpQL%br}cb|_PX@jDW&rB7<_x3N5B!_{d3h*+Trg1-TXOt
zVE_|=iDBbuX*JA%sLmM>7y)C&SrF23ru)_3h(MneDgO3;YVLX`{MxMA;n!HK`O>;d
z9k6{$W-HYFp(=Eja!wiz79TxJIf8<#sAqQ{M|MKOwZU{>8Ssba(|)01)`6ob^CXyP
z*z9FlhqRyJ3#3c%7vJGwL7+dNY}%)Bd)-ab&5_P+n3AK11#tCUypL+mV@c?-PS?Ks
z5ie8QOQCojM+P=Pvo>gJ4~McV91t2rBzFcQ6u{SoOFg|a(q8{HFY69?so>3#kFioe
z<@rzsM}>)E074ux%%?{4aI?@D$56U622CB{EoI-A7Ke(&g<EqDucyCSoJZPc%h=G^
z6sKk^31naDb{H1x+64e(83Jo;!q}Ipr)I(q*Q>jWM3^cZ>P!0euIca{mYq!R?~Crd
zXpukt5BXmLb7wGc-l=gOBT8W=0)-BI21pIe=XnUMg+UQal?+hoeVSvW^774Z<xe<q
z)xy^_@hZgG$}(n$qlvV^QEQ`{uUS4wOB?~IQX#kiH$XB5<vF)<Pg$4$ZK;trB39(1
zOmlBY_dC1>kf1=Y02=t2OGrGEO@kT?#oAtFg=xMPuX0bPzbs0)?wT)u;Pq7FrNdn=
z+L^ci7eKyIk-f#{*a`*4Pkh6F-1RdgrFxKqs31|ZK>9EdvPlfiUYr#Hp*ZgSMm^s_
zxBNCp6MMKmC}Rv7o0M;UDRVizTLJs5=yioGgYfj%_ocxEBdr2nQ6#f>0JWW=`*xuP
zdHa!HxQ`<Vn(vFxfhP>WjhrZYK@tbRs-l8sLD_b=o1@M2X|3WTt1WK}+~0f$-%fM>
zO9;#U!;dxE-yV>sQv#Vamct_|7Mg8mQ!alKhiGNM>vJLYujL*y*%TZy!r)<xZ75(f
z6b4|RurGNKUsyKZUyrJrbCQ7MIPloaaCj3B=JyoceeQbm5)__cHzix4_JEg>&wFdr
zeVhyLM!YrsCYf}bM>1tIWN75rL8op_mTzrj12HWQ=ySkJhe?EqX(`Bc09fSpN4s&^
zXq{4fr$sd{6_6mjPvOehNLhy_jgXbie0xv7JD&-^%lGKpIJG+X#}{|D5KsX&7m{{!
z*M!Ry)KU^)j)e9Cnzqon>9E23w`Y8`6k3~xs<(13eA0GIN1B@FC3TIhy!jcX2I6#K
zL3035(OmPK>L0FOmd)V^mlwIE;)@Z-Z7<+wwgRgyq>{>KU}J-h0gM2E?V)(PICpsQ
z6T)&^+KlOGeinUwN?Jq`SAO^Kwc=y4rG{^3b`V2=Fm0jdh$H&Hp8lE@^J^cmcBkL$
z8N81oEN)Q6up;$V1BDI@6inSHydKZsmTq5?i~<PevmMEL2zRq2xNrgKcpd71%W@qj
z?BAyo5Bn)z)rU8Jdw5k8Y-*tKW^l+5XGpnI_7<(5M%$((U2YytI@bmR!Q`N3KqgT+
zUg_ByTLvy^=d1LgP18h4QikKr_TJu}^Ko+kTma+e4X|tLW29Aon08x#j*S~0VEKx%
zGth)CTli4MZZHEc%AI4e(efqAR4o|GB7m%59rbhH2ETcoVcwq_0xpoo)~NO92z~@Q
zr^#peZGiFVujpijc)HGexc6Ruv0RS8;vGIoPaT}rGZKBI6WrpYmXmU*0yYa|^NAv?
znAsItjp&+;o5>WqOJSMMQl%*)>DZ||^=f}Dzq{;7KHZO9YEtp3J}Dc1TCP0sSeM4q
z(r`0%{(t=$0ODy|#?!uFr(Hq#t$Ua=d&{gZ9!-)2x1j=iK?|OtyL*;@Kb$?wq&NkS
zzl7-FKH(N23G&e_Eq(d1F-=dxHV2`F<s!VKW$YT)7})UYXEXL2!Km094p6*>3Z}~p
zJ(_q9H0c$LAx8#upAbebOq`3vaW_G=e3-F~aGXm=;?r>p{*dO|U(#4}em7q8emR5e
z*XQvz8rInU@%1D}Zq7+Ay_a-91NwV4fZBE+5oSyi0E4q*{bB(jvMK_@8;7yPzAb89
zzJ2ToJ27b_JD-0k1`rRYzS8~HX8KURcUIw~GKcI*%h%s;<@g6`)x+RjGovk?@Os$P
z<FCaF%e1wQQLn{Y2iCr0|5govAWt#^ae)GB+z^#ZFs|70DfR|k`%*sUW13e(7hZch
zuOvNNyqEoEzV&Zs{jxop^j(>Wmu>_stbxY}6YQrB?~VzI>P4&|I3Z*Q!>cF;MnV8!
zU9E$M?m){muAOtwlMz7=>)Q;Lpu&7wU*fyt`g!Ou>>Hfby1(y++b!hK7y~%z{SAWm
zh3*@L#_Yi)Gv$PD+5ACZXiZ8f{k)-{CopTpOHACl04p%TJ&riL*u+#u<QA6osq)xF
zLG*7K7xHl*aDMlRwI2=u1Cqu!VXl|hKVU}zeP*}@N%hb?ZS5%gaqz>ktlHKQg#Z!e
ze!+$V5E>vTw*`Oo8^>Wm#!ce^y5ytZ0p1C1zZ~Nbe*KR`$X$kZ)s7Fq=q3a3J&WDQ
zAO2Snm}oA_j9Fe*!A4!Y>Ciug(c!h_6z#xGRSk15)!2`2qbgcqG$dBQ3LF^znsn90
zD5jnClh#}7wCj#SbNsy~@9m?r50pR4u8Ta8*WoAf@^crxE9kPt8RGT%v8xQU{AP^B
z`&7tLZR7xTDheDFj2RqOSZ;4CH>-95b!=T5d^V4U$L;C_5h5Dj*yTCH?J;H6$9?qi
zd)R%r^-0yXXI;V0^qNNZC0%137k3C@^4rps(oIUETm8bkSZ6jJdN3%$B|AGbV5I~g
z<|W187-%GOsb*~lj9}C2(_Sb4m_X;pmG<S`sds>E%X;W@4Y%f!eh00$f(B;UM%t9x
zdD+4D+H{YMlQ^irEZ8*LTmvGE2o`SnhQ=0)zuH<+I8E$&?LuGk-z+No9r(P^k|lNB
za8ty#Hy{6ExxGl~=jD}7LJQXdun@D&;zcJedKjY4_~~0<@Njz=6;BM&Q4_qqzn*nZ
z3JExOP=u<xTCw)-j_)0PmNcCZNPwoMy)^%?SNCoz+mg|ncY&ug#BMwRl<kj8*#m68
z>)^O?6`EJIzh3)3L3j!r=iH3I;Nm8-2Ub=_cnAzEGx!aBPx)xJqSdei>-jsJ9Ff0b
zS1z5@d%GIuOM70I>I!u(N<ox=a*t3FjK<c%Q1;UZczZcMcjDU)@zO5fkG6Vs?_3TW
zjlV2otpS_h0Br`w!srgD7`fc~m4UeC?Bkm{)oL0B&)rZYeLBFn&rLdv(=^|~<qV~o
zz3rym3;u4@FrPFBOcAwga?+qMJ~A|OI!*NO{v<a5fQA_g7Yn6-7u3uFUc8@?+Zy_>
ztG|<b>a~m$Ha^eG^DO(vVL8~Jx8pY8<!Kb*(L;1NHXp)n5Kkr0dfAq7j&Tf(Yy{Wy
zyeyt?+!&YCU#Dbn)D{THK>$#Ze4M1D2F9)+83X!gXP=+@rA3JI`E`FNpT`+d7UtYd
z$##76heE&`s~b;lNcdrWf1#hELErqIns>*T%-!?S-DaYb)qVg`IeYV@ZUhAG1!y3+
z1ZIZ-|MlFNE}c2pz6j4_ixpNyXsp78iHCTJyJbHKw8t^0FS3pSb#L>(ts*evEthTS
zyy@QOZk;#%jz#DUBb1~Y%h`!56zFOim~9x@>BJqmfdZfcuo?)8N{Ff~&IZaxu?uDE
z<o57(wDuq6vHEYe;k$3=FyDV)zTyb``~84?n1R!VC>^_YNqu=eC|HEHe17I_8kwy*
zxLZ}n<h6h`IhcufZ15(dt(p)TS2Mh^O{{>D-RH|9to|wuqj|zcTN#>`GU#pW=uI;o
z=VnTi<@0|2$;uFi;x;~97oFF&dG4&8wd-W6)^f%b#)wU7&Zb|s!Ht!d&T&LUQwK;R
ztXZeV3N*o?9L7V&W4t_nlhK3kb*?{^6fCT7W!OINO-|C?Y+*{JwpymA!?7^rRt=U^
z_Jxrz_LQnv3$a@uPC6knWR)OT%;;Z_;9eaEP`sIqn+WTbzRnyY`Z~vR_Ip^tvF<}$
z;eO?J6D8|x()(_Agx;V6YOgeU69RkJl*AzxW6-5V?+{jJOQouchgihjUfU%C5xQ9g
zXK#@S9H%2hKzD!g<z{!JAHff@`Pz-Ge4+eBmv*NEyUjR%nUONTK2E;Cv7Kh4=h{<e
zM}kN%w(focY|Xx+Tlb;YX&WG+6DUi@V2yJJ_m|%t1l#P8_k??Ry71D*lWm-rI0dMy
zhr51fRI-;5q)yVG!sU9`V0*&-jRVAYe6DYwpf43>ksQ@!V!4iv;G;2ki`JSytGUlp
z>bkjbP6bPHgH)h33kAGT^2+7UwR^dTM}<vdn&#jo;^`Y@{`bDc4Ah?CmzURWjNh4=
z?H@Zxf3~UTZ|u{{ZjN>F4dJNPWqCNPAW!sBB3EE@7IV@n92^|LQ2wOel_lBt!)bpH
zO}yY-lISvSkLh|u?-FPqWqBmrKg>IxJLtz=>WCkE_$HGsckPfH8DmDIAJeQ@ukIo4
zFVp)}y+KblN~kbf5!N|p6v~2bz!5>MwAFb@TY;k6Yp<V+=bYx3P0*?Nvjh*@(vS9G
zJ1uX&<k)y9^n5rgocH^2XK%(=CAH9ro)36#?r65iA9r3HG`1kzpKZ~W3MrH#3qTMA
zF?lWYw~LSOU<)hw1U8$|b9-l0_bsFI-kV>|ry4YM_RYuZMhRg(-K44X+}_>YFv&$4
zdWN~3Z!eJhjeA`X5$ZG3J(sX#JNg^fB&I{>5S;nQP=OptXO_YUqBQ3+Il?d&E`xLn
zcrZb{z}E}2FOj0P_iM-zyRW6zRyNm#&WGbCpDqsyH8kU!*J3Y*2NHfi%ADqISopaA
z;LMUiKskan;TT5mmGKWFH$SiFlZC<d(w3q(M4y+211#(@_<O9YLl5;*Y~$^;DhI$c
zRvt%3tPd$LHe;xc#f-d2-AlBdyUw&PcPGs98fl|tcVE*1t!U|N66i)SqXJk*20&xL
z6)DjaJS6Xkt<3B*{hj8U&fw0k(d3s@V9qO+Oa4Ox_}>~>QOQf%FIE)`aFbsl@qduS
zJ@eCi(?rC!=>Qh6EJk8Ba7e|$D9N*4{%<Q-EDazqV@vmJzX{ro!&$AKvK5BAx-r|L
zJntN8^I(eC-YzB#lly%y4-9V~5)^s;SQgh-mpps(uyk0xaV?`F5I&7eHMFPr3W~Bu
zU=%?@AIQBxg+92*!SIpcNQ|RF`)*^YDSD7$0p1YSm+OmeR!Z1^{>S0?I`2WQ%WD7q
zzwP3$moBuJD7TiM#(vye?!QTT8-cAN3Bg4jQVal!T&_+CuRd(n$Iu>!vd3VQS9jN7
z5xbCMJL)jIQ-=3XzqFp`5JL6te9t>%6}k=&+aoyQ^!lM<c<M&WT8vaVfAifw;sGW(
zm>MiI#QlT>ork$GMCFNs7Ey~CgFBy<H^9Sg>7g8?&I9kwD4nGA#GC5NI6-WB0L2dK
zA1K{+CEoVm{<k+QnVmOVW5FL5{LPTt_G-s=d^~&jID<wu@XUc(pax3?5(I%avi#}P
zbsWO2*sG%vwh~{V_bj*bmo@ipAzb~KIxNm|&5fVeZ*2J%CY@7p4AlX%zQztI(7f4O
zSN6yo;Ib~mg5bb(Y-05ivA1nM#=r<kSZ5|HsbB+S%i6V$R*n!y;PKqOiwoFM!m@+2
zQ^RxSdejrV0BH}U-bjD*rZ<7r+NmpO%`)5@_h~!E*XHLA@?Z3}qFHai4N$~*+E|?e
zBm3BRJ)M(w|G#4}-U1jVSY4Jn{+`H=N=CnmjAL3Np4Y3QaDP3)W_*S7JZDZ(madZo
z#kXF-AGSV*j>>DLdx2|ruh!r!aNa``m^tTlGep#+U|#QCktPQ6)`J5mly=%Tk{S<(
zk4ia?4Qy_84L%Tx-LE;UzDM~MsE?ulKJXpSu*{b^c*tuli>KLj!{uKWu-_k?La?s+
z^d@vRqbndxR23n}h#bViz6Lk=v33!2IRItvLD=eZ)8r4WPh&mH{0QeQIPcB}7O7B5
z>WE;sEL560PoNW|V<EFjuJ(Y|jthS5Gz4zFb@Wi-e%Zyb=$yysE)d)Rj51>(^HO+*
z9@z*=ujxlxso{Le|2lxr_pvONZvU&_q<y^oo@rz8Bw*z*O4G(v5RPdj2lpjmvDu10
z{DsW2aOcJ__QxcQY^}FAi>*WH*x@*NX*0Ii{KIkXq7K2>X)t_?t~YxQYIN@%_VSt^
z8o+G^&u~BhS)?pP57$vbVJMt&--IqvVQth3I36Hf&6aCU0~~L;HrZh#sD~lABJUj#
z7{IYm0k%Du&E)~9<`2Hv9<Y)1{?Aife%0^aypzxwSk9-5B2}9KS}zP?s-aWZq9X|D
z6dABzwX|ZzcJC#fLb@!w;%=M+l0ljRfMV@H(HfW>;2%ySyq%gAqa~0~X!$zcGF&uP
zGcd5Gc-Z0Cr*fh?53P@<n!m$XUJ-N<s2}s=Py%DSfkZ{zlz}h>JkfJH8}~kkN+2Wn
z#H>YtydY!EKx91GwP2+h3#4dM7(U2<wSi6l#t&f_B{~3axl!g(U=Iex&9fHBK#OXv
zUcwfu{g7Kjdt40}&8PJ$VLF(j8nBlQSr^=+iKP`lJdhWsJDN*-o*SnCjnapLtd|u5
z-F9-FA9TA6IMK~?;vg)7kCl)NOP&K30$3X$t*Tz1NAyg}HBQgE9hZ(b3=MV~p^neO
zkgzK*hERgKQQ$xbbB)v@^l-kmgp^M2WMys)I#uhDE3zomo0kShum#;oWZ|xu!ZUgq
z&t?TH(t9g?!(u3>o31YZMtOeV0K!rc+$IkIDg{bI1p-WrMn6XH9%1sLRz$vSU*zGr
zjf?9A6kB}O(3X1a*c-Ltw&4UEADzqWrQ&AnIhBhp9j@89F)ddi!t(mmS_N$KD5<}-
zdV$f@^XPM7=uAx6&ko4r%2@!L#h`-L5J|5ok5@t(U@S*~X#7ZBy<tku2xj;=?4>IM
z)b0&@f_3*e`pf<GhdE#!10826D;wKqu$s)ws2X9wqK4S2Nf`>UGkhBPdEa3!Gcdw8
z$18O{%MSivh_(&&I*$hFPwjoXz=GV#I2RCZ&D-trYA8+7$yfA|r6Gv?+^SYN&7sL7
zO@PYdd9Jk-O1{SyH4=c)h^+%4LaFe~W%k_l*jj8k`=@1ioeCNDi9}|D=NLdOq3MVd
zQS<dCe*Hi!939g4!G{-{I*%?ZO^_N;7<hpU_pM@KjD$fL0uVY=KvIW;WChy%)Bjkb
zh|qq2dR**wJe<=kx?e|v!>Kvn_>>k~YKQ9{4c+`pa~GT6Yo55vD9d#NZ`#UQVoAnp
zlM+kYjcIAmds7dM7f{$>N!gZG9K0%m2NQEgiR*DB)Qvwz(<^>z!<#B+y9ro7n9u6~
z$7W2Kk^*TwwWY|*%3r=ZcfR;|THp)rT6F)ir{vUT-IYW4r}+N)f6obgq%nZ9X{gvK
z=r3S2#z91k4gO=v<DC{5d-D|qyy~CL%Zb3A^*vj--2=0OkIVGgWxVZO_W86==w*^t
zj)zNoH@=ivM_roCcux}H8K$-I$k4%ba7I{*nL$MX0HEloV5AIg=3SxHyYTe&ybmQT
zYb-tGA<qjo=eVNrAPD9BQwze)cEI^K7G2*2^>LoAJNhp%439zdwdJdv3yV~n_I~ds
z2*7hUTbdC9j~;6g?C^GE0AOgCe=tgD3pL-)-7E$#)<sHR(>H#G-3)i4v`lQ*J84H;
z-?z9(zs~zKSI@8LL50ig*qStj{|JJYVfi|JPX(p<Gpwka+}bkC!XTg{TIjtr-~?!n
z^nB|8<c&WN`Zt^H88%mI`d#|44~GhM>+s6Av^OtBmkoD&0<ol4x@a%GtUhyrcEDo&
zKLVe(qpnE*fQ@AyVQ~a^WblApHFStp(W50PlY?I$m(*XH>G&0OYE&+MzWR{wA<QD}
zS>_2kiElz9MbjVDXP|I-uJ^@rckY`wGAlyhHw9%4`&t_7+v6%Rj92u-?727~LLpP>
ziQP0I24n%Tit|FHom4s+;6MN6%*s=ZpUQb>Fch=pUY`qUGdg(r=6amZjjF(GfY8-Z
z%WLg6OA(Ei{oK9!>7Z;g>n*+tgb;W}7#5OX;Y^V5QgC<&VRTg~i2j4v4W`9wg|RcR
zzZwtm4XqlbbAfhxUyg3W&Eaz29czl1U6*F^lx`}B!Nv#>p#FpM=v`)8rP6AEmJCw#
z#Z9n^05AeTMp4i1uEp6EXLpB8N2vBpF!ed*_Qt}j&`u)s4Eu>jfw29(EgT_9U2ePk
z1w{#{+^qfSp6#(Utih&1<hU7D)Y{;yXVyv<7^BJ(__Ae<2r2OWbVW#HDm2#LUns-w
z&shb=K6Ls#`iI&rjA|bA8h$-BFyQhXcN%l-eUAcMPs57uWaG(J+9?<<{yba*KN1us
zxm#9nH;<l^i-1A10Knj2#!w1402E@~Jc1A7ujmEtp5Coa$+y|QVMfcu7irsL(u2j}
z3%!B`{=gstda!<7%qO&!*=zT7Y9bh9n*K}42U^V_tgj-wB{VY`*8u@dW(|X~IQCco
zKu!Gr`NF}lo=XE{y5zSYoCfA&Wy;^<1rKMbOSggA+Tr+3{CO-8OPt*iACnd;%`?X6
zw`5VvA*T`a8e#1mwCf;07G}i@7z8oqNeY7~D8xd8d|5VsGZP7jU15E<gkiy@X<IGb
zd_1z8fYvv*d)l`MHo@%lmFu)eVFK(@8hx|sD*E+M=-J$LEh>#6Yb;a4Edf9P1K`|{
zqJtYTt(ZX|@&EJ$qMtnRB<+4)4XoFNE)%^R=!&I`<JNEL5pB8g$8Cm$>z?I$Lt*be
z=FVTAnuTmuj}$%Hn0d(Br2yEga1^P)MS#8K*@FN(AOrerLg8zT_gvP~!z<9k^UX}_
zs2a<$l3|)~SYtUWEot-*e+BL1Gn6MrxH1r4;aX@3wLOkAW@TG>|6p|kFzp^BXi_s^
zl@LGxzuYX|)#*}rUOG|~g$cL+^NI-*Js&1N_7b|XF&xJg-Jbe8?wF5qMgMA$DQ}_&
z!$<W%_st#jf+L1oNQdDtS+POJ1Y$Rx9lu<b&uwwL$m6}EcFt_T))2U0MPLA!pE#9z
zE%&Edf3LT>K*2b4LKwsZ`1?z~8JbQ{V^!-{WH&8h0XwYjywI7!Cj<kL82bR7r@C9>
zRX~6L`j9}GE#w3q+>N#~NJI)k){KS#K;W4E=>xR>P%Ga9yppoT+xtxq)vjYr*Qed4
zxV-x#`QTkO`Jsk*!j0|j**&v6WSEb=LGp>s2nDvr>(8ZxY?qQQu^o*ESSBci0gPrg
zP~-wgh_t#gmBZoSi#N=3!1X1AAQf2r_BP;o?EdC;pbuL>rt%54kATKM0USKMKD|<8
zuF7zo?z+kRx|({2HcUnU1uGQuU~E1>$X8@({fmTV@d1FOKphqXFsrCX1AX#OvfEcE
z(URil-}7avXD+(I(X2$cYIFXJWn2|N!tcvPla*lvp}mtFQ`=5U;nH8ZP}n|+ln%J~
z+JzX=$bv>P_pYKhO1_$R66EBMajx6R_rLEA2uHSB^h&_!*OkS70Yr1ufTcoY9v!u$
zrLn7paKXejvr7lzPp4I~AKC%{+rnI@fXs^}s1q6KhDKzU2sTyMeEqO7!oaXERaLuF
zd-CzrZekeiwy7q74G2j^7>pN?wKeBgE!-vkF$y207TF(*MFBKh3OCP@x|R{K7Iz@$
zP(%&XkRyTP4Hw5|T<iwuv;y!p_BF1M&h}m1;ee}8ZnQlAVCy^t01)@l^4OOu72K~w
zJB`btB6&fc69T=Twz!lF7*JW?bX)`qqX!N&BEBE5j5ER+Qc9s!LZrny!GFD%MrCP)
zvk2L)!71%CG#&(Q@kV)!j`mn;M+`$3VIeAJ%mmjZ0(O!HY;vv5jjFYf##bdgI4MUp
z_i`pjXD~Lx5g10DY(fMLcM|s>(2s0F3wcYrIm5-T#ENLC@18l}aqv`%&;0=?NC$4W
zam8($;$^i<iilSMY)k#X-8Wy7L)jp*GMSeO0fed|b-qYV$2turhz#IzBuW2Vd^;L1
zbR%Ow;uMt`$9M-~AH*ZHiZCyIaakaWZqVAe^msqUT9k(($I!T&-(SY}aOY=^^Tolz
z;d?E{HJSq=6)FY*g&h*J;nfY!A+cB^muD~MFCAq;2&G7Wf7zKdwi8RY!O6=FtJ5%8
zu=eN%=%ohcBCcaOXXmmaw<*OD+NLNK00t5criBZ{5>j32{)k<Gs=$Sf)wKT4e|Xu>
zn%xHS+F_OOQ{z>vE?-ZCrL*ezIu!8F0q@F%3?EsYkp;l_I!E9|%9n(gy>}FMjkdDW
zJOiLfCeAZOcW*?CiwJ<*Zbj|<xnc*0>7>_2wYlWBbwU9xZ_kCruEiOhCxpWQU?Krj
z!eIo4%iWpk3FMxzYi_3#_Z3RN9{6&vw`k<SJDeZ@a-cd*uN+2(m~zSoHf5tIP!K+4
zjLC(i)5EDzDjaT(u?y+87SNA#!8kgjvF?OQ=}Q9?P4m*$81}4?T#N%!2J9T}U=L6`
z;lf;+)f_?4fCB&`fV!F+!9uHpjBn>hw=Tq0bBh?X45-j7ulVgSA7g(Vm8KaK6aiU<
zXVYxrhR?ghWQ5Ru&$bL0%X|ntBc@e?i5XGd0H(m=rF2#wy29gwj6Qt7I0;#+(4blK
zqqCR}V0iY>`dsE(+WGN%etm4AImG6ACK^1@7^}22KYOloPvFIe5jr}h@%B>n0IXTo
z=Ns5Yn|hRkQK<spC}xD_NC=Ay6PBwKZ8vrz>{EL`OnNQt^ALdR$Yn(N>7f3+fx_sO
zluyF<m2Xnlc*0rjxoW{W;%P4bCNyiP<yh^6qTo$300@Io8*t={7wSZdgf+9_kUIoO
z=W2x{#m_&0U1QgbW(UEOv^@RRxP5`kcOM0Q-&)@T-|D3sugfJ{0+5A$1+Gh{=J<?Q
ztwm2Go0s>V&vWOqQAV^XfL#GXbF3AWtGE?WJ=@{opy?k^^mxzh&d-W1n4oX;p&E2L
zox$^;*t+%<smW6(W;0OKF%e$j01?<}xdzgc#;`jdkS5JV5`v5NU>KYy)@Gg(5L6l!
zx$MzK0|P`QbJicRQ@-DqS7n6#cs(9YvHo$MR{@~^dO8oDgXew{v~Gq?lctuZugw&_
z93=Cr%oB}V9Ezov^W7??*pzCsGoZPR1VCUQVqIWxKu~}t2tjOLAH|w*lCD`iHG%&~
z@|Q0iUZdx&?)zHcOY+>e|K_ofJ&y?S5O5A~#d(4vF$K@Do$quHX=ozj-2wo>)x-mk
zuezlpu$sGPl{B+1%03Y~2b)1`{wO*HkWxokT6}X+#mVUUVlUiFTdFiacctl|E#h~0
z+~?Bjl3K6~sg~p{=(38b&tFkmJKv#!p<B-i4g_XEhz8~eh?+w?!`*I?6K&iNQ{5;d
z!+m-5q|GwsR1_0N2-bQI&{uuYlQmrM;<akP{Jford_*vly)9e3KN38DbBg=GKAM3z
z1`FOSxtRG=^PI#LVWJKrfsldp#l<hDU!Q5Y0=`u(5lnPyfN4I?r%i>F_(MNI04)Y%
z@^D$jx%bW&fOaWTKm&k+!@884TgcuC^~EBob%s(Lkvnx`R|E2n8nl}gewuch6K<Hw
zHhc_Px<2KmE8MoH=8|SmGnq#otCz>Zxd6XLHY}XJ0nn`h#cv8wr={G=Ivl$u@HRBW
zVpb}9V2BGR@H}myIx51R$9G_kP{7UIfc58pd_|3738g<{Q=sd21ZM^HM+83;)<ex?
zEg}{HspA`5?!a+%^g)f=-~qiBgz|W_o#YxENRd#{p@LJHxUfP2FHn&u#CF<`2u%k@
z-83F7&1(<8UbJ1x2<Mv_N^4a^qMf4LHn^_g$K|qkEsH<=+RitE*hDIf2J~_8+YWtm
zs~N-!F|bi6>M7gXvi_BU;#Clf@|iul7DqB50H?biSNrpP-@;Ds_T{csi@b*w0Ko!d
z`uJn2Qy0j4%4F_3Q?Ye5PN-XhuVDbSYq@Tp9Iei9#aY44g~0?t!GsV>ayOm;smX5e
z)`rA6<9Nl|49Gv(GwEXWS80oQ>*wTA0FRP~B|g3o+9DE`?e$DgvGIDbd<t4-<J!TC
zi(&cGc)wi$i4ldDKm{7ZQ{O$tXMzC4cT9JH1jd*=fQT`E{UMIF=B<y*EdF|Rv~==i
z_S^oLu5yEY2puejs;2~z`U!Uo3)OGE-$?%q@wHlS75TNzpnc)eBN_?}?AT%e0&`&p
zVPIY$C*EV$*FRNlpji@gC?<{iv+Zx@0$QrC3+nozZeq)l50&q~g}98ez*VLztA!{q
z?@Ehvz`n7?;l<ca_!dwJa<+gCPFulm$_U$7l9);tQ0U08h0%b{1DN3Bf4>tDxaXGn
z!P^ec4dmbMFF63))#z|%GcyP<N(l<^dtYJ~KYj2fAJ>zHofJ%5YAUoEVBd`Fg&jJB
zIypHiFfe*921c-Xi*wlRUWk3SK#W%urSdA!bmd__y?SsSm!2b@A?P#*|K=RPjPo3`
zFKukvv-Y4hwk}f&$ZFxc2IZZU`s^y1oH>|e4f6<|NGF}9w#a$x<bW0?0;#0}f&qN~
z53oS+&Io)31{HDr)2Bbs+w&i5uJ&q)e3@s##Pdw(Op$jsw-FWni47OB{k`A{699Kp
zONARR9t?_e7GMA~T?!$al{a4G=hdX!r!NOC-_ZTTF7zp{YJUfjCno@N%j-Eg)&<7E
z*UOH)Wp9aA4)+e|P(DAGx%X7veH|WH&0ATKAgi+mMi%gR&TTFucr$g!t2B@2B(JOp
z1We>elIZcL|7LJ`JO$gCd7$L1rBVE)#b>~K1{B~yO(!2nVV|4(k>#BkHd~gg(;j`Y
zT74n8!!xjnLG~Wdkc|LMU7Wy63o+U3HzzXRU;SZy{?az3J%#-c<c3Vc-dg{RV9z&D
z+BP|yczG}^I!VE3-f^6&bP@<qqo#4$FMnr}${6i<K*b^k;gY#CX|2mC?!8ffgw>ZB
zD+;@U8<z(26w^PS`pmH7=helS<LPX0%Q%QHuLg6uC;}J8+}e$H<?kVC3S;K(I(gwn
zfscI}Hw^P!<$jJc7U49ylbgGN3WJFNSEK*Vp63OK@!o?&E?42n=KJ9m>blIL%L-oZ
zKiutI`PKF5RC>8!S_72>JkCmTMBbxa@_w9anjtVg*Z%c5D_l{4fEXA<gsB2R>cYIn
zl%o?Z;h{B}kO8DJE^OMW0sm0i$8T{=y1Aa_f|T|@rMmR^YJtXHVLz5a?#3Gp!QZA6
zK`q1R5QEP0qE%#T$6^H|??V%u-HK>5@rV{$194I`#B*x5hn%@kcW>pp&HH)$Y3I9H
zKDBw`up7p<=)#8qid$)<^~1t-$seV{VWV(Q^A*Q2CCeMU1G!sTkX?k6y!)x8&IF2?
z1t2c7<vNyUskqmmQzIQqI2c$dU;t@hV^iaQ2%BF(E@nML?R+}Yl=O0vW^*>c`5?EQ
zD}^de18fc3iX|8}r3Dypk})9_Y-O@XKn76q>KPG$(u^P~8fGZ)n>)JyL%SC&z&K{m
z7tJ>Fxd)y?WBRaX`#j2l&#=Si6|&9HI)s#bg4Ik*v$0d{H`AlB+~jm>cR2ECyx!Wm
zhk1e7wgEU~oQu0IkX{A8mk37nk%3ENO5`HuxkV4oZuM^iXPKA<q0M^`#2i-1&6@qB
zZ2a@MDsJt3QvZpWaZY931+AgttC1Wa<w#!Uz18E4CXRwF6;}t&)mVcI^76hjAud=!
zxUD#kDRkxjJCH@LH%(<`>{Fh#tK*TGjBJMday_`vrH0koX6eDNjQsrQyG-XYD@IuP
zx@tj$h^3J^0Q9jdoXWN6sm)HMn9)+2B>@&da8nqgCJV;bPcL6(^y}p5O!vA6fOnKe
zxx%9SqGBMI=w&b3%lb(JX>y+<*Ennl6(-}y5|~f@Dxo`^y$F<9q<|5+0Wg67ccZVY
zo6@i}m&ecF!sd`EztZrid|4U3@i5Hy3E3RQs=_uTSoR(r2W+MjEhBf12vVr^c@<_J
zm1k}{J&Rlt)Lg+J1ZJ3*T~xFCiEYF{?FI*Xm16=h24@lMwKbsD;PFSA-a_UASpCiU
z*Bz){o@c<h$05#v3k%xB;k^FiRy|I7bKinZ8HQzOt*VI^_OQAb7+VWfRgn!G#6W<-
z33m+C4ti`H9Vci{%B5Rw$NjlwM!ZVXdHT?Vo+l%7FCzvkoNsucjU}btCSBX^%)Whj
zYV<cwzpAHSo~|XGfNMw;6Ke_r4b)|eufyA|L25i99Ds0hcS0buVn(J42n7JT|M;KY
zLAm|hO?7p<E_Xl29H(wxe5d?+)K`DlW;MzK{IXPBeO&{MVgSsci;R1Q1`|F4d_#&I
zP+<XVsh9(52QKP`Rs~C;kyGLE+uiE=hhLx9+4{K)GzvA-f}se!Nt4dj?qfgER)Jv#
zWd_@|b}ezA{&Q36{#2lwaMWdv@fLneyls{ja0?2hdH~<Bd(OxOgaSW4jIH&-wu}UV
z#E{HA8lV=&S^f!1)i261ohAx=MCdC3Ojs9)`LMjUCUnWgc?P+63pF5l>P~CH2f)Hh
z<6j#1b8N?H(UcJiLle*dcvL9-^nV2PpNEJN3)WR~9_WF<(`mMhrUEs0r4Gw*7xv|>
z&dZ13>`d%n0q^LkZRTh2b1ewU>Ka}Tk>K+0n*1X3@fSvz7$MX#b8zhLR%1*GC#X1w
z4-Jf+L^miSx&X7evM-Fq|4*e@Qw=VJ*Xj0fh1@Ll2AaiqUM`NeI6F(aQSm>6zRbct
zajs&8NTGAX11<TAr330tM1@Nh2bZ}B82ZcHczNFJy~>bA%`!jvIwU*ADcufZZ0e-5
z6ebpSP@mOaI=SVjM&S3n>IFx>07u)5*SogJ?z}&C7AunPuY%7NK&^yDY;3a6afUi{
z1E!r>g&O)<)xnt!9n1s-y&AWr{=@rnh(Ng>`)=?9kQZ?{HvrP8i;g{`=_8{(5<@gc
zh+JBzriNk_9_BRyxsfS!$O?`L6F@B>b=g5hemiT{xd+sJX%F`8_2?&V383?WEs1H+
z9>tDrwCJxwo=1T=33A(2^$F&1CNB-d_yqlM3aL(9jxmQnYJV1}&})EAvt2lVyBEV-
zL2QFc@gcGWj|x-^AUk7?42BfvzvUl$fZh(-<)qanl8i0PMKA`_UeBY#j5E3c87R9J
zF94%<e%EzP?4>P$48)LqMo2Zg*)1|U{1;tag$_Bq$4tc80(%3S#P6xSSE)rHz|1}C
zk9!OI#W&YBKzWX+UX_jTqVp`;y<evGv5&Uh1Hg5DAh)=Umxfe#AYdH$l28wxpgZJS
zy?0c@!o_4r%n85*9TYe_XJb^bZYb#osfIcPjfFjT#nwLE&a<jR8@8~I<t7`^4a9BG
zOUReRyuvgE^$9*3T7_B=0nrXp5df@w#KxHa8#Uvf$MfZANM;AnY5k0~8O8tDMEHq)
z((^)W{p-wRJ|DB<+|{l4*Io>R6<*zz2tPO%hU@F;diU~O2qu!knT(KIv=NEJ$X4Kf
z&Z6f83snwqVQ@y6irTClWJWe5UdWZ*0lI&BXyFXWHtUZq<y4L}P2iOvIq1i)PptuY
z?4g5tnm*q$cPnF?ft%Vx^R#JCnxIs|;%<2q1+lIr2(16Y0{QW!AF%cvo?9d6pPRe7
zLYufFct7R#x}{NH*|*>z6n60*XvD?KA9WDd+$Fkec8@)6*PF75Xh_$4f9pU^vG8KM
zK&0phAx+?i8p_tXX7pV!AWu_N71{%Ov<iip9nHBoNO8^evni58`*=$aEY(v%fcsS`
z=x_sEmnJ$J{NZxm%Vs>grtF2o0!tiOTZ4EH;7{t{EL?bU@DWJq`TGU8wI@8vA&=85
z$8&21n-|3m#xgEE?qiGyVw2Ly_o{$iH*9H4sf~^-bX3Gqij=cf#q}R{W|pR4^J25l
zSkE396auiYQ%VzDp1eN9OwYf{e+}N2-B=*7Tk>ob84!~givturVk)N||Ge|GQ4VfZ
z_yExNH`D-RuyG`@ZP5gTt*0qvqBT76=hf1V-i;0rE3ow7z|a|*ppo@EZ^{DH`zfF5
z7&D|YRDOA7OmvlOgXJHWOyKuB&v4g7#J1OC0!>&7REP8sxr>XmcZj{;UB7*$WwSlO
zB}b#Zp(%e`HMoV$p_EN-&duave&-HG(;YAU2|MZ(q6uShpbAsr><f^X|1vjEPPrDc
zk(;vRd(05;9y4fHmy3jz*<niZp)QKW$qJl0+WL}Q3tkc#Sesx}cQsdWarTA(592(=
zcV+ZLv+TIl*j#GI{y5dherw%+^BM%2`(a8m_idC~+yM5z)oJDcPk`RW)-En%n%fd3
zWGR2~k@D+>7yTSw&$#-l|54lpgP;!MfUy;7r9*EQXSur#a>;FAP=wCCLBk@-;An)<
zxD7wWx6O$xsDi;_=;GW;oX;{A7HjKRt#g%Bx$LIdcitZ-$?(W=7XnR$jybaiL^`_x
zh@t;~X9}pLX>CkUJ5l`q7lc1ek}S!A;HPR)%>(hmP1U3N#LjRt&w}u<^D-i`8a#3O
zRaJw++fENg$TN3E<`YnaA7*8Rvce-d7y!c?(XamW@U(cD5s?okcBPwnWbdgfT-7{l
z_OPfh<?q*yq*!!w62PAhIAye^!LTBDl6nGOt*24vd}<S+R9K^xu{i;<zzU>7Cm!r{
zgJF&y-oDhQwz+(20t1@!GVqSqS!bGak>DnP<kzPOC_OH43nGeWBpwYs5F=?}z<>ET
zLBDkgNu(HRD<*pr@3A;yUx|1)kJ0br(@mZOj?{t8-;;SbT~Q(gZx8^W^xC13sAt-p
zPm{-#o+Y(6H0P41wyX=ie)hIMIZtf^V{AcpkNw3Rx;n`6YuK=!<vKx8I%Sm0`=;_x
zNHtDrR-b^@Uwizb{=RL>`m}=^&Zgkd0Uc~sKf8u4yhKMyoOm&sdGB8~T9gU{fg)j>
z0!@Xf5&Y?dRVV1QFd5+murTbHhfrmB#sYw_*1R3px$PLI{zFTbw!D63P;IGrr-p<C
zW(usJnqK_o30@m-7Sp^%YcCW!w0R^Ft@C<)+sJ#68%Z4j%WaNh5BEO@e;~j6G_56A
z>b8|u=ocD%CJ#y&PFwZ=@1{QXH2JeN&}2VH0wSmSmeD4X@BEQHKTcuxvFPOli6Tt7
zB_b0OEfa{SS1Dvr80hmSCKntN1Z@lgc0i*Iu>rrRNK*atv(&kIhiNAG&_hd#Q#C2d
zxly6kL@VVMKoJS>odrnfb=z;|{3Jq|*obLLm!~!3(eW0pb%ZDUwwkc>G%(Sn1W^tB
z+@4!C87+l}E1-$)oZ4JV)iRTb&aIDx_+S#n8Deqd@3muZ1xq~7=J{ZT-E&w!w}D{v
z3Ia;#fLcPEK#9E+_5k$xs6HLP131caz|x2no4x-TU`eJt!vx#w35pCgP1n%ad4x{K
zwC+eE0$3VbR_zKg!FENv$B&n9_vs%GKdRUtL7jG|M*sr%wsZ#IW22DT)?1n<|B;}!
zA%a6H5$Mv=IH6N+-xkO?w*gz`FsXMTd5!ZqIX9l5zGQ)!)XZ5dZPi(HZa^uyj=e)_
z3WrdJ?yV6Z1DS_v#TVZacx6=upY130yv_nwF+Ihh#4?#aV{406Cv#Xj6=)?Z7ayli
zd#spQHuH&06mX`Vcoli0+}~>FnuFKkAMrf=eo*>u|9E#_2ixE8os$2MjfW%S`fxRO
zTQ@&%fRW`G({fy+DW@sA3pAkG6oo{GemF3I*TYuWK6b7D!y{E{r|4|pE|XJ<iBG^=
zpX+QPr?u83K(v=6oPh%r099Z#jc7tpl#Eq9HunJJ7z=<;*F5?-*NtA>lz9d9LcrOS
z-%!}WF(3FmTUA@jI7y4`Z(HI{@G6&r00$Izfa&23yohu=E#1NQ023yw>HPlw$GDdt
zAM1J0kcY#e8YRrR&O7ZLHuWjG?}oh(_ii~U$;K?T1kLDog3G__HTv!7uF#L_XQ63C
zC30Zkbql$xssvhB*c43sl)S}WmG&!ZSdpQ4CKwfpdNLG1Fns(Uuqe<>(OdPYXrPi5
zfN;1Ch1)e))l%+ZXqtA+7cJd^j$4C~yL|_o*<7bC`k|t9c5b&l$Xa&y?Nj#Q-XeiC
z02d8m|0a7CZL;M$oIf;=pa1cG_}kByA!+ke{g=F2M4iz)SD&^I4S}}}MNoF{*xTvt
zp)+_ck%w-`?adCnIzlyf7W$LL*)T;KNv`5OL|oM|d&L^X6f#K>5KlM}q5^?O6g=OH
zSqd!KR0(KskA$XNStpcZa+;^yNa~rJHEbgRK1YdQw0GFIz;wXoJ1DlbXCi>hocX@}
z$Y2fZox4xE%lUk&_KEgOTY$^WxikRvIISoVO2W^-m){@mmY<KybG={ddn#9%4os7L
zbl;9ny|6kctVOPTBlC2vj3-};(+GaZvHeoe!Wh#~%WJ^Z`rr+kwT`_yQIZZ33<!`|
zts<xan2+>D?trKBWQf|diHD+<#MFs4Wer`qja_*=dO^hg<csgTVeW%oPuUONGDTN7
z_M-;L{v%t=ltF#N<^o}%xdV26>3uGIDMStlkl)qTpEeS%VPN_Y9DMbU)AV8a;r(z%
z?z^5)m2$CQX|w=Rfz~f4^ssH2&?8iEbY{mbbu$cc=x|#i)RTO__h~?Efh$RCM66Ij
z5fmJ7=?EDy^d-d1j_BxFJ;bvDvRa{$&P_R)K?8`7is4A5WV2Ip?H&{p!{nPxHV3ya
zs?#Lwi3_e$B&_{LXK-Mt-IY6DX-#~=opTgY+f6byY3x~M43@?l@)zgd95f!D$ual9
zr_Rtky4{(>N7uO->h?h=5>0x?b!bLH$L3C@88M8h@BM^?5Vhnm9|2outgs#qeg~P8
z$Nn!_Z%Gzh@UJ2v)3YwMtV=WHo)hiUOfi#neD(@}5WCTp?k+7t5>i{b<h9eG^&QkH
zpy@~piozWMQuO-)yqwEpSGwkeUUh4&A8`9{{z1Cz9W({UW=?85y-cF>#-GYEJTpWY
z)USvuOLtAP-+V;n(}o^_ZReqGbA%LOq+4$<>j7FAxBoV?GZv`QakXaxp^^Z#Mi&4H
z@?<CGxsR;mf{Fw0Tyss~r&K(2pu5&`GrHmrjGaqDrQt<EBylB(tLh*IUzGhKJX@TD
z7j7O*pOXSpXEi5oS~_Qkat%foc~ka`MS_y<=O*cfz0NyVK_}Dd_0Q!6sJj)g?mkyq
zc(@<0X;$zl^uk<idHK+fZyl{{@w?fQDt_TqHis4X5=*B+a??Miklj|tbvI8~)iY=!
zC14Vd6hLdazWzV|`?ur&X$KsIme?MGb@u@+sH&@TCO{(I-1{IJh!5M73d{ThnYgRm
zZ<5vmzKxvBi+Fg^WeOz*7MeL}skQDOXEyX>V?~<>rPfN=&PGJJAWRTIK6YXL7K<^@
zZT0oo%s4P@k+RJbw0qoj4^vm9k1jhHIh6B#HRJ+dtuF=f5~?+zvRI#<*xR6eCa3&T
z7WQNd4h0xWml|A!l&spk`<qwW;Q~$rAuyH3lZ3HDLcJk)gmoDL%{-*oTfb@ne?5T0
zo+YfkozueJ&kfsXKGn=7qL$X9*$h@O7SW|?AW0F-7S_Yy+Fa?7LCc5~o_RVww%JSP
zIer=sTWB++#fVnCM-HpT#uyKIjOeLy3ugB4MiHq^0{o=Wx(7bHZXRpzmUCA;mQ%<C
zq>|3ol@{pKfh+#9%F-ozlnF$=BhkZSe06*M`v3akWz7bMMt;%d%nB3WXpf*-Tb!kL
zfOztD?|<<^vR$A79lN+{wtgmHQ!#NoGBVYoh&|m4%;tzszzEdJf_rJTY@6I;2x!oW
zf&V5Yk=Mm57T@lMtEYZxW2jA$R!tV?yeXZG6;_s7%$*K#8d7Qpo&|l-8tMmr6Myjt
zH${pc=f)2g9Tqnan0Wp4t^*uAPXrFM8!A{FnK|-qJgZyEtJlAaZ5bPB*Y0?wWA}gH
zZb;OkU(Tdrtq1MygIkhn&$#}Q%RNa_gHzGcmCfbJipQ}?BzqThUbh`gx$RYI&6y@F
zSUsA6RRDx;5+FkuuWTN>nbvgJJbpPqzOUVj%Yb8uaPY4#`@)yf9pjM6#cJ0DsC3~F
z+nv#0@`g>*v>V5o>jyifPwR+vwSKW`XQFS%8EC?d&Ckv4Nw$t$qgo(n@|rZo$*a4)
z{#_sTxinL#mqL#xnm+Ek3S2V6LazxJjzTN6;e?(Zy`F(LtLJuuA*y!t2Re=Gsp5_i
z?g<ZR9cNRujg6^M&sW|-6@(5@aE6;a>r@oL2xVpZ>~n1S*=vVey?*gX3@rI&*j~zJ
zmyM?v$eRu9!ysN^v=~d5Y40T~7Z<a~FaeN9LYMG-y(brLR_rgf6Sd=2KJTp@-iSj`
zB4+JO4Ro>ncm3+Ge|Zs{mrh`zrnekB^mODc(POF60J&>cR4Hvqy5x$D800c3knDG6
zUJQC{PgqMAuz*5R^O^hNtLbVcRGzFU8N|qYnq{)S&;(Gt+b_2+av4OP9KIQ7BA$f;
z;-wrXLa7<rrlObFomwOIrDR{Ujx7<LvECdigThlMp21I3x&0%jpv6|&!~0$#Ed0~7
z#qOjoYaa<bo?YAiW%=!Y={Ju6m}Qd-JX^~^Sg@hnos<#-dp$}66WinHFhg}E7z5kN
zffit~fV?I<i+GQnAQ_RARDdSanR;%Lv^W7`fXsA?qT_AsxyuGb*rcy|&OQ;8-}rBT
zn0Na}TxS+kBV(DLc#%2H@Q2fdJ}c$G-?b`~`fXEl>BG6i)p+&74CAw{6+%<yhW;sj
zwV|clyD-<En)dBn7mi)uNFIlgzQ*0VtLp|b?uIY1(6HNFfA?`5*UCTk_4z;jwh_8_
zaBVjQ<RK~R4@Aa!dn&_@(0JQ{9|IIvAXcUn#^=;S@sq|VkO>mAfaZ=T>3hWT#-}pv
z9c<4wlAl3m1F7e^EVVm<pQ9s^t-lB*D%}FQ1zY2{WVa@?o}Z;}n?t@$SSq7(sRZel
zTqQm|?(Qo#*$4f3Y<4KTKQDyxwa0n=0(Ap$HE?hph{(&^*F9acUUCh4@@?{)ayooT
zZ*Jm<+c>D*oPMjdx66mdKxK=>{$PglneELrP6wzTP*GXEirTCJ-S(`7uQK=p(FP_w
zP1S=rCZ;T2nnT-7z`*tSREMu2lUHeL=}gIcZgh@n32)tV1on=i_*5^~mFEj-%&zuQ
z=K(%!lDKOiRqoE%42BdoBiXXh_|P=h2uAa|{WJO~#C7$h?Jy7jD-?3s^?&n!+ud%v
zMb_(5H7{nAyj%D%^9#=3vfahPwp#w_Eeu`uJmM{FRfIqtPrK1)xz`}#P7yueeLDms
z{X_#!*HZ(oNDHiOu{UH3f_lgaCmzX{0e3B#6fo7sV=)EwtK+&)51w25ysy5<iH%Y=
z`DlxQ(hFORO`b?WG@#1PqwID_c1s1u=ZNLme^%Gof5FKy&F{J~H%c$gt@7YcORLc#
z#!$l*IsW&3p9L~)AaMZSU)}p2o%LVVVX%pPvI$$OC%P6Yt2Ptd>*xs>9M>Re%Es(R
zURxE+O%THYRC<sWOivbInLwwOU{*Ys^Je3A&|`s>0!i#3woyfl03wv1x>iF>=X4Dv
z;*A^kRCkX7z8mk~;i{g8hF`kfn*U{Fi?@((A8xRl{NuRki!G1gBA9FpK41T8ZsPs>
zz+YEV`F1zrEalg($mwx^El}9Kt!$6{h%Rq$Q`aImzdv?ahq=rB@by#mFZ&+`rg%C0
zH*Gd6?M)Hs%5`ciQE@R4Hj{SD=TW=CMSPu^!n>(g_%@fofTJW2)<S)raAg78^%KRw
zrj{%L`rPzQ*<?WyYNwF%Y;C^3>jNl5B|6cYEVqslPVFgMy2SLc4cpNlM9O3MStz#$
zbK-AKoouT6a?n-f=0Ha;Z!R)T*MaIK`S04(g!MPXd|ug$;+_EyY?Za-$M|e6(RDjD
z>RyC#Ci-3(e;V#({6uB@KV|a-u-Hb;a&J$>x<+3*b5N+bmbS;8?k!nNWtyiB+HDal
zP2}4`s=3+5HB|AylP)RSg;qvti|X!*B_;*S6%J*sg<>Bmp9@T$<_W*jm3{*#(E??(
zkIn7$w9a4&2tz|ZZ^zeNnuZx$n!)#E5{(v9s8~kx;mi08E5lX#4$m)7Yugd3{MzOB
zxr0SJ`4r^7+9o$c{~N7CO;Ud!Cm-N-T5z3|r~Utho-L%K5YGL2QPt0-+as_<F3m_n
zsL7etF@`je+G+AGLaSu#$S79@dnOYjUL>(=G+1C(n>s`!G;kieY~xyyk<6EN)E#$W
z53nNV)t9CacjU*R^q<}kK+CU{vB~1KTiwnoWpu0*;r=0YdU<ZgW?s$3E@Qs_GIjAX
zH@a~5d+#c^(AOu@KTY$_uFvG|fA|>gUi@i;;TUe;!HF{H8#BFb${+sC%l=WJ>p(rx
z3brI3lhb0hFfC1e@!^NSxbm)mwe5(!oW1`*d)6W;r1(N*wCxF5J!lLOl&BN@Hfz~B
z1p@|Bo8D}WaT>$0U+uufY-KiI_NIt-bD}GFR8Q=y*|FtEQim;4-LpvYT{HfmBS#UO
zTD^67%Wag&DbxD$JiCX{(q>AFc%hZL+Vcjk>b%Scd3P8MJ&{-m`QMyiJnZN&`;$TZ
zU(YeRyrWT3#ZjY^og6kg5JDL*s)ew_161z|G+GFVCdGmR-eab92LnU9m7%Z#_;o2@
zgt@SHo*}O%Q&Lbast~HX7+|Nm?j>7|7Ys9DlQDItP`uB5DE#OyNNPbY4fI`6PCAzD
z0c%XHcLXEwI??b5-k-QED#Y)|YBmqu^Fd8qH(W_`>gf=-pMMVD_0z3BHxZ;3$X18r
ztuGfueXcp=%lL*^LnPpVw0_BjdI`yQv!@RDOQZ}_jbva{^#n+he`B2GhVfGi)yvRQ
z5Cy`c$_dM(O94G4A_jEQC?%RSmzE$~IKs{Qlmc+s4-BA=VY@GjcuejwQ;C(EUlS!I
zP8M1HE_DdBjJcomF%EFBIg=ws_&%>6ufyf5_QZ>9<?>=3#f^B{FKTmBg1t`SO6$~~
zx>i>T-8^H5URL}T^uuHxwQmN>>9IV89CCo-UATm?A7(!$8I9o<4_0*ZEDV=+Jvnn&
zG@b;@vMirs0BE$MaX_H;RNJN9V=lK=_6iLmU{pW5dY3FS2#yFmopdudho&iA_&^%!
zODMa=;PDg~|M)EFdLCBu!+QSEuE96sYEM}4oe%!JlASoaxGqG8GvQ?O69e~tuEo%~
zwYBW^)Yp5ZRXGonHW&R+RCkBpfZ4R~p3{5iI8LP7f9_ctR_rK4e9`bhref&UrhsK<
zN&<Z{7=5X0C?htfJB3ITw3*jWW+y7#w%Hc4BrRL@Y!UR^vnc{WF;n7^ILEg)M`;GS
zEx=38d`&uCK0-XiB13-*0W+J@Ghb={=j32J$$B-t&WCZ0Hl1l6oj{uj_UkrJW%&Hj
zeF5#^%Wi!*f^bNO&ZWPLG;#hi=}Qg`$I-)cOYtpsLxzf_+#c4(lX7Su+{ypd8-dmC
zODYU-j_8+;7R}|fc5G32ploeVwl{MpgBY0I&^F)`(6DGwVQ&J-?IzzcSeac6!!|hc
zB%<sAyn{bu*xAw1Y7HZ9pe?GL)cqV_^c<wvG}ao*H->Su7+N19*ZWO&e!SP)IHkDI
zCs+?S1X+vCs@Q&-L&Jy-g~x{}V0xtMM%}tSn$G=dH&&wYJa^M=t^4!PEJVhhaI4aw
z^~cM9^m-2Qo{9=O(7*s_{b&z@#W|W_L;<zeHDlZw@S+WRbUyTtnh@L4PfS{4%x0lP
z%Y|tCZbsK+QJL2*7t?|u$!e0(0XHY!Lf$nn;ms~gw=bd;Ow=h{&Ob+{#M6P?_oqK;
z6ABhTtp#A3#Vge1!JY~5pDX9_mJ*w<DBVZ@QjEj8XV<AXecMn|K9_?1DA-#4FL`??
zg(R;@9`{aY_weRx*%TW8qPtI<r~hUiEHZ_J2+0=YB~Ae?b`@RM>IbPblZ5>@yeI+C
zxGV9#e6EH9>y`y4oU+HN8HD+Kh%E>UOag^X3y>Wg;1aun_y|6a7qEZ0FWp&&PU?YG
zi1BKVD+>HC{PvUoV)Y0k0Z{K1`X6Sn9z9>^{Y~T4H<x6*oq1I3U4`woek?uRIdHwH
zjls|9`_DFCwRR#&ZGHEVHZO0+)^B`w%(9;BHT#y&^whju5+<{uP6mwudG>rx2+q8=
zd$y^y&nM0Zos!Q9mx&M|M%_j&khKFYO}_4pp2<}QqxHdNAT~b*FhI%}mZhlb1Y-Gc
z-9ZaYrsW)5xHj3IbhW>3_PauhyswqvArJ|{r|dO5(wkMfzI_O#`-dK5f~O@%2uIr<
zXdD-Z`iE^%={s;Kjb(BE#fHkyayfy!{b@Tlzm*;z?_aUfogVwOW?22?f9~d2MvLP+
zs?ZdTN{ZZ!W=FS^bk2ZYszK}yQIQ+X*CTZ#Jy`a{Pa&x<RNF&e0>m_7G1Ef3Lc@$f
ziy$HZ5rJuG$2YmYb*keJeH!QGO1OO$4;~Ecu#MA8qOEF*gWlpbcZCvyhi+WA(-UNa
zZ__Rl|8L~W)b`tz9~O7p)5*@CAM0*zoAbAvXLh&ObOErbyHJUIY53Rsoxjh&!Y8})
z8C&%`YQs1|Igj6DfAPP1)t>CMTjVx#I00m%dfco}<^~DahjJubk6Z$0Z-90{Y*6Hk
zv#JSLmuqTaQsNHRFjXDM3nU^B3{b?ZF4elh=G55QlmZG)BjNic`ms`rrn{SAY;hJN
z9Blv)p_Pk4X&|FD4dr-xM6=aCZfz)TxHj06`RDDHv)`QJYQs%-e+&GwasKDwd55Ke
zG)<H;qQecK-)a-}vpeS<>|__&P`$HT2D>9NF;|(lg%n;~Hw*KewvTL{7QU)?=SsyF
zjzmUuBFesvfZ()R6(7%uX|6$=ndYv7iGnGCX@Mt?blCZdE%`K+xOQ92X1LD2mHA!T
z9pLsd9XBioub%95ll}V6#j!6H?Id`E9V0HpO5W(?=k<p;uc^QEb1U}-d{mXz#Ub4L
ziQYVi$F==ISf|!-8)&G&WNn$ZFnoe6L!%kNw?{qrP3z~1@(u=vmD`~UN#feKI;xVk
z{)}vjEoRuSMP{3+-D1A-RSSR^uQII;3PRczKnH6apfCWSfnzdo;x=R1VT)*{*4x}I
z?r-z>E<e&`y57fAZM8Pn*3l+6AFb@#3HH-%zV%_4=FV*kNVMnesgsa(`~TR?-M~oG
z{AKIr?!Fl>xOLm_3aso8O9qGKsxbZfGlbcvHs^F`4PbOck@~|3bFsKA=6`;*p5Lvy
zR-~Mze5k?YMxP9G?HAzyk7Fncxc!1@<L9Z+Wwe~cqg#-8BYIgJmSNixnm32orGqhm
zf;lVX1@X~qrdock!x14sR{1P`ldj4k%;POK3s`>YTbkuL&c)%|R=b0X6E}}^*mK-w
z8>;%fcnA;A?7@A%n5dV#>!<H+q@i>>zv!#0e>(SiyZmGiH^DDnYpVGpYVFS&ebfm+
zl>7V}`>mr(aqW-Y%5BD5dYm4@Njw5Zgo78nXwkT?3*cUmzcayMTT(;;?FjrtB$q^_
zU3=vpqk-eifl-WVV$+}mRE$i3m6{Tk54=7*X8-cE0S)Z+7v#LT9Tz$63NkFW2Y{B6
zJ+H;Rk5b|Rcxe6Hj)o4KFbCLwrs=%R2fV*Iso+2EKKxQ7=3n2h=O45C6RxZ|`FCqS
zj`)}r{_yU16`ra&onZ_224~kT|3TMnGD7(6@EPr=uRrXo7rzo0jhj=n(pXt`r#z)d
zZu>DQ4>;xV8cKk^aOHNMIFmT~Pd1%8gML39Hc6fBA%d<1jghPX6f=-I0YeMZWIl-!
z9I$m0jA8ns#$mDo&Gdkm#y_6TOR<h2KnfCy;+Ol%hIGnrC+<PF&p)rB+Sjf5+tvL`
zrEB9$DbT8G>`dC7YFQWHP+c|8t7#~`mo6Fi7I&&8(!-gA{h_=G(<$g8oJjl_ZysR;
znO1FnHR0sv>y6l*i=7j!EbC$+q)BCA&u34i^~t(C?@myr5O~0K)|V>-Hj^SMYRoc&
zSt`M&={0(Ic(dE<5|wF9>bkE`*tb(7*8||Dj0{m(x5DRAn4Xx!GGZI?`?4+HoXNHA
zZ;3&-RkRE}X>;)hIJ}*&7@f7Zd%}&L7Pd|$bg!e1(D30ub{6dK`JKtQUKPsow&m)Y
zg3s|=tUv#^U5@Dr500&PE^EGHeI~yzeg^1VS0F%N%=9CmvK5Fh?xtrcO$g_WcFHqh
znb+{00^6h>*c*cY8!A4<bXu+Vt@F4axO?_*_RXQh`~*>lS-5ni-3%j#c~y2ll{6yf
zKfV(i)sL>zYzG0#sFv#tLBHpG(6<^IZR~{wCOba|a|gO(xg))U?musK#k;El!wbLb
z^!CsZ{9`%!!ymV5%cIdzJ5EK$od5L<04EbyE^EhRC~L*;;A4XqOjfmqCr4{wrG<}k
zSH6{z6{+nXz;qnO{xP}Ojm`zH1}i{sh{{n3h@f`IFLJ8naZMK5<mJ~B4ZK8OdNn_W
z(-J{Vx8{AJ!WCQp?%?9&kFU+7Bqu41I`Fm)@9oj`i;f(-vfU_*`L3NC%I4PRxo3H>
z@Tg0-C%Yf>ub!{m@CtQ02E>TmBUPt9m5VGY2Y<c$VSM6Fwnh}_Pz5e(FA0Il`3co)
zK@HlpNmHTtul}^0#-^RZrHEDA=0etY3A;zgVQLQEX09V6ARDNG7vOqaQG;<Bwb(+X
z)BFfMf9YEg*?9goR>3)H(RFgu{Hqpx;_+ez0>`qN;&s<nlqtGA*Zv+$-C*<ofhwn`
zqLH>mo*}gE)oDXB?_AWpc`O2i+aiZ12@<X*@BCksM;6}l79vvy^^4|EQuo)8cMGkA
zEA*uloO)9)L_%%@iX-6?=ABK$)AHCM*4}B?6OxG$`mtLPmgq6SF$z~R&<V^Gq>!qO
zze3j}>yD@aMnYzn+jib4X?ZBuYyPzSmT)bHDDCcfa$2+LoP6u69n>KEUq7zE)VfUY
z>hX9Vk8Qe}U~2h(`+Q*svUZ1#zvWeB?!!}V=m?RYiKneq;LGczhm}xCkh{YVhcY#X
z_MYmf{l2`|9YA5wz^fF5F?oOjmsF_K0>}lF#1zTX2}F~$IAuoQIbRBjA77gtnuoS2
z&4f^l2p9vf0aTV5)b*|0O!yv2NntwMYMr+B2Dk{p-@q)_&_<(it$VT+AybDgQd$4D
zh(1)@tO}ep{CHh&TYAi|`<LOfr!cE=v+45DnfrL`Dhv~`|Lyj)&DEM_{8%6t(j!FE
zzU6GDkK@$%Q(Iz2P{L)uJu4R|dOqy1L#%{jd@kTSDHys>6SgAm8stdl;2m6Q29xt_
zzIbIYdX$L@cvNL59zaEFB8}*sR`dY`O7Kh?Af4(ihMX8EQ(ev@`pj>JvC`?W`_xeY
znSwi?+RHFE)TGW^rgGITuM^RGI$vUbJ1qTI3d4Sx%zc2o6n8syZ8^g_ptA`F^#?pG
zuDXmZy6(}zcK0}>zZo^ZE)lW0fwZ3gO;@6`Ujm_8lX069rWD6@XwET?dxs6>5UP2Y
zl&0O(*QZNATjLmUiXL3hz5qg7(I=JG)utdIFalZ<2PRuhY0&G07I06z9{=Q4m+N7k
zCvCe%=#%qD2zlaG$Zl1bSdc)|l|39mQ^5J0n`7*cai^o(_l3B0t?uwPx~bpG%eU@)
z;&Xi^A26Ngp;$pqYd`awT>hdib_nqIkiUN*@4NSW-Kt8lVdC>NTz&ZKGdFx{uB8^S
zZ3&3Tiq~*%&+j29+5$tfzzy1|xxK$#fOnyA8oPG5DwQfHBE9Y``Z0on2T<~$EW(yK
zhn^K=$X$nRSbXari$?QXwy#>bHr6w^_FG?Fnns}bsYCD(vBjI+`0tdPPDW0XoUQc?
zLby-pZKNz9XScl{UD>`b{ZL+6odxa9V~<E)o~_D4%W%Ft@b-HAU&d>nck;#VaJ)Ih
z#UXNm&2=>F8#qe{j!X}^!U}2)R9DJNKB0GV^xeTxZ6!hjCTB%pP&`UVPaz@_p$$cf
zSpg8x%%N}q{z&hf)e42VDqij5w&8w4!Bf(@D&G6&DfrI{cdPJfZ03|VGa%mf>VBn4
z`$@|RZmmJ$;W6ZG5Ymm6@!NX9`nqj^s>|!ppI@7*^L1roJco%tbT&hCpyi5Bjn7*S
zK~_jOrq^xPF6c<6?yLNVUpMaY`Fd&}CZK|5oGwP9F7fM{t=ia(H^WL<wj%miTJZ;O
zGk}kMR~A<epc&Ha;t&9#D+ovmXriJ^XA>f{_znndUaaSnt<i`3iP%rqANrSrjfvp|
zF#5g(#f$l7e@+0&b>6PeL9gYuO&zZCi>ukP#B7MOl`wue(ZRPao_<{q6WO!oC`Vo8
zNfxFZMsN8<+(F}Ney(`ub%-7`9M`A6=mz{>4lBfW1U7wby2TWfxE)nbw#!}A%X~rv
zOV=w?uwOj<@KhP|3@^dDIzzg+RN-KtV4f3=Ku`z_kdpuadkGbYKuL6zQ`-rw$I+ME
zEG8&x>$6fAbe939<sJZ*{>ei!iSD~1leJxdr00}_KP=-R<_98}r;Z|SbXka?ZCnhK
z_V&Dk==D6@%5Ay*F|OvO%zeZmFVs(oW40NPQs;lKXx;VUg}rL*Z?efEfFG;pk-(Gf
z^y&eEiiif~;^|TytmU!!Lk%w;x6!VsOd2MZL_pt0YPUhxCldh>05%~80|d7F2a%6n
zHlN;<{)c5i|8Y~eMkcj3H&xI5yo;lCjMj<=q%+R_b&D5l?bH@|wi}Epa0t0cYHwu5
zi<O2B0DW3QlB2sz$I!V8KKe-RU1q)PNlo|p)?4Sg&L2^m;hlte6Ce+9-|3;ej?3bU
zxu<PKN8s37IXev{Fivjo>6JIB%uI8vBVH+(`xf8Jj8vbIaOVP+XC@OIeI^4iG&Mvr
z3xGaPcz`GoaHe}eg@Yo>xvF>T)~rD0`7(;KB8NX&D0i>sZ3*~O5t<`4iE=%lKHrcy
zS<TDRxo(tx!~zH--m3d|ft)YP1suGE>K46C_vo&Dxu38*rc}KqEVtYD8L7!-(LB5Q
zJD)ep`ejvO)yAH^T;L4?fboR}rF}PQoMl34q03=xRG<Ux7ODlO0A<yz2UmV;xUPjz
zjkMGVtk`-IDg`ol_1Sc*uj*HSw)stbI_cGsN}DltA2-hw6e>P=G`a@VB|#VOCN{Mg
z41F^uXOrF@>NM-FZP)7^tnS#~##KGtFBhHi?QnNoJHEMIrrP=-GEMXP-Q<=DUUd||
z0B+lz%(v72_3l2DV1k~X)9~9vdx-bj0V=upe_R*+AdgN+XK-Fug&JZ~c-YJ$MQlXN
zE+$a+#F9OPQvBmy2?-8Jnr7mOC#+Bqs{tq@Vvh|ECQF}mOT!ZV{43Sl;^K*tjn?vI
z+FESCsGpQlsqCRFbG@B1jHO@H<~5wj)In+N0kY3HiXLbR>Xyqr$hg%{?%8qa33Gma
z?ELoYJr0WSZRXFd>rYe4{-WqJA06cWWpg2&hyLi(;yjm^L*&{LS%tg+0@!&J&muMB
z6m*?A+5E2-;99|s1?>c}fCnykDbq|HdPZp4FbV>L2$g6aMLdYtyOs9HZCLFEXj}Fc
z&N~y>E*hi+E{b~`N1p)P&Spd?j^OU0RW%>1OuMmfH`8qqh$%~5SN8~_vBly2Zfe}2
zyLI%_;dDNkn!Hjxr)`MI3~czdpHph{PM!@<8{+Ei^LfVZImGG%hIzUfFnt++(Frqm
zK4ZlFEDe;>o+2?ED6;Q`rywa*X|@nZtxgZ6BV*w1Si(uI!z$pxgop}eD4tCXv^kOi
zjQ#a}VD-oPRaWX_u43a&4luF{>an^4BF0H(J+1#UZ43j9vdDdDl4<v2lhNnxv(ACy
z4hw|o`G00i-|M=#iJDD%lgxF^v9P(RBHBbag{JYcbxs%TKPX@c&^R8wQ^Jf**FG;7
zO<%SvLPYdFscB^g8mWT|S@WM8n89UohGVpO9FyS$=t(CWqh+8=8VW*TZNb6B+K@4z
z76t^61}1~?Y|p+m!R_jga@1SI$M%zReW>UA7<#B^1E6-UyK3ft{U-{N0K&P*1<}e3
z@)~s|=P$UJPWOIwK4bVdf1ZxE`)BXE7qz_nHcw+)aP4mI4LI&v4rTA@y84N~h{sjX
z3DWJK?h|$CGutBUOG|~4hUwa4g6V-ekWhTF&2#qNac!?oREZE~2wLJ~&9&ESWCLL&
zdagext|P3>l4UX|f@*BwD;XHTy5PL<8|Kf8aQtm=8%H{156_*i^*~7t?|BtPw}O*X
z|AMIP_PMKI4mO3qdcyP?&vx;S7LdXf_=$U_Bet(+xq!3#6%EI5`@_+G;CsCk0DXK>
z@kCVa@F=xyqQ*ywhC|(!be~@BCo9f_y*R%rXT1BX>CK*i0djS@EBY%M3mKZ%TF`^9
zeQtb4#Y!wl&}vQ7H1&$}EIbwO)xaY%kodyDP)M1LBL<k~E!ImNAYKXt@(Fj)1Obmb
z%s5R*vG{>~m$_K3Squ@ZHN-1;X#6AOjkYnsW2f5BK|Za^*rLp!#VyuLrC$&D@d{7*
zcKR!jVOkhWUt(rI^4cLE8ZCa5m=!nvTBJ3Z814?Xvw|b>Hb)3p8b8-)0?45hP$@q3
zlL!Dbs-6|{(foXNhHXp74Jchaiv|R25dpj@X467I5NWU3!jIQ*9-rHXThT+N)~NN<
zBRmz{<SoWvQ&m)*Ata_tw?A{d`TyR^WC&6U1ADZ0BR0cO7~JHgrRCF?e>FG#x!;+C
z*JZe_BM{fdm782&G3=UWA4mV8-ApgKb-aN80WY*)ypi7W@9LMonsr-x2<Qzdj=yAR
z(>;!$UBOWDz0suL)GfTvjxPz^{8AX&9qW1aX2loQ`!q5D)TXGP%*c-v5ddI>0x&V0
z?;*g24!;o?xcX}|P+GKYqB)wAQ7T{aRM$QCL&>>3Y+fIYe{&yM8(ydFer>0soauvG
z`SAYyR~R9`t_xV^i4LdehE&`%g}jwj?#>V2ttP||A}@O@+oN&)sK1|Qde+r;x0N=z
zvpJb=xaRKWkkRxq>gAn^?as<!RO!`1p4eJLTI+Lc4C(X(ob`tygX-JjfJ(KlgqF}_
zfCsILssLQ}gaK%38?XYT`@6dT8rMf^5aD7dMehZ_KYe!w`v9rTPF|G$LCQs;dRWg`
z;UIC(sOsp$_Uk=2ltOu9z(>CQC~)bun-_fG>x-!iaM=oB%wrusVvA*R#OjN(u6Z%H
zetuDJY(LU*@#nD_1MTy#70eNVm%)1sOFjL!;H78PMxuljN4y=U4uwoSY71Kh_8&WB
zZy&cx?ZnprZLHf7GKxheMZu|w0!Owe0>GqG82;{`{-x}~p5@E<Y7mev$Kj!IGmQUs
z-rdy8Fi@kZQ=~;JC^akq5)8ft$X>r^;C7m1)=XiuU*^2npP#;$;~Tkuy;YZBb>A<d
z*7ji=?YqMl{?!p&{Y)P=4_ERHyWkxhHqEH@)Ve0~wO)W`V0iHTL(IXv+qZ^NI`w5U
zC%p{V|C7MH=BzxcmePP74bWoh!B5$CMUs%|M;2~(cn=at0g!+Ks2Yn}BJhCr;UE7l
z;VQJ765;i34rsIIHyZqTaM7)9^x^I88DH~_X2Cs&K4J)Rc|Lcsobhr3DnW^~D}^>t
z%PT@qrjYW*vDpR3!MC+@P0ZlRSkKMNc!{`szTo*;3Z2Yt*gyWdxxZ!C`GXlv6T+Cg
z8b0Kg&`CRoS$E*_mqB%wsl*^-O+8g`c5~3+XPHnecN(DR;OAW)P>pB;n+;(iqmnoq
zP+?$HLd+Df%a1<|KYisqOuVmkqv6Jl17&emkJLCE;L%yW2>W1`J$&r!IY8}QqLa1j
znTgqNVJ<h$LitU89Q(HpyTNA1&-m(bZMo(K6pH5tu6vuFoxh&Wi$%JTD$|?$(Z>0F
zu;0(!n0q%)<2=H2PK!0xzuR%X-ngaci5PlgUo--M5!+zah=Y<mGk4{+XZ>p4cA?P*
zcL8=s9HJ_K11*FC<HV+_0a*bNtRUI>$3O1NZqdNcaco>(TM?d(Pk29;-46pA+V!md
zp^dBqEwFi7O(#HUODlpZB1bq^o^nbKZqFGma`<cZZokb6jBP@n+r%uHX+(d{?(+;V
zz1#-};pb4Uh;-MxAx&}Y1pJwHtJvR<Z(TRe6m~gUzJW=vDf*^jnW-%3j-GuXsobLP
zIM?cOcgYFt2qnh^{^L5mRnMXxTvfuxLyiWR%#13?OaV}7lF#?YmtD=GhwhYa)t5+8
zx8V$$J85Z;!)=(@ps>%Dg{E-k7zNjI`?0|x*Zw}A0?YCa{XI@&{@l6MPu|~t4F1<V
z#>a3@p2TmQL-NVyy8V8PNLf<<l===L-UuuyZHwngFi>Q1ERCj@>tkfe5I=i4l#ua4
z*I!1apa%3TO|fz?7IPqs@GJ}SAOMushb3qv07I{V5dn}4fY5ZJPOWHY)nxeNPwy%A
zusLBr*kPRoBtTWiw8#~^A7(PWr;u~^sjCZ4e~AMv$2sJU)>~VYmJoa^t8KVw?569{
zU6o$<Yv&Vy@!>YK?B5^k5vi_>fC~=|EY5ACw`YaqXK3fk_2J#e=<mb*2&a6d#H@CG
zgB8imVB=dHH5C0)2+DaRr#@)I^9Iri&QE<LFyGZ*Wbz~NESkwOqHlpRka_V+NW~)*
z@S;FEpc>%s(?OgOT<V#y6|mcrtftx)@1dkQ<(T5wu0h{eX%c)V4=SxaoOcVBAMjwe
z-*U+AO!X`M?1Cfr@LOy!rZnB)@oN8ZmifA6d+h-Ro!aC&toZ#7)OYb|g0_&d-h;h`
z`7Olmu;hnr^mo1FHbo4bwnc=%20{2GNi)+9fI0`3*)w=D69RGa@?WI&l*zY=4aiJQ
zO~3#&Ga4!zL^u)=u_t4|XkY%re^6{%_+{IjcXNQ`PtkR5hSr)<<<K|x!)=!#0a$aQ
zH|N;{fz$$-g5KRuAE(hd#9<u|bZ{`-v!9p8Z9e_m{N@(H4_j-K$B`G_%lS07N=0NY
zQVSe@#TVhSxjza{TI|+Oytn*XbN{uQ1;!gOo+|;t%-?)}B>uY#U`|@Lhk2U{SFoH&
z($vQ~lEij`P74<T00;_5ObU>_AXi{kfT>k3LoEV$8UFUjw|1<BF=aa~tCUJDbl7+w
zBy$;su@BHP*z^jQGI7S!ZX7qEO)tHzgYGx2(rzMmCGDXZ+)l?Pk9zL<Z>h{y@XnWx
z=Pr6na^maIjD^|k+W#r~<|{Pz?P%KjQ-AiB_$>UtzXrM}S}P>n^6SfVo*VWWTeZS8
zPv(yVEXuf(E|x3_jRxqcAc281KxOm=fB-vG(^AOP02F`-08p?@KmB+AvF>nn_ZzlV
zXw&+!oqp00%z;O@>8ClK>poR5vps8fWcJ;DJKbjwDegwno;d$lCAf#pdVXF$_|qj!
zTyoOm8*PYde7zlFDo2aNN3rr)v7<E|v=jJ{{VfL6EgTzSy6^uu1t@>|)$F<wQ-IsC
z<0-h6p6bK4%g`$57n9Qv$yUN^g|D_D1)jM~`8ah@q11w+s**f`cmPxnkfcLk@hXly
zlAkKDzkC1xJS}m59mP_MdeFDi+uU|A`%WHXl10Cr-QGC|zFm3m5bG1QK(RS|>OVC2
zWqh+OZFcn!dD)$QH{S5cBSpEtJrR5|JpCw~`D5PX1;pyKwfZn+e^*M+VR@~#SWBtP
zHnqBn+~b~a*z&wir4_Bm>`z*ja7#ksH8jY~x1_8SNNGcp6=O_!3Of0=)CCfmZ#(rZ
zsVbm~Cv1dW5d{PVDu%`g8k8ovyHlq^g)+Wdy1BjE!30NPA>}Cf@U{=EQ@58(XTxCp
z7qi6#q3NdUm9-OP*puTvEaulgu21p%(Q6DerV0&Z&jjA@wnJO}1@3*w^JTZ9of?dt
zyBDnF4+lOz%C*mZ>4KEMd|Uki;=Sem%1ZSYM<2cX1Hq#LziWBva!n1R`#fG&xlwN(
zao&Pz5i4k5&Vz6?PY@s@IUxc@4Pyrg;I$}ssTh*&&p*Czfo};cem_m0(67MH>NbT2
zUsakuH_r{(iBGUG-PV%%KDXe#O!KXY_22*iKi6w<?MFWvYj4}pZm06Dm+)Ne>gg=b
z=I?NPv&N@9_JO|1_^7SzkFR$M-?{1XXqiv#y&qq^k#4mN*l4U^4$!u;BASCgT~gNE
zk!}~7mRSC@EV(|k?_!F?M(Du{mI(<l0V8TAhGYze;;Dw@g^Cv-17M07AlJwLaT@M>
zEvMY$@3JcWMxNmLOtAB@6!qp$tQ`SAQ2Iq}FWAr8^p&#TpWeBD3GSMXTTWMhqKkyf
zJg~;vw#wm0vC?SCXzips?%N#HD*ds_Q=rlVV>=Dtf5|2NB2k!zztT!C3~Ur|T3U5*
z@=iSvHYMNWB;RXJ8O7U)yic1}JnuVg21TpL%494>EePmjs3b)Jz<e$UJW}=;EouS6
zi41^m#>Zj01ASZw=_E~hjtxHU()A}tmtoJR0C}agHaN5r>Z-|?=2%<`e^>{Fm)SLw
z{nW<8zdj#moI5M^ZoKRv7)bDnAr@ZO7wOgg4LIMd`bFUctKUh|(3Lj+96Fe{-sfAG
z`smx=9*7tQzaQa-ZVG4^fEBr{kRHea;>t7P#;#3TdF;lWB6)Q}0HWyCBNP+_Pe4SH
z0Wg3FVue{<krDv110=JP;q?AK0WXaxtWNxX<1M>x-xQBPh(l=toZxxsc867>2V!+K
zPy26_4qSqJP~Xego{dA^YQY*EMR-rE{y19Ar|-w|>N1%fAXlo17Up^L_kLqzv1UD}
zb|E?Npbn<H<}3Me*!F5hS#&<HGo*p1$QMH+qiEBq>&l@u=c#3Z0Vgd8tYFAi8iis)
zQ9&Vh5CFLlFhDmG(3vw8nuy4N!ILq==R27|3!azKAI)En5}Y~b)8iI_FN&={#Nje>
zGSqmn^R9pQfZOHy5ALj!GmGv-xE7=3qTM(%{s05p&IM?9nYQgASZn{&!+I|OP^M<i
zfyJ=AseO-+8%%p2_TzK$|Ms5vsQh|e7V7?m%OY-pT%Bg_qV^_0bee2&AGDPTW<e}Q
zXzE3o43NMRg0uj(8?`h5Q~*5{YbHP=1wfMmr3FwGFF1VuxZg*C`BoC*x?$IKgOP?~
z1Xv)P_iszr-dV??I}k*rwDs-bwsHNfn*!R`Wg>1{1gj%TS@ktv=_%8cK4>Y}36ih+
z^Dc_CaM+mqVWLPiCHXr6aE+3Ly1Nfgc*SgH&jI{ICl$;*Zo~zKxf@aQ4lvVYGxE?P
z7=#JYJVRz88A+88fl7l6na~hKrNW#mL#t>Q1<|9Kol8NYLd4F_=l>pBnm6r)IjtTu
zASyAK;avpm=4Iinx~9R_r6-&br;n@qt=l&(>D8w$luXV1<>y3Tu`vnTXFrgFR<9Nh
zjP>xFY91-V6#v;9o@lORRoZR&E#y^b1=~Mf*Tug-VVyPkJmGKM202;wrBqKk<!&JQ
zz|t$*AUZK-2c)C`RyxScLZ}9$1S)9YK@t(GSW~Qc1yEH2G<M3~tN=mT7+|@)fBb3S
z^^8o9To!mW2kA<y>j}8U;-T-xygwPuHGPlusjGZ&zUKGzutxQz%xk5HRc4*yX)GSd
zqV!zTWjD^p;E-|__l3p7>NgQ5bYvd_PkY#d$e+h+dam|Xv9V$SOf$iG<8HDR8b?nG
z7?Ae03ox&MviZ;)J2M0W7>g+okrmTc(1Vg75EZZ$cSr!42s#KtfLenBfKS!YC&CHP
ze;DpQ;C8anLzAL}7KOhXPe_&lt(lHj)K{yxc`{#u2Mq3qugm^FxA4c2x+KGO!+$87
z+=kiHl*Pu(7}jotZt0Q3WD9S7R+#PNr8|LN1x*6*y0g_{GfygbU30(yb#904L0O<}
z0~z=XF2xh`7L!To40;e!QC0(Wz(i(607?CXs_2mlsF0}15k!G06I`?yfKgEeMn*F$
z#=y|H`cFUoJprKCCc9K8o^sQdsTed52lrN6*_5%t^`C@>41wG~pB-)ftNnQ0AMD&3
zXCvO!)3R*TvBo#Crj?hwlLg6BdF5Ak>R<ZxVCy!6qzjB)c|G|fUE12XbL-rj?wRbA
zy;*95j+8pJua>-oSf_e7dS|Ul%gE(~{$l8r8($3>h`d(-Fo9A81sD`sAoLND)B_@W
zVJ`*9NEB7d8&Ar91O^_?_xt!YG62Tx3%!Wg%x&<C;JKjIVr@VJJ?^@az}bA$`scra
z^IZwAAsyD8eyo@~JG^QP_WJ}br5*di?X<W(pPQAzw>ja2z}C2(UpFrI6;@4d+b&{y
z|0*t_u&W-+#p`UvgQ#|~AI6b~6|sM~cuCY~zb>(4Sb-=Y7&4SxtN^eFZ=AXS1Zslh
zN;LpfVO5^6Wdkk@gxnnkaoQ74RFLZ3KmL!O%yktQ&$Ll7HW;7{cPSgvx%+ug>${<a
z>EOPnk3P$XSnLP4FVRPDtzvU5xGb*SqV&x%v@JD<6xRScuIF*mHYS0#>3@Q`IR4J3
ze)?+e^67pl{dhYvt)t5v#vB4k@z32(pQgFC9w1<+t-rP`G-y{wMgc?uL{mT&BqT**
z0D=r)Y@}j<CJeyp5eg8n2M?g+lfDpu)&K-RfN1#X9uAas#Gfnu)K@^P=g~8<!(DDH
zoX_=T-aH34!@K{;IsvU(#r4>V^5&^B`fv6UWNhOdP<ZbZ6U{jEP&;6^o_uuh`6#y^
z)JnzaMM~TpkX+b4Hm93`k^+0~I&4Nx$)B^k=sNlwZO{WNPmRnKuokNxiW!=!c_1bt
zLul1N7*MiOCWr=vC<H>PNXc6+3e^lUhKm7%mBI#ERJh9T?+)%w3-wt0ee`rYC<Nu9
z-o32Gi?-l;9JeQT>M#nvPPgUGxA0t5A^pWeyX#it70}RW7%wLSY;SOq_P&QFzImSd
zQV*22v)ia6$W({bx8C1hx}V4ELa!peQD4d)$Ev8?=eN(&8N)2Q(wh~Dracq%rr#^7
ztdXUVM^Fm{mDC#un;{UJvXIQ)lmL7YTo1}6liG{{jTnf$nKO?@Yz&5~_3n@VgWvs7
z%8pvi_Tn0gKWpo9it|)x0-|Mg8@OkvUvPf~+1o|2HFR8yi90jJ_c(Ta#e56bL%_Dv
zCTZHvqKl=prSq#d6}vfK?ZQ74h|hQ<VS2yn(~*P}jMYN?5I!{TvMV&HP%WYjq;h`^
z=>P=~jMRj@=!8}hLQz0r5(i>H2804u5GCZ65K1JPybs03>=i7RJOV4RIv^nLEY!fm
z<NxdZzUxPKM_u-lFWu^|Gkkk7kv6AQ-W)&m4)*2J_PUZo;5vlucrN*R?d8DBSCcjw
zCQ<_a$IDYMa5j5k10_1ybZt=&kCtc3TYiq8f4H-84UX?$Zx4(0Sa|}^T(039qIF{g
zzp|Hm5bnGA@G{^TuGbi|5g>Rh2n-U4#TdaT74|a`SgQq%z?Tl8p3J~y1mvvbJtzQp
z+mQ&NcoRS=0L39tBaioY`!l3-(PdFzRO))}@;Q`W{e8&Y^`jf<-7JUxo3ggt&Xe!K
zY)luI`GW(w2L5WVn&vo8mIq`mw|~RtLb1W&62Tcvv$PM>s^$Am^FGk$wx-{DC=pyv
z-LU8O5oZH~JzdziHNW+hn6d=Wi4Y7OctI#_24GP2tVB?(lmg%{1`6O6j`6|<O%$aZ
z3KZl*p%BbOKtlm0ApkHV6>!cc`C}gXSt4m@^Y;RZ9dY%GPOyVpH?;#T*NLO8zI`m~
zucjRi))x$-HQ)wTXZQHB1S(yi`rxPG9sth1hu@c#U5iY%hG|n2*37TB8)%QR4S(vW
zsDZbc2oo5{<TT8<D^7Ga%Gi`Oi>v_z)SDri@}#B&V3?4ksyFFW1jG?5fH(BYUQIkk
z2w(tP$fPWQDC9M_2*gxC1qeC?wCTs+AA2kQr17a)I0I+JVHl^=G&ujED>+lC`Un6b
zW#VeB^9|$>4s8ur&h)cqTK~gsspFm&S^X5E!?w!K$a(}A8bEl6pt}FuaKxee-+?y}
zW<Pq}wXCqPoq&!gjS`HZt{RY$L5&<EfOzyC2z>%UWteRa$U$3%63qb%AW1P*0xo8`
zK_(ec71e9<?2svWLA9s`9;&zq$f5rEzyJMH*U5P*7vOQ0cBpEh-nNb~U&e?AK=Zbr
z{q{P)D|J$t5Xk_PZB$ix_Vv*I^1p_FTd(arPv|3{e%kuuidyZzO^w>%tW8lyQ|$$a
z6O=a;(~yEBNYd1c)j7!Msn~G=zB@qy(}chZfJ7#w<h`1;3L-^400N|{$Q2L~7?JA<
z;3Ou3!T><pV**gH0=23Tnr3z)9jGm^4*$QuA6&cW#kY0I8mo7pP#wiA5v@9Gqk19p
zyx)=a^WvTEp`0vfx4kXz?%cbnPPx~0Mvi%~=>l*!-#q(jq6d31M)|b#?Q?F9{@3+#
zz4Okzl=nrAYzz#f#8`?q78obME9Puk6es{0Kruy8L{j$P$4&u>1;7Bv0VHH^$f_#b
zjFCv8XEyadcQ65XfffiOG6Qo!02o=Y0&;qMKWO)Dj*q1IB6G34J&5~Hmv{{mqp%IF
zY{vWt97N~Z>6Z@Hpfm&RG0LsbO1h+$<EQTI$*ouaFmJaoeY`EoZ_URsHm@!Z-`aLv
zrrhs$59VLV+7Y&=wj(u+D+>(^o`{=;*b$150+YcoBLEoyM)d{K46sH(ub_seL}oys
zsujosq6e#nV4_H+fGT4%Mi5_ANesZ1ftVnZA_2A?{qd*2eb_zKuRCKW>n7xzXV<BD
z5@n)U&s-{Dr5Sud7$ZHy1hoEO8Iv!iw)^cg8tkyN&^*k|uYUe~3eGoev7~+*ZjXom
z`g&bTmsW?(qDwZs#;|WD-yKUWtxPLb3uU=d4lIzo33rkJxB)ULtca5unxO)CUr0fX
z5!Db8j67$Xp-yF;iz7xNGEW_t1_uNHs4!82GEJ>iBr#~z1EBV4`aFDg9lx@$;CZ;u
z=63C@hBl^yc6dh8@Bgs!C))|R!RC5vSl&`R!|IJ_cu^wwTn}*OCd%??d>J?Sfj1|f
zTDRA2EcesC9ac0g?q7$Jr-Y^$S;@j<*jrh(#e;dG<2FQCnIFL`FlZq}0B<c3v_`Co
z>WdMfK{97Xnb8?(_3cUv19{T|psEVWV3vu{SfB**!~iH0b5o!+mZ!p`!;g<Y-jm%~
zCft6!b@E?T$+zIan#>=7(649PlzVPAe=AMI_A}yqnd9UAK-vL$_0qK{PrkDIzQrnK
zohz53z*Fw)^Q(84Lg!W5^6k9FcDgMgeISJ()J|utoSv=OpF3ATCn!WM%%<Ly&5Npc
zK%!p3XH-*EuSRH4pfi&ZkWeQso^k;*Fd{3^sVI0IJ%h3>CLN)I^J<7#YT<?^LQGWe
z@8ADowHYAsR-7!P=zy^99NQ}|i{qxTDQA`aU;n~G5;P^>hE#4%isj^#7n4;U2;%%P
zv>r$o)xwaVA56P!;%xlR7kT-cnL{id0(Hipwnx9XHBIfBpIQ)|grj&Xi412T5KyF2
z1cga06!J(x*-+Rg4x#`QJfL_LQV1ec1Q>t`0RoHB(X2O`fQgx#F=9dst%|z^nASj<
zE<gQu6aJOHIo%{Tk1lv)d6@~t?^kD5o|xD#kZ!W-_|{$g)1Na&5Ay9vgBean(Q`Y0
z=Jhl@egB`<nQ#v4d<bwIhQDu@Yj6{h_B0(xLQ(dm4I_Y*1~n!F!qPFRBSi8_LWX1o
z2)vmYM1-OSpa@ogsxo9K2s9yxDud@@g~dYwMP*rI_82M|Kq=4)i7IfZB&4uKI&kHY
zF{)DcPygX=a{dTzGj)4%){OlbX0O6f&i~sbMq<=qf%TGPl?5i&lY>>=p3bczoyOy<
z+=Kz~+JM%Ozw64+@4P$R%eI;2>7CAVdqyg84tvwvVj|>mqY&tf<t9mESgK?Ja|qNF
zRqzTkG9jg-F>DOIsR#BjGpko`Dzlgc@?o63!pI1a2q3jbL*%sZrrrSnC@2V2WY3~S
zp;|%nKoDk#^7--qu5EP3=S1w%UryFSh2C^IyJ<cv=^Bc!Ey@M@u063$Q>z=K*Ho6J
zPJGwUtYEnxuTB%3{CJt7b#S5p*HR}8*q4^BG`&;J`$$Udq*|0tp&TK<I0gw{3Xyt~
zLTHSh(VN0Fw`&#1y#X6%fjJ9!Vk`_Em`j0D9VG9O5F!G31@$1Mf(y9<0TD(IwWzjx
q2J<5;i9^$FT<Qpdm!E!o{Qm=%tM24J9}?mK0000<MNUMnLSTZEQZ(KG

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/js/extra-options.js b/app/design/frontend/magento_plushe/js/extra-options.js
new file mode 100644
index 00000000000..b7256ba4fef
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/extra-options.js
@@ -0,0 +1,59 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    gift options
+ * @package     mage
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint jquery:true*/
+(function($) {
+    "use strict";
+    $.widget('mage.extraOptions', {
+        options: {
+            events: 'billingSave shippingSave',
+            additionalContainer: '#onepage-checkout-shipping-method-additional-load'
+        },
+
+        /**
+         * Set up event handler for requesting any additional extra options from the backend.
+         * @private
+         */
+        _create: function() {
+            this.element.on(this.options.events, $.proxy(this._addExtraOptions, this));
+        },
+
+        /**
+         * Fetch the extra options using an Ajax call. Extra options include Gift Receipt and
+         * Printed Card.
+         * @private
+         */
+        _addExtraOptions: function() {
+            $.ajax({
+                url: this.options.additionalUrl,
+                context: this,
+                type: 'post',
+                async: false,
+                success: function(response) {
+                    $(this.options.additionalContainer).html(response).trigger('contentUpdated');
+                }
+            });
+        }
+    });
+})(jQuery);
diff --git a/app/design/frontend/magento_plushe/js/head.js b/app/design/frontend/magento_plushe/js/head.js
new file mode 100644
index 00000000000..ba5d3d10a6d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/head.js
@@ -0,0 +1,356 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+(function (a, w) {
+    function f(a) {
+        p[p.length] = a
+    }
+
+    function m(a) {
+        q.className = q.className.replace(RegExp("\\b" + a + "\\b"), "")
+    }
+
+    function k(a, d) {
+        for (var b = 0, c = a.length; b < c; b++)d.call(a, a[b], b)
+    }
+
+    function s() {
+        q.className = q.className.replace(/ (w-|eq-|gt-|gte-|lt-|lte-|portrait|no-portrait|landscape|no-landscape)\d+/g, "");
+        var b = a.innerWidth || q.clientWidth, d = a.outerWidth || a.screen.width;
+        h.screen.innerWidth = b;
+        h.screen.outerWidth = d;
+        f("w-" + b);
+        k(c.screens, function (a) {
+            b > a ? (c.screensCss.gt && f("gt-" + a), c.screensCss.gte && f("gte-" +
+                a)) : b < a ? (c.screensCss.lt && f("lt-" + a), c.screensCss.lte && f("lte-" + a)) : b === a && (c.screensCss.lte && f("lte-" + a), c.screensCss.eq && f("e-q" + a), c.screensCss.gte && f("gte-" + a))
+        });
+        var d = a.innerHeight || q.clientHeight, g = a.outerHeight || a.screen.height;
+        h.screen.innerHeight = d;
+        h.screen.outerHeight = g;
+        h.feature("portrait", d > b);
+        h.feature("landscape", d < b)
+    }
+
+    function r() {
+        a.clearTimeout(u);
+        u = a.setTimeout(s, 100)
+    }
+
+    var n = a.document, g = a.navigator, t = a.location, q = n.documentElement, p = [], c = {screens:[240, 320, 480, 640, 768, 800, 1024, 1280,
+        1440, 1680, 1920], screensCss:{gt:!0, gte:!1, lt:!0, lte:!1, eq:!1}, browsers:[
+        {ie:{min:6, max:10}}
+    ], browserCss:{gt:!0, gte:!1, lt:!0, lte:!1, eq:!0}, section:"-section", page:"-page", head:"head"};
+    if (a.head_conf)for (var b in a.head_conf)a.head_conf[b] !== w && (c[b] = a.head_conf[b]);
+    var h = a[c.head] = function () {
+        h.ready.apply(null, arguments)
+    };
+    h.feature = function (a, b, c) {
+        if (!a)return q.className += " " + p.join(" "), p = [], h;
+        "[object Function]" === Object.prototype.toString.call(b) && (b = b.call());
+        f((b ? "" : "no-") + a);
+        h[a] = !!b;
+        c || (m("no-" +
+            a), m(a), h.feature());
+        return h
+    };
+    h.feature("js", !0);
+    b = g.userAgent.toLowerCase();
+    g = /mobile|midp/.test(b);
+    h.feature("mobile", g, !0);
+    h.feature("desktop", !g, !0);
+    b = /(chrome|firefox)[ \/]([\w.]+)/.exec(b) || /(iphone|ipad|ipod)(?:.*version)?[ \/]([\w.]+)/.exec(b) || /(android)(?:.*version)?[ \/]([\w.]+)/.exec(b) || /(webkit|opera)(?:.*version)?[ \/]([\w.]+)/.exec(b) || /(msie) ([\w.]+)/.exec(b) || [];
+    g = b[1];
+    b = parseFloat(b[2]);
+    switch (g) {
+        case "msie":
+            g = "ie";
+            b = n.documentMode || b;
+            break;
+        case "firefox":
+            g = "ff";
+            break;
+        case "ipod":
+        case "ipad":
+        case "iphone":
+            g =
+                "ios";
+            break;
+        case "webkit":
+            g = "safari"
+    }
+    h.browser = {name:g, version:b};
+    h.browser[g] = !0;
+    for (var v = 0, x = c.browsers.length; v < x; v++)for (var i in c.browsers[v])if (g === i) {
+        f(i);
+        for (var A = c.browsers[v][i].max, l = c.browsers[v][i].min; l <= A; l++)b > l ? (c.browserCss.gt && f("gt-" + i + l), c.browserCss.gte && f("gte-" + i + l)) : b < l ? (c.browserCss.lt && f("lt-" + i + l), c.browserCss.lte && f("lte-" + i + l)) : b === l && (c.browserCss.lte && f("lte-" + i + l), c.browserCss.eq && f("eq-" + i + l), c.browserCss.gte && f("gte-" + i + l))
+    } else f("no-" + i);
+    "ie" === g && 9 > b && k("abbr article aside audio canvas details figcaption figure footer header hgroup mark meter nav output progress section summary time video".split(" "),
+        function (a) {
+            n.createElement(a)
+        });
+    k(t.pathname.split("/"), function (a, b) {
+        if (2 < this.length && this[b + 1] !== w)b && f(this.slice(1, b + 1).join("-").toLowerCase() + c.section); else {
+            var g = a || "index", h = g.indexOf(".");
+            0 < h && (g = g.substring(0, h));
+            q.id = g.toLowerCase() + c.page;
+            b || f("root" + c.section)
+        }
+    });
+    h.screen = {height:a.screen.height, width:a.screen.width};
+    s();
+    var u = 0;
+    a.addEventListener ? a.addEventListener("resize", r, !1) : a.attachEvent("onresize", r)
+})(window);
+(function (a, w) {
+    function f(a) {
+        var f = a.charAt(0).toUpperCase() + a.substr(1), a = (a + " " + r.join(f + " ") + f).split(" "), c;
+        a:{
+            for (c in a)if (k[a[c]] !== w) {
+                c = !0;
+                break a
+            }
+            c = !1
+        }
+        return!!c
+    }
+
+    var m = a.document.createElement("i"), k = m.style, s = " -o- -moz- -ms- -webkit- -khtml- ".split(" "), r = ["Webkit", "Moz", "O", "ms", "Khtml"], n = a[a.head_conf && a.head_conf.head || "head"], g = {gradient:function () {
+        k.cssText = ("background-image:" + s.join("gradient(linear,left top,right bottom,from(#9f9),to(#fff));background-image:") + s.join("linear-gradient(left top,#eee,#fff);background-image:")).slice(0,
+            -17);
+        return!!k.backgroundImage
+    }, rgba:function () {
+        k.cssText = "background-color:rgba(0,0,0,0.5)";
+        return!!k.backgroundColor
+    }, opacity:function () {
+        return"" === m.style.opacity
+    }, textshadow:function () {
+        return"" === k.textShadow
+    }, multiplebgs:function () {
+        k.cssText = "background:url(//:),url(//:),red url(//:)";
+        return/(url\s*\(.*?){3}/.test(k.background)
+    }, boxshadow:function () {
+        return f("boxShadow")
+    }, borderimage:function () {
+        return f("borderImage")
+    }, borderradius:function () {
+        return f("borderRadius")
+    }, cssreflections:function () {
+        return f("boxReflect")
+    },
+        csstransforms:function () {
+            return f("transform")
+        }, csstransitions:function () {
+            return f("transition")
+        }, touch:function () {
+            return"ontouchstart"in a
+        }, retina:function () {
+            return 1 < a.devicePixelRatio
+        }, fontface:function () {
+            var a = n.browser.version;
+            switch (n.browser.name) {
+                case "ie":
+                    return 9 <= a;
+                case "chrome":
+                    return 13 <= a;
+                case "ff":
+                    return 6 <= a;
+                case "ios":
+                    return 5 <= a;
+                case "android":
+                    return!1;
+                case "webkit":
+                    return 5.1 <= a;
+                case "opera":
+                    return 10 <= a;
+                default:
+                    return!1
+            }
+        }}, t;
+    for (t in g)g[t] && n.feature(t, g[t].call(), !0);
+    n.feature()
+})(window);
+(function (a, w) {
+    function f() {
+    }
+
+    function m(j, a) {
+        if (j) {
+            "object" === typeof j && (j = [].slice.call(j));
+            for (var b = 0, c = j.length; b < c; b++)a.call(j, j[b], b)
+        }
+    }
+
+    function k(a, b) {
+        var e = Object.prototype.toString.call(b).slice(8, -1);
+        return b !== w && null !== b && e === a
+    }
+
+    function s(a) {
+        return k("Function", a)
+    }
+
+    function r(a) {
+        a = a || f;
+        a._done || (a(), a._done = 1)
+    }
+
+    function n(a) {
+        var b = {};
+        if ("object" === typeof a)for (var e in a)a[e] && (b = {name:e, url:a[e]}); else b = a.split("/"), b = b[b.length - 1], e = b.indexOf("?"), b = {name:-1 !== e ? b.substring(0, e) : b, url:a};
+        return(a = i[b.name]) && a.url === b.url ? a : i[b.name] = b
+    }
+
+    function g(a) {
+        var a = a || i, b;
+        for (b in a)if (a.hasOwnProperty(b) && a[b].state !== y)return!1;
+        return!0
+    }
+
+    function t(a, b) {
+        b = b || f;
+        a.state === y ? b() : a.state === D ? d.ready(a.name, b) : a.state === C ? a.onpreload.push(function () {
+            t(a, b)
+        }) : (a.state = D, q(a, function () {
+            a.state = y;
+            b();
+            m(x[a.name], function (a) {
+                r(a)
+            });
+            u && g() && m(x.ALL, function (a) {
+                r(a)
+            })
+        }))
+    }
+
+    function q(j, c) {
+        var c = c || f, e;
+        /\.css[^\.]*$/.test(j.url) ? (e = b.createElement("link"), e.type = "text/" + (j.type || "css"), e.rel = "stylesheet",
+            e.href = j.url) : (e = b.createElement("script"), e.type = "text/" + (j.type || "javascript"), e.src = j.url);
+        e.onload = e.onreadystatechange = function (j) {
+            j = j || a.event;
+            if ("load" === j.type || /loaded|complete/.test(e.readyState) && (!b.documentMode || 9 > b.documentMode))e.onload = e.onreadystatechange = e.onerror = null, c()
+        };
+        e.onerror = function () {
+            e.onload = e.onreadystatechange = e.onerror = null;
+            c()
+        };
+        e.async = !1;
+        e.defer = !1;
+        var d = b.head || b.getElementsByTagName("head")[0];
+        d.insertBefore(e, d.lastChild)
+    }
+
+    function p() {
+        b.body ? u || (u = !0, m(h, function (a) {
+            r(a)
+        })) :
+            (a.clearTimeout(d.readyTimeout), d.readyTimeout = a.setTimeout(p, 50))
+    }
+
+    function c() {
+        b.addEventListener ? (b.removeEventListener("DOMContentLoaded", c, !1), p()) : "complete" === b.readyState && (b.detachEvent("onreadystatechange", c), p())
+    }
+
+    var b = a.document, h = [], v = [], x = {}, i = {}, A = "async"in b.createElement("script") || "MozAppearance"in b.documentElement.style || a.opera, l, u, B = a.head_conf && a.head_conf.head || "head", d = a[B] = a[B] || function () {
+        d.ready.apply(null, arguments)
+    }, C = 1, D = 3, y = 4;
+    d.load = A ? function () {
+        var a = arguments, b = a[a.length -
+            1], e = {};
+        s(b) || (b = null);
+        m(a, function (c, d) {
+            c !== b && (c = n(c), e[c.name] = c, t(c, b && d === a.length - 2 ? function () {
+                g(e) && r(b)
+            } : null))
+        });
+        return d
+    } : function () {
+        var a = arguments, b = [].slice.call(a, 1), c = b[0];
+        if (!l)return v.push(function () {
+            d.load.apply(null, a)
+        }), d;
+        c ? (m(b, function (a) {
+            if (!s(a)) {
+                var b = n(a);
+                b.state === w && (b.state = C, b.onpreload = [], q({url:b.url, type:"cache"}, function () {
+                    b.state = 2;
+                    m(b.onpreload, function (a) {
+                        a.call()
+                    })
+                }))
+            }
+        }), t(n(a[0]), s(c) ? c : function () {
+            d.load.apply(null, b)
+        })) : t(n(a[0]));
+        return d
+    };
+    d.js = d.load;
+    d.test =
+        function (a, b, c, g) {
+            a = "object" === typeof a ? a : {test:a, success:b ? k("Array", b) ? b : [b] : !1, failure:c ? k("Array", c) ? c : [c] : !1, callback:g || f};
+            (b = !!a.test) && a.success ? (a.success.push(a.callback), d.load.apply(null, a.success)) : !b && a.failure ? (a.failure.push(a.callback), d.load.apply(null, a.failure)) : g();
+            return d
+        };
+    d.ready = function (a, c) {
+        if (a === b)return u ? r(c) : h.push(c), d;
+        s(a) && (c = a, a = "ALL");
+        if ("string" !== typeof a || !s(c))return d;
+        var e = i[a];
+        if (e && e.state === y || "ALL" === a && g() && u)return r(c), d;
+        (e = x[a]) ? e.push(c) : x[a] = [c];
+        return d
+    };
+    d.ready(b, function () {
+        g() && m(x.ALL, function (a) {
+            r(a)
+        });
+        d.feature && d.feature("domloaded", !0)
+    });
+    if ("complete" === b.readyState)p(); else if (b.addEventListener)b.addEventListener("DOMContentLoaded", c, !1), a.addEventListener("load", p, !1); else {
+        b.attachEvent("onreadystatechange", c);
+        a.attachEvent("onload", p);
+        var z = !1;
+        try {
+            z = null == a.frameElement && b.documentElement
+        } catch (F) {
+        }
+        z && z.doScroll && function E() {
+            if (!u) {
+                try {
+                    z.doScroll("left")
+                } catch (b) {
+                    a.clearTimeout(d.readyTimeout);
+                    d.readyTimeout = a.setTimeout(E, 50);
+                    return
+                }
+                p()
+            }
+        }()
+    }
+    setTimeout(function () {
+        l = !0;
+        m(v, function (a) {
+            a()
+        })
+    }, 300)
+})(window);
diff --git a/app/design/frontend/magento_plushe/js/jquery.dropdowns.js b/app/design/frontend/magento_plushe/js/jquery.dropdowns.js
new file mode 100644
index 00000000000..836843ec0b7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/jquery.dropdowns.js
@@ -0,0 +1,108 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+;(function($, document) {
+    'use strict';
+
+    $.fn.dropdown = function(options) {
+        var defaults = {
+            parent: null,
+            autoclose: true,
+            btnArrow: '.arrow',
+            menu: '[data-target="dropdown"]',
+            activeClass: 'active'
+        };
+
+        var options = $.extend(defaults, options);
+        var actionElem = $(this),
+            self = this;
+
+        this.openDropdown = function(elem) {
+            elem
+                .addClass(options.activeClass)
+                .parent()
+                    .addClass(options.activeClass);
+
+            $(options.btnArrow, elem).text('â–²');
+        };
+
+        this.closeDropdown = function(elem) {
+            elem
+                .removeClass(options.activeClass)
+                .parent()
+                    .removeClass(options.activeClass);
+
+            $(options.btnArrow, elem).text('â–¼');
+        };
+
+        /* Reset all dropdowns */
+        this.reset = function(params) {
+            var params = params || {},
+                dropdowns = params.elems || actionElem;
+
+            dropdowns.each(function(index, elem) {
+                self.closeDropdown($(elem));
+            });
+        };
+
+        /* document Event bindings */
+        if(options.autoclose === true) {
+            $(document).on('click.hideDropdown', this.reset);
+            $(document).on('keyup.hideDropdown', function(e) {
+                var ESC_CODE = '27';
+
+                if (e.keyCode == ESC_CODE) {
+                    self.reset();
+                }
+            });
+        };
+
+        if (options.events) {
+            $.each(options.events, function(index, event) {
+                $(document).on(event.name, event.selector, event.action);
+            });
+        }
+
+        return this.each(function() {
+            var elem = $(this),
+                parent = $(options.parent) || elem.parent(),
+                menu = $(options.menu, parent) || $('.dropdown-menu', parent);
+
+            elem.on('click.toggleDropdown', function() {
+                if(options.autoclose === true) {
+                    self.reset({elems: actionElem.not(elem)});
+                };
+                self[elem.hasClass('active') ? 'closeDropdown' : 'openDropdown'](elem);
+
+                return false;
+            });
+
+            menu.on('click.preventMenuClosing', function(e) {
+                e.stopPropagation();
+            });
+        });
+    };
+
+    $(document).ready(function() {
+        $('[data-toggle="dropdown"]').dropdown();
+    });
+})(window.jQuery, document);
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/js/matchMedia.js b/app/design/frontend/magento_plushe/js/matchMedia.js
new file mode 100644
index 00000000000..68ee4e2b813
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/matchMedia.js
@@ -0,0 +1,162 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
+
+window.matchMedia = window.matchMedia || (function( doc, undefined ) {
+
+  "use strict";
+
+  var bool,
+      docElem = doc.documentElement,
+      refNode = docElem.firstElementChild || docElem.firstChild,
+      // fakeBody required for <FF4 when executed in <head>
+      fakeBody = doc.createElement( "body" ),
+      div = doc.createElement( "div" );
+
+  div.id = "mq-test-1";
+  div.style.cssText = "position:absolute;top:-100em";
+  fakeBody.style.background = "none";
+  fakeBody.appendChild(div);
+
+  return function(q){
+
+    div.innerHTML = "&shy;<style media=\"" + q + "\"> #mq-test-1 { width: 42px; }</style>";
+
+    docElem.insertBefore( fakeBody, refNode );
+    bool = div.offsetWidth === 42;
+    docElem.removeChild( fakeBody );
+
+    return {
+      matches: bool,
+      media: q
+    };
+
+  };
+
+}( document ));
+
+/*! matchMedia() polyfill addListener/removeListener extension. Author & copyright (c) 2012: Scott Jehl. Dual MIT/BSD license */
+(function(){
+  // monkeypatch unsupported addListener/removeListener with polling
+  if( !window.matchMedia( "" ).addListener ){
+    var oldMM = window.matchMedia;
+    
+    window.matchMedia = function( q ){
+      var ret = oldMM( q ),
+        listeners = [],
+        last = false,
+        timer,
+        check = function(){
+          var list = oldMM( q ),
+            unmatchToMatch = list.matches && !last,
+            matchToUnmatch = !list.matches && last;
+                                                
+                                        //fire callbacks only if transitioning to or from matched state
+          if( unmatchToMatch || matchToUnmatch ){
+            for( var i =0, il = listeners.length; i< il; i++ ){
+              listeners[ i ].call( ret, list );
+            }
+          }
+          last = list.matches;
+        };
+      
+      ret.addListener = function( cb ){
+        listeners.push( cb );
+        if( !timer ){
+          timer = setInterval( check, 1000 );
+        }
+      };
+
+      ret.removeListener = function( cb ){
+        for( var i =0, il = listeners.length; i< il; i++ ){
+          if( listeners[ i ] === cb ){
+            listeners.splice( i, 1 );
+          }
+        }
+        if( !listeners.length && timer ){
+          clearInterval( timer );
+        }
+      };
+      
+      return ret;
+    };
+  }
+}());
+
+var mediaCheck = function( options ) {
+  var mq,
+      matchMedia = (window.matchMedia !== undefined & window.matchMedia('').addListener !== undefined);
+      
+  mqChange = function( mq, options ) {
+    if ( mq.matches ) {
+      if ( typeof options.entry === "function" ) {
+        options.entry();
+      }
+    } else if ( typeof options.exit === "function" ) {
+      options.exit();
+    }
+  };
+  
+  if ( matchMedia ) {
+    // Has matchMedia support
+    createListener = function() {
+
+      mq = window.matchMedia( options.media );
+      mq.addListener( function() {
+        mqChange( mq, options );
+      });
+      mqChange( mq, options );
+    };
+    createListener();
+    
+  } else {
+    // capture the current pageWidth
+    var pageWidth = window.outerWidth;
+
+    // No matchMedia support
+    var mmListener = function() {
+      var parts = options.media.match( /\((.*)-.*:\s*(.*)\)/ ),
+          constraint = parts[ 1 ],
+          value = parseInt( parts[ 2 ], 10 ),
+          fakeMatchMedia = {};
+
+      // scope this to width changes to prevent small-screen scrolling (browser chrome off-screen)
+      //   from triggering a change
+      if (pageWidth != window.outerWidth) {
+        fakeMatchMedia.matches = constraint === "max" && value > window.outerWidth ||
+                                 constraint === "min" && value < window.outerWidth;
+        mqChange( fakeMatchMedia, options );
+        
+        // reset pageWidth
+        pageWidth = window.outerWidth;
+      }
+    };
+
+    if (window.addEventListener) {
+      window.addEventListener("resize", mmListener);
+    } else if (window.attachEvent) {
+      window.attachEvent("resize", mmListener);
+    }
+    mmListener();
+  }
+};
diff --git a/app/design/frontend/magento_plushe/js/navigation-menu.js b/app/design/frontend/magento_plushe/js/navigation-menu.js
new file mode 100644
index 00000000000..a91566ec9ce
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/navigation-menu.js
@@ -0,0 +1,459 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint jquery:true*/
+
+(function($) {
+    'use strict';
+
+    $.widget('mage.navigationMenu', {
+        options: {
+            itemsContainer: '> ul',
+            topLevel: 'li.level0',
+            topLevelSubmenu: '> .submenu',
+            topLevelHoverClass: 'hover',
+            expandedTopLevel: '.more',
+            hoverInTimeout: 300,
+            hoverOutTimeout: 2000,
+            submenuAnimationSpeed: 200,
+            collapsable: true,
+            collapsableDropdownTemplate:
+                '<script type="text/x-jquery-tmpl">' +
+                    '<li class="level0 level-top more parent">' +
+                        '<div class="submenu">' +
+                            '<ul>{{html elems}}</ul>' +
+                        '</div>' +
+                    '</li>' +
+                '</script>'
+        },
+
+        _create: function() {
+            this.itemsContainer = $(this.options.itemsContainer, this.element);
+            this.topLevel = $(this.options.topLevel, this.element);
+            this.topLevelSubmenu = $(this.options.topLevelSubmenu, this.topLevel);
+
+            this._bind();
+        },
+
+        _init: function() {
+            if (this.options.collapsable) {
+                setTimeout($.proxy(function() {
+                    this._checkToCollapseOrExpand();
+                }, this), 100);
+            }
+        },
+
+        _bind: function() {
+            this._on({
+                'mouseenter > ul > li.level0': function(e) {
+                    if (!this.entered) { // fix IE bug with 'mouseenter' event
+                        this.timeoutId && clearTimeout(this.timeoutId);
+                        this.timeoutId = setTimeout($.proxy(function() {
+                            this._openSubmenu(e);
+                        }, this), this.options.hoverInTimeout);
+                        this.entered = true;
+                    }
+                },
+                'mouseleave > ul > li.level0': function(e) {
+                    this.entered = null;
+
+                    this.timeoutId && clearTimeout(this.timeoutId);
+                    this.timeoutId = setTimeout($.proxy(function() {
+                        this._closeSubmenu(e.currentTarget);
+                    }, this), this.options.hoverOutTimeout);
+                },
+                'click': function(e) {
+                    e.stopPropagation();
+                }
+            });
+
+            $(document)
+                .on('click.hideMenu', $.proxy(function(e) {
+                    var isOpened = this.topLevel.filter(function() {
+                        return $(this).data('opened');
+                    });
+
+                    if (isOpened) {
+                        this._closeSubmenu(null, false);
+                    }
+                }, this));
+
+            $(window)
+                .on('resize', $.proxy(function() {
+                    this.timeoutOnResize && clearTimeout(this.timeoutOnResize);
+                    this.timeoutOnResize = setTimeout($.proxy(function() {
+                        if (this.options.collapsable) {
+                            if ($(this.options.expandedTopLevel, this.element).length) {
+                                this._expandMenu();
+                            }
+                            this._checkToCollapseOrExpand();
+                        }
+                    }, this), 300);
+                }, this));
+        },
+
+        _openSubmenu: function(e) {
+            var menuItem = e.currentTarget;
+
+            if (!$(menuItem).data('opened')) {
+                this._closeSubmenu(menuItem, true, true);
+
+                $(this.options.topLevelSubmenu, menuItem)
+                    .slideDown(this.options.submenuAnimationSpeed, $.proxy(function() {
+                        $(menuItem).addClass(this.options.topLevelHoverClass);
+                        $(menuItem).data('opened', true);
+                    }, this));
+            } else if ($(e.target).closest(this.options.topLevel)) {
+                $(e.target)
+                    .addClass(this.options.topLevelHoverClass)
+                    .siblings(this.options.topLevel)
+                        .removeClass(this.options.topLevelHoverClass);
+            }
+        },
+
+        _closeSubmenu: function(menuItem, excludeCurrent, fast) {
+            var topLevel = $(this.options.topLevel, this.element),
+                activeSubmenu = $(this.options.topLevelSubmenu, menuItem || null);
+
+            $(this.options.topLevelSubmenu, topLevel)
+                .filter(function() {
+                    return excludeCurrent ? $(this).not(activeSubmenu) : true;
+                })
+                .slideUp(fast ? 0 : this.options.submenuAnimationSpeed);
+
+            topLevel
+                .removeClass(this.options.topLevelHoverClass)
+                .data('opened', false);
+        },
+
+        _checkToCollapseOrExpand: function() {
+            var navWidth = this.itemsContainer.width(),
+                totalWidth = 0,
+                startCollapseIndex = 0;
+
+            $.each($(this.options.topLevel, this.element), function(index, item) {
+                totalWidth = totalWidth + $(item).outerWidth(true);
+
+                if (totalWidth > navWidth && !startCollapseIndex) {
+                    startCollapseIndex = index - 2;
+                }
+            });
+
+            this[startCollapseIndex ? '_collapseMenu' : '_expandMenu'](startCollapseIndex);
+        },
+
+        _collapseMenu: function(startCollapseIndex) {
+            this.elemsToCollapse = this.topLevel.filter(function(index) {
+                return index > startCollapseIndex;
+            });
+            this.elemsToCollapseClone = $('<div></div>').append(this.elemsToCollapse.clone()).html();
+
+            this.collapsableDropdown = $(this.options.collapsableDropdownTemplate).tmpl({elems: this.elemsToCollapseClone});
+
+            this.itemsContainer
+                .append(this.collapsableDropdown);
+
+            this.elemsToCollapse.detach();
+        },
+
+        _expandMenu: function() {
+            if ($.browser.version != 8.0) {
+                this.elemsToCollapse && this.elemsToCollapse.appendTo(this.itemsContainer);
+                this.collapsableDropdown && this.collapsableDropdown.remove();
+            } else {
+                setTimeout($.proxy(function() {
+                    var moreWrapper = $('.more', this.element);
+
+                    if (moreWrapper.length > 1) {
+                        moreWrapper.eq(moreWrapper.length - 1).remove();
+                    }
+                }, this), 1);
+            }
+        },
+
+        _destroy: function() {
+            this._expandMenu();
+        }
+    });
+
+    /*
+     * Provides "Continium" effect for submenu
+     * */
+    $.widget('mage.navigationMenu', $.mage.navigationMenu, {
+        options: {
+            parentLevel: '> ul > li.level0',
+            submenuAnimationSpeed: 150,
+            submenuContiniumEffect: false
+        },
+
+        _init: function() {
+            this._super();
+            this._applySubmenuStyles();
+        },
+
+        _applySubmenuStyles: function() {
+            $(this.options.topLevelSubmenu, $(this.options.topLevel, this.element))
+                .removeAttr('style');
+
+            $(this.options.topLevelSubmenu, $(this.options.parentLevel, this.element))
+                .css({
+                    display: 'block',
+                    height: 0,
+                    overflow: 'hidden'
+                });
+        },
+
+        _openSubmenu: function(e) {
+            var menuItem = e.currentTarget,
+                submenu = $(this.options.topLevelSubmenu, menuItem),
+                openedItems = $(this.options.topLevel, this.element).filter(function() {
+                    return $(this).data('opened');
+                });
+
+            if (submenu.length) {
+                this.heightToAnimate = $(this.options.itemsContainer, submenu).outerHeight(true);
+
+                if (openedItems.length) {
+                    this._closeSubmenu(menuItem, true, this.heightToAnimate, $.proxy(function() {
+                        submenu.css({
+                            height: 'auto'
+                        });
+                        $(menuItem)
+                            .addClass(this.options.topLevelHoverClass);
+                    }, this), e);
+                } else {
+                    submenu.animate({
+                        height: this.heightToAnimate
+                    }, this.options.submenuAnimationSpeed, $.proxy(function() {
+                        $(menuItem)
+                            .addClass(this.options.topLevelHoverClass);
+                    }, this));
+                }
+                $(menuItem)
+                    .data('opened', true);
+            } else {
+                this._closeSubmenu(menuItem);
+            }
+        },
+
+        _closeSubmenu: function(menuItem, excludeCurrent, heightToAnimate, callback, e) {
+            var topLevel = $(this.options.topLevel, this.itemsContainer),
+                expandedTopLevel = e && $(e.target).closest(this.options.expandedTopLevel);
+
+            if (!excludeCurrent) {
+                $(this.options.topLevelSubmenu, $(this.options.parentLevel, this.element))
+                    .animate({
+                        height: 0
+                    });
+
+                topLevel
+                    .data('opened', false)
+                    .removeClass(this.options.topLevelHoverClass);
+            } else {
+                var prevOpenedItem = topLevel.filter(function() {
+                        return $(this).data('opened');
+                    }),
+                    prevOpenedSubmenu = $(this.options.topLevelSubmenu, prevOpenedItem);
+
+                prevOpenedSubmenu.animate({
+                    height: heightToAnimate
+                }, this.options.submenuAnimationSpeed, 'linear', function() {
+                    $(this).css({
+                        height: 0
+                    });
+                    callback && callback();
+                });
+
+                prevOpenedItem
+                    .data('opened', false)
+                    .removeClass(this.options.topLevelHoverClass);
+            }
+        },
+
+        _collapseMenu: function() {
+            this._superApply(arguments);
+            this._applySubmenuStyles();
+        }
+    });
+
+    //  Responsive menu
+    $.widget('mage.navigationMenu', $.mage.navigationMenu, {
+        options: {
+            responsive: false,
+            origNavPlaceholder: '.header',
+            mainContainer: 'body',
+            pageWrapper: '.page.wrapper',
+            openedMenuClass: 'opened',
+            toggleActionPlaceholder: '.block.search',
+            itemWithSubmenu: 'li.parent',
+            titleWithSubmenu: 'li.parent > a',
+            submenu: 'li.parent > .submenu',
+            toggleActionTemplate:
+                '<script type="text/x-jquery-tmpl">' +
+                    '<span data-action="toggle-nav" class="action toggle nav">Toggle Nav</span>' +
+                '</script>',
+            submenuActionsTemplate:
+                '<script type="text/x-jquery-tmpl">' +
+                    '<li class="action back">' +
+                        '<a><span>${ category }</span></a>' +
+                    '</li>' +
+                    '<li class="action all">' +
+                        '<a href="${ categoryURL }">All ${ category }</a>' +
+                    '</li>' +
+                '</script>'
+        },
+
+        _init: function() {
+            this._super();
+
+            this.mainContainer = $(this.options.mainContainer);
+            this.pageWrapper = $(this.options.pageWrapper);
+            this.toggleAction = $(this.options.toggleActionTemplate).tmpl({});
+
+            if (this.options.responsive) {
+                mediaCheck({
+                    media: '(max-width: 640px)',
+                    entry: $.proxy(function() {
+                        this._toggleMobileMode();
+                    }, this),
+                    exit: $.proxy(function() {
+                        this._toggleDesktopMode();
+                    }, this)
+                });
+            }
+        },
+
+        _bind: function() {
+            this._super();
+            this._bindDocumentEvents();
+        },
+
+        _bindDocumentEvents: function() {
+            if (!this.eventsBound) {
+                $(document)
+                    .on('click.toggleMenu', '.action.toggle.nav', $.proxy(function(e) {
+                        if ($(this.element).data('opened')) {
+                            this._hideMenu();
+                        } else {
+                            this._showMenu();
+                        }
+                        e.stopPropagation();
+                    }, this))
+                    .on('click.hideMenu', this.options.pageWrapper, $.proxy(function() {
+                        if ($(this.element).data('opened')) {
+                            this._hideMenu();
+                        }
+                    }, this))
+                    .on('click.showSubmenu', this.options.titleWithSubmenu, $.proxy(function(e) {
+                        this._showSubmenu(e);
+
+                        e.preventDefault();
+                    }, this))
+                    .on('click.hideSubmenu', '.action.back', $.proxy(function(e) {
+                        this._hideSubmenu(e);
+                    }, this));
+
+                this.eventsBound = true;
+            }
+        },
+
+        _showMenu: function() {
+            $(this.element).data('opened', true);
+            this.mainContainer.addClass(this.options.openedMenuClass);
+        },
+
+        _hideMenu: function() {
+            $(this.element).data('opened', false);
+            this.mainContainer.removeClass(this.options.openedMenuClass);
+        },
+
+        _showSubmenu: function(e) {
+            var submenu = $(e.currentTarget).siblings('.submenu');
+
+            submenu
+                .addClass('opened')
+                .closest('.navigation > ul')
+                    .css({
+                        height: submenu.outerHeight(true)
+                    });
+        },
+
+        _hideSubmenu: function(e) {
+            var submenuSelector = '.submenu',
+                submenu = $(e.currentTarget).closest(submenuSelector);
+
+            submenu.removeClass('opened');
+
+            if (!$('.submenu.opened').length) {
+                submenu
+                    .closest('.navigation > ul')
+                        .removeAttr('style');
+            }
+        },
+
+        _renderSubmenuActions: function() {
+            $.each($(this.options.itemWithSubmenu), $.proxy(function(index, item) {
+                var actions = $(this.options.submenuActionsTemplate).tmpl({
+                        category: $('> a > span', item).text(),
+                        categoryURL: $('> a', item).attr('href')
+                    }),
+                    submenu = $('> .submenu', item),
+                    items = $('> ul', submenu);
+
+                items.prepend(actions);
+
+                submenu
+                    .css({
+                        height: $(window).outerHeight(true) - 1
+                    });
+            }, this));
+        },
+
+        _toggleMobileMode: function() {
+            this._expandMenu();
+
+            $(this.options.topLevelSubmenu, $(this.options.topLevel, this.element))
+                .removeAttr('style');
+
+            this.toggleAction.insertBefore(this.options.toggleActionPlaceholder);
+            this.mobileNav = $(this.element).detach().clone();
+            this.mainContainer.prepend(this.mobileNav);
+
+            this._renderSubmenuActions();
+            this._bindDocumentEvents();
+        },
+
+        _toggleDesktopMode: function() {
+            this.mobileNav && this.mobileNav.remove();
+            this.toggleAction.detach();
+            $(this.element).insertAfter(this.options.origNavPlaceholder);
+
+            $(document)
+                .off('click.toggleMenu', '.action.toggle.nav')
+                .off('click.hideMenu', this.options.pageWrapper)
+                .off('click.showSubmenu', this.options.titleWithSubmenu)
+                .off('click.hideSubmenu', '.action.back');
+
+            this.eventsBound = false;
+        }
+    });
+})(window.jQuery);
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/js/selectivizr.js b/app/design/frontend/magento_plushe/js/selectivizr.js
new file mode 100644
index 00000000000..bd96e782eaa
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/selectivizr.js
@@ -0,0 +1,567 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*
+selectivizr v1.0.2 - (c) Keith Clark, freely distributable under the terms 
+of the MIT license.
+
+selectivizr.com
+*/
+/* 
+  
+Notes about this source
+-----------------------
+
+ * The #DEBUG_START and #DEBUG_END comments are used to mark blocks of code
+   that will be removed prior to building a final release version (using a
+   pre-compression script)
+  
+  
+References:
+-----------
+ 
+ * CSS Syntax          : http://www.w3.org/TR/2003/WD-css3-syntax-20030813/#style
+ * Selectors           : http://www.w3.org/TR/css3-selectors/#selectors
+ * IE Compatability    : http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx
+ * W3C Selector Tests  : http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/html/tests/
+ 
+*/
+
+(function(win) {
+
+	// If browser isn't IE, then stop execution! This handles the script 
+	// being loaded by non IE browsers because the developer didn't use 
+	// conditional comments.
+	if (/*@cc_on!@*/true) return;
+
+	// =========================== Init Objects ============================
+
+	var doc = document;
+	var root = doc.documentElement;
+	var xhr = getXHRObject();
+	var ieVersion = /MSIE (\d+)/.exec(navigator.userAgent)[1];
+	
+	// If were not in standards mode, IE is too old / new or we can't create
+	// an XMLHttpRequest object then we should get out now.
+	if (doc.compatMode != 'CSS1Compat' || ieVersion<6 || ieVersion>8 || !xhr) {
+		return;
+	}
+	
+	
+	// ========================= Common Objects ============================
+
+	// Compatiable selector engines in order of CSS3 support. Note: '*' is
+	// a placholder for the object key name. (basically, crude compression)
+	var selectorEngines = {
+		"NW"								: "*.Dom.select",
+		"MooTools"							: "$$",
+		"DOMAssistant"						: "*.$", 
+		"Prototype"							: "$$",
+		"YAHOO"								: "*.util.Selector.query",
+		"Sizzle"							: "*", 
+		"jQuery"							: "*",
+		"dojo"								: "*.query"
+	};
+
+	var selectorMethod;
+	var enabledWatchers 					= [];     // array of :enabled/:disabled elements to poll
+	var ie6PatchID 							= 0;      // used to solve ie6's multiple class bug
+	var patchIE6MultipleClasses				= true;   // if true adds class bloat to ie6
+	var namespace 							= "slvzr";
+	
+	// Stylesheet parsing regexp's
+	var RE_COMMENT							= /(\/\*[^*]*\*+([^\/][^*]*\*+)*\/)\s*/g;
+	var RE_IMPORT							= /@import\s*(?:(?:(?:url\(\s*(['"]?)(.*)\1)\s*\))|(?:(['"])(.*)\3))[^;]*;/g;
+	var RE_ASSET_URL 						= /\burl\(\s*(["']?)(?!data:)([^"')]+)\1\s*\)/g;
+	var RE_PSEUDO_STRUCTURAL				= /^:(empty|(first|last|only|nth(-last)?)-(child|of-type))$/;
+	var RE_PSEUDO_ELEMENTS					= /:(:first-(?:line|letter))/g;
+	var RE_SELECTOR_GROUP					= /(^|})\s*([^\{]*?[\[:][^{]+)/g;
+	var RE_SELECTOR_PARSE					= /([ +~>])|(:[a-z-]+(?:\(.*?\)+)?)|(\[.*?\])/g; 
+	var RE_LIBRARY_INCOMPATIBLE_PSEUDOS		= /(:not\()?:(enabled|disabled|focus|checked|target|active|visited|first-line|first-letter)\)?/g;
+	var RE_PATCH_CLASS_NAME_REPLACE			= /[^\w-]/g;
+	
+	// HTML UI element regexp's
+	var RE_INPUT_ELEMENTS					= /^(INPUT|SELECT|TEXTAREA|BUTTON)$/;
+	var RE_INPUT_CHECKABLE_TYPES			= /^(checkbox|radio)$/;
+
+	// Broken attribute selector implementations (IE7/8 native [^=""], [$=""] and [*=""])
+	var BROKEN_ATTR_IMPLEMENTATIONS			= ieVersion>6 ? /[\$\^*]=(['"])\1/ : null;
+
+	// Whitespace normalization regexp's
+	var RE_TIDY_TRAILING_WHITESPACE			= /([(\[+~])\s+/g;
+	var RE_TIDY_LEADING_WHITESPACE			= /\s+([)\]+~])/g;
+	var RE_TIDY_CONSECUTIVE_WHITESPACE		= /\s+/g;
+	var RE_TIDY_TRIM_WHITESPACE				= /^\s*((?:[\S\s]*\S)?)\s*$/;
+	
+	// String constants
+	var EMPTY_STRING						= "";
+	var SPACE_STRING						= " ";
+	var PLACEHOLDER_STRING					= "$1";
+
+	// =========================== Patching ================================
+
+	// --[ patchStyleSheet() ]----------------------------------------------
+	// Scans the passed cssText for selectors that require emulation and
+	// creates one or more patches for each matched selector.
+	function patchStyleSheet( cssText ) {
+		return cssText.replace(RE_PSEUDO_ELEMENTS, PLACEHOLDER_STRING).
+			replace(RE_SELECTOR_GROUP, function(m, prefix, selectorText) {	
+    			var selectorGroups = selectorText.split(",");
+    			for (var c = 0, cs = selectorGroups.length; c < cs; c++) {
+    				var selector = normalizeSelectorWhitespace(selectorGroups[c]) + SPACE_STRING;
+    				var patches = [];
+    				selectorGroups[c] = selector.replace(RE_SELECTOR_PARSE, 
+    					function(match, combinator, pseudo, attribute, index) {
+    						if (combinator) {
+    							if (patches.length>0) {
+    								applyPatches( selector.substring(0, index), patches );
+    								patches = [];
+    							}
+    							return combinator;
+    						}		
+    						else {
+    							var patch = (pseudo) ? patchPseudoClass( pseudo ) : patchAttribute( attribute );
+    							if (patch) {
+    								patches.push(patch);
+    								return "." + patch.className;
+    							}
+    							return match;
+    						}
+    					}
+    				);
+    			}
+    			return prefix + selectorGroups.join(",");
+    		});
+	};
+
+	// --[ patchAttribute() ]-----------------------------------------------
+	// returns a patch for an attribute selector.
+	function patchAttribute( attr ) {
+		return (!BROKEN_ATTR_IMPLEMENTATIONS || BROKEN_ATTR_IMPLEMENTATIONS.test(attr)) ? 
+			{ className: createClassName(attr), applyClass: true } : null;
+	};
+
+	// --[ patchPseudoClass() ]---------------------------------------------
+	// returns a patch for a pseudo-class
+	function patchPseudoClass( pseudo ) {
+
+		var applyClass = true;
+		var className = createClassName(pseudo.slice(1));
+		var isNegated = pseudo.substring(0, 5) == ":not(";
+		var activateEventName;
+		var deactivateEventName;
+
+		// if negated, remove :not() 
+		if (isNegated) {
+			pseudo = pseudo.slice(5, -1);
+		}
+		
+		// bracket contents are irrelevant - remove them
+		var bracketIndex = pseudo.indexOf("(")
+		if (bracketIndex > -1) {
+			pseudo = pseudo.substring(0, bracketIndex);
+		}		
+		
+		// check we're still dealing with a pseudo-class
+		if (pseudo.charAt(0) == ":") {
+			switch (pseudo.slice(1)) {
+
+				case "root":
+					applyClass = function(e) {
+						return isNegated ? e != root : e == root;
+					}
+					break;
+
+				case "target":
+					// :target is only supported in IE8
+					if (ieVersion == 8) {
+						applyClass = function(e) {
+							var handler = function() { 
+								var hash = location.hash;
+								var hashID = hash.slice(1);
+								return isNegated ? (hash == EMPTY_STRING || e.id != hashID) : (hash != EMPTY_STRING && e.id == hashID);
+							};
+							addEvent( win, "hashchange", function() {
+								toggleElementClass(e, className, handler());
+							})
+							return handler();
+						}
+						break;
+					}
+					return false;
+				
+				case "checked":
+					applyClass = function(e) { 
+						if (RE_INPUT_CHECKABLE_TYPES.test(e.type)) {
+							addEvent( e, "propertychange", function() {
+								if (event.propertyName == "checked") {
+									toggleElementClass( e, className, e.checked !== isNegated );
+								} 							
+							})
+						}
+						return e.checked !== isNegated;
+					}
+					break;
+					
+				case "disabled":
+					isNegated = !isNegated;
+
+				case "enabled":
+					applyClass = function(e) { 
+						if (RE_INPUT_ELEMENTS.test(e.tagName)) {
+							addEvent( e, "propertychange", function() {
+								if (event.propertyName == "$disabled") {
+									toggleElementClass( e, className, e.$disabled === isNegated );
+								} 
+							});
+							enabledWatchers.push(e);
+							e.$disabled = e.disabled;
+							return e.disabled === isNegated;
+						}
+						return pseudo == ":enabled" ? isNegated : !isNegated;
+					}
+					break;
+					
+				case "focus":
+					activateEventName = "focus";
+					deactivateEventName = "blur";
+
+				// everything else
+				default:
+					// If we don't support this pseudo-class don't create 
+					// a patch for it
+					if (!RE_PSEUDO_STRUCTURAL.test(pseudo)) {
+						return false;
+					}
+					break;
+			}
+		}
+		return { className: className, applyClass: applyClass };
+	};
+
+	// --[ applyPatches() ]-------------------------------------------------
+	// uses the passed selector text to find DOM nodes and patch them	
+	function applyPatches(selectorText, patches) {
+		var elms;
+		
+		// Although some selector libraries can find :checked :enabled etc. 
+		// we need to find all elements that could have that state because 
+		// it can be changed by the user.
+		var domSelectorText = selectorText.replace(RE_LIBRARY_INCOMPATIBLE_PSEUDOS, EMPTY_STRING);
+		
+		// If the dom selector equates to an empty string or ends with 
+		// whitespace then we need to append a universal selector (*) to it.
+		if (domSelectorText == EMPTY_STRING || domSelectorText.charAt(domSelectorText.length - 1) == SPACE_STRING) {
+			domSelectorText += "*";
+		}
+		
+		// Ensure we catch errors from the selector library
+		try {
+			elms = selectorMethod( domSelectorText );
+		} catch (ex) {
+			// #DEBUG_START
+			log( "Selector '" + selectorText + "' threw exception '" + ex + "'" );
+			// #DEBUG_END
+		}
+
+
+		if (elms) {
+			for (var d = 0, dl = elms.length; d < dl; d++) {	
+				var elm = elms[d];
+				var cssClasses = elm.className;
+				for (var f = 0, fl = patches.length; f < fl; f++) {
+					var patch = patches[f];
+					
+					if (!hasPatch(elm, patch)) {
+						if (patch.applyClass && (patch.applyClass === true || patch.applyClass(elm) === true)) {
+							cssClasses = toggleClass(cssClasses, patch.className, true );
+						}
+					}
+				}
+				elm.className = cssClasses;
+			}
+		}
+	};
+
+	// --[ hasPatch() ]-----------------------------------------------------
+	// checks for the exsistence of a patch on an element
+	function hasPatch( elm, patch ) {
+		return new RegExp("(^|\\s)" + patch.className + "(\\s|$)").test(elm.className);
+	};
+	
+	
+	// =========================== Utility =================================
+	
+	function createClassName( className ) {
+		return namespace + "-" + ((ieVersion == 6 && patchIE6MultipleClasses) ?
+			ie6PatchID++
+		:
+			className.replace(RE_PATCH_CLASS_NAME_REPLACE, function(a) { return a.charCodeAt(0) }));
+	};
+
+	// --[ log() ]----------------------------------------------------------
+	// #DEBUG_START
+	function log( message ) {
+		if (win.console) {
+			win.console.log(message);
+		}
+	};
+	// #DEBUG_END
+
+	// --[ trim() ]---------------------------------------------------------
+	// removes leading, trailing whitespace from a string
+	function trim( text ) {
+		return text.replace(RE_TIDY_TRIM_WHITESPACE, PLACEHOLDER_STRING);
+	};
+
+	// --[ normalizeWhitespace() ]------------------------------------------
+	// removes leading, trailing and consecutive whitespace from a string
+	function normalizeWhitespace( text ) {
+		return trim(text).replace(RE_TIDY_CONSECUTIVE_WHITESPACE, SPACE_STRING);
+	};
+
+	// --[ normalizeSelectorWhitespace() ]----------------------------------
+	// tidies whitespace around selector brackets and combinators
+	function normalizeSelectorWhitespace( selectorText ) {
+		return normalizeWhitespace(selectorText.
+			replace(RE_TIDY_TRAILING_WHITESPACE, PLACEHOLDER_STRING).
+			replace(RE_TIDY_LEADING_WHITESPACE, PLACEHOLDER_STRING)
+		);
+	};
+
+	// --[ toggleElementClass() ]-------------------------------------------
+	// toggles a single className on an element
+	function toggleElementClass( elm, className, on ) {
+		var oldClassName = elm.className;
+		var newClassName = toggleClass(oldClassName, className, on);
+		if (newClassName != oldClassName) {
+			elm.className = newClassName;
+			elm.parentNode.className += EMPTY_STRING;
+		}
+	};
+
+	// --[ toggleClass() ]--------------------------------------------------
+	// adds / removes a className from a string of classNames. Used to 
+	// manage multiple class changes without forcing a DOM redraw
+	function toggleClass( classList, className, on ) {
+		var re = RegExp("(^|\\s)" + className + "(\\s|$)");
+		var classExists = re.test(classList);
+		if (on) {
+			return classExists ? classList : classList + SPACE_STRING + className;
+		} else {
+			return classExists ? trim(classList.replace(re, PLACEHOLDER_STRING)) : classList;
+		}
+	};
+	
+	// --[ addEvent() ]-----------------------------------------------------
+	function addEvent(elm, eventName, eventHandler) {
+		elm.attachEvent("on" + eventName, eventHandler);
+	};
+
+	// --[ getXHRObject() ]-------------------------------------------------
+	function getXHRObject()
+	{
+		if (win.XMLHttpRequest) {
+			return new XMLHttpRequest;
+		}
+		try	{ 
+			return new ActiveXObject('Microsoft.XMLHTTP');
+		} catch(e) { 
+			return null;
+		}
+	};
+
+	// --[ loadStyleSheet() ]-----------------------------------------------
+	function loadStyleSheet( url ) {
+		xhr.open("GET", url, false);
+		xhr.send();
+		return (xhr.status==200) ? xhr.responseText : EMPTY_STRING;	
+	};
+	
+	// --[ resolveUrl() ]---------------------------------------------------
+	// Converts a URL fragment to a fully qualified URL using the specified
+	// context URL. Returns null if same-origin policy is broken
+	function resolveUrl( url, contextUrl ) {
+	
+		function getProtocolAndHost( url ) {
+			return url.substring(0, url.indexOf("/", 8));
+		};
+		
+		// absolute path
+		if (/^https?:\/\//i.test(url)) {
+			return getProtocolAndHost(contextUrl) == getProtocolAndHost(url) ? url : null;
+		}
+		
+		// root-relative path
+		if (url.charAt(0)=="/")	{
+			return getProtocolAndHost(contextUrl) + url;
+		}
+
+		// relative path
+		var contextUrlPath = contextUrl.split(/[?#]/)[0]; // ignore query string in the contextUrl	
+		if (url.charAt(0) != "?" && contextUrlPath.charAt(contextUrlPath.length - 1) != "/") {
+			contextUrlPath = contextUrlPath.substring(0, contextUrlPath.lastIndexOf("/") + 1);
+		}
+		
+		return contextUrlPath + url;
+	};
+	
+	// --[ parseStyleSheet() ]----------------------------------------------
+	// Downloads the stylesheet specified by the URL, removes it's comments
+	// and recursivly replaces @import rules with their contents, ultimately
+	// returning the full cssText.
+	function parseStyleSheet( url ) {
+		if (url) {
+			return loadStyleSheet(url).replace(RE_COMMENT, EMPTY_STRING).
+			replace(RE_IMPORT, function( match, quoteChar, importUrl, quoteChar2, importUrl2 ) { 
+				return parseStyleSheet(resolveUrl(importUrl || importUrl2, url));
+			}).
+			replace(RE_ASSET_URL, function( match, quoteChar, assetUrl ) { 
+				quoteChar = quoteChar || EMPTY_STRING;
+				return " url(" + quoteChar + resolveUrl(assetUrl, url) + quoteChar + ") "; 
+			});
+		}
+		return EMPTY_STRING;
+	};
+	
+	// --[ init() ]---------------------------------------------------------
+	function init() {
+		// honour the <base> tag
+		var url, stylesheet;
+		var baseTags = doc.getElementsByTagName("BASE");
+		var baseUrl = (baseTags.length > 0) ? baseTags[0].href : doc.location.href;
+		
+		/* Note: This code prevents IE from freezing / crashing when using 
+		@font-face .eot files but it modifies the <head> tag and could
+		trigger the IE stylesheet limit. It will also cause FOUC issues.
+		If you choose to use it, make sure you comment out the for loop 
+		directly below this comment.
+
+		var head = doc.getElementsByTagName("head")[0];
+		for (var c=doc.styleSheets.length-1; c>=0; c--) {
+			stylesheet = doc.styleSheets[c]
+			head.appendChild(doc.createElement("style"))
+			var patchedStylesheet = doc.styleSheets[doc.styleSheets.length-1];
+			
+			if (stylesheet.href != EMPTY_STRING) {
+				url = resolveUrl(stylesheet.href, baseUrl)
+				if (url) {
+					patchedStylesheet.cssText = patchStyleSheet( parseStyleSheet( url ) )
+					stylesheet.disabled = true
+					setTimeout( function () {
+						stylesheet.owningElement.parentNode.removeChild(stylesheet.owningElement)
+					})
+				}
+			}
+		}
+		*/
+		
+		for (var c = 0; c < doc.styleSheets.length; c++) {
+			stylesheet = doc.styleSheets[c]
+			if (stylesheet.href != EMPTY_STRING) {
+				url = resolveUrl(stylesheet.href, baseUrl);
+				if (url) {
+					stylesheet.cssText = patchStyleSheet( parseStyleSheet( url ) );
+				}
+			}
+		}
+		
+		// :enabled & :disabled polling script (since we can't hook 
+		// onpropertychange event when an element is disabled) 
+		if (enabledWatchers.length > 0) {
+			setInterval( function() {
+				for (var c = 0, cl = enabledWatchers.length; c < cl; c++) {
+					var e = enabledWatchers[c];
+					if (e.disabled !== e.$disabled) {
+						if (e.disabled) {
+							e.disabled = false;
+							e.$disabled = true;
+							e.disabled = true;
+						}
+						else {
+							e.$disabled = e.disabled;
+						}
+					}
+				}
+			},250)
+		}
+	};
+	
+	// Bind selectivizr to the ContentLoaded event. 
+	ContentLoaded(win, function() {
+		// Determine the "best fit" selector engine
+		for (var engine in selectorEngines) {
+			var members, member, context = win;
+			if (win[engine]) {
+				members = selectorEngines[engine].replace("*", engine).split(".");
+				while ((member = members.shift()) && (context = context[member])) {}
+				if (typeof context == "function") {
+					selectorMethod = context;
+					init();
+					return;
+				}
+			}
+		}
+	});
+	
+	
+	/*!
+	 * ContentLoaded.js by Diego Perini, modified for IE<9 only (to save space)
+	 *
+	 * Author: Diego Perini (diego.perini at gmail.com)
+	 * Summary: cross-browser wrapper for DOMContentLoaded
+	 * Updated: 20101020
+	 * License: MIT
+	 * Version: 1.2
+	 *
+	 * URL:
+	 * http://javascript.nwbox.com/ContentLoaded/
+	 * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE
+	 *
+	 */
+
+	// @w window reference
+	// @f function reference
+	function ContentLoaded(win, fn) {
+
+		var done = false, top = true,
+		init = function(e) {
+			if (e.type == "readystatechange" && doc.readyState != "complete") return;
+			(e.type == "load" ? win : doc).detachEvent("on" + e.type, init, false);
+			if (!done && (done = true)) fn.call(win, e.type || e);
+		},
+		poll = function() {
+			try { root.doScroll("left"); } catch(e) { setTimeout(poll, 50); return; }
+			init('poll');
+		};
+
+		if (doc.readyState == "complete") fn.call(win, EMPTY_STRING);
+		else {
+			if (doc.createEventObject && root.doScroll) {
+				try { top = !win.frameElement; } catch(e) { }
+				if (top) poll();
+			}
+			addEvent(doc,"readystatechange", init);
+			addEvent(win,"load", init);
+		}
+	};
+})(this);
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/js/sticky.js b/app/design/frontend/magento_plushe/js/sticky.js
new file mode 100644
index 00000000000..df725faedaa
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/sticky.js
@@ -0,0 +1,61 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    EE
+ * @package     EE_refrence
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint browser:true jquery:true*/
+(function($, window) {
+    $.widget('mage.sticky', {
+        options: {
+            container: ''
+        },
+
+        /**
+         * Bind handlers to scroll event
+         * @private
+         */
+        _create: function() {
+            $(window).on('scroll', $.proxy(this._setTop, this));
+        },
+
+        /**
+         * float Block on windowScroll
+         * @private
+         */
+        _setTop: function() {
+            if ((this.element).is(':visible')) {
+                var startOffset = this.element.parent().offset().top + parseInt(this.element.css("margin-top")),
+                    currentOffset = $(document).scrollTop(),
+                    parentHeight = $(this.options.container).height() - parseInt(this.element.css("margin-top")),
+                    discrepancyOffset = currentOffset - startOffset;
+
+                if (discrepancyOffset >= 0) {
+                    if (discrepancyOffset + this.element.innerHeight() < parentHeight) {
+                        this.element.css('top', discrepancyOffset);
+                    }
+                } else {
+                    this.element.css('top', 0);
+                }
+            }
+        }
+    });
+})(jQuery, window);
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/js/tabs.js b/app/design/frontend/magento_plushe/js/tabs.js
new file mode 100644
index 00000000000..4ada49ab096
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/tabs.js
@@ -0,0 +1,169 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+;
+(function($) {
+    'use strict';
+
+    $.fn.terms = function(args){
+
+        // default
+        var defaults = {
+            start:0,
+            wrapper:'',
+            showAnchor:'',
+            effects:'slide'
+        };
+
+        var options = $.extend(defaults, args);
+
+        this.each(function() {
+            var obj = $(this),
+                wrapper = (options.wrapper !== '') ? '> ' + options.wrapper : '',
+                switches = $(wrapper + '> [data-section="title"] > [data-toggle="switch"]',obj),
+                terms = $(wrapper + '> [data-section="content"]',obj),
+                t = switches.length,
+                marginTop = $(switches[0]).closest('[data-section="title"]').css('position') == 'absolute' ? 0 : null,
+                title,
+                current,
+
+            init = function() {
+                if (t > 0) {
+                    if($(switches[0]).closest('[data-section="title"]').css('display')=='table-cell') {
+                        obj.addClass('adjusted');
+                        var linksList;
+                        if (obj[0].tagName=='DL') {
+                            linksList = jQuery('<dd>');
+                        } else {
+                            linksList = jQuery('<div>');
+                        }
+                        linksList.addClass('sections-nav');
+                        obj.prepend(linksList);
+
+                        for (var i=0; i < t; i++) {
+                            title = $(switches[i]).html();
+                            var classes = $(switches[i]).closest('[data-section="title"]').attr('class');
+                            var dataSection = $(switches[i]).closest('[data-section="title"]').attr('data-section');
+                            var itemHref = $(switches[i]).attr('href');
+                            var itemClass = $(switches[i]).attr('class');
+                            $(switches[i]).parent('[data-section="title"]').hide();
+                            switches[i] = jQuery('<a/>',{
+                                href: itemHref,
+                                'class' : itemClass,
+                                html: title
+                            }).appendTo(linksList);
+                            $(switches[i]).wrap('<strong class="'+classes+'" data-section="'+dataSection+'" />');
+                        }
+                    }
+                    $(switches).each(function(ind,el){
+                        $(el).click(function(event){
+                            event.preventDefault();
+                            showItem(ind);
+                            });
+                        if (marginTop !== null) {
+                            $(el).closest('[data-section="title"]').css({'top' : marginTop + 'px'});
+                            marginTop = marginTop + $(el).closest('[data-section="title"]').outerHeight(true);
+                            obj.css({'min-height' : marginTop + 'px' });
+                        }
+                    });
+
+                    var fromUrl = false;
+                    if (window.location.hash.length > 0) {
+                        $(terms).each(function(ind,el) {
+                            if ( '#info-'+$(el).attr('id') == window.location.hash) {
+                                showItem(ind);
+                                $('html, body').animate({
+                                    scrollTop: $(switches[ind]).offset().top
+                                }, 700);
+                                fromUrl = true;
+                            }
+                        });
+                    }
+                    if (fromUrl === false) {
+                        if ( options.start % 1 === 0 ) {
+                            current = options.start + 1;
+                            showItem(options.start);
+                        } else {
+                            $(terms).each(function(ind,el) {
+                                if ( $(el).attr('id') == options.start) {
+                                    current = ind + 1;
+                                    showItem(ind);
+                                    $('html, body').animate({
+                                        scrollTop: $(switches[ind]).offset().top
+                                    }, 700);
+                                }
+                            });
+                        }
+                    }
+                }
+            },
+
+
+            showItem = function(item) {
+                if (item != current && !$(switches[item]).closest('[data-section="title"]').hasClass('disabled') ) {
+                    $(switches).closest('[data-section="title"]').removeClass('active');
+                    if (options.wrapper !== '') {
+                        $(switches).parent().parent().removeClass('active');
+                    }
+                    $(terms).removeClass('active');
+                    $(switches[item]).closest('[data-section="title"]').addClass('active');
+                    if (options.wrapper !== '') {
+                        $(switches[current]).parent().parent().addClass('active');
+                    }
+                    $(terms[item]).addClass('active');
+
+                    /*if ($(terms[item]).attr('id')) {
+                        scr = document.body.scrollTop;
+                        window.location.hash='#tab-' + $(terms[item]).attr('id');
+                        document.body.scrollTop = scr;
+                    }*/
+                    current = item;
+                } else if (
+                            // Check if this is accordion width as criteria for now
+                            (obj.attr('data-sections') == 'accordion'
+                                || $(switches[item]).closest('[data-section="title"]').css('width') == obj.css('width')
+                            )
+                            && item == current && !$(switches[item]).closest('[data-section="title"]').hasClass('disabled')
+                        ) {
+                    $(switches).closest('[data-section="title"]').removeClass('active');
+                    if (options.wrapper !== '') {
+                        $(switches).parent().parent().removeClass('active');
+                    }
+                    $(terms).removeClass('active');
+                    current = -1;
+                }
+            },
+
+            applyEffect = function(item, effect) {
+            };
+
+            init();
+        });
+    };
+    $(document).ready(function() {
+        $('[data-sections]').terms();
+    });
+
+})(window.jQuery);
+
+
+
diff --git a/app/design/frontend/magento_plushe/js/theme.js b/app/design/frontend/magento_plushe/js/theme.js
new file mode 100644
index 00000000000..d4a340719e9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/theme.js
@@ -0,0 +1,115 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+;
+(function($) {
+    'use strict';
+
+    function listScroll() {
+        var list = $('[data-action="scroll"]').addClass('carousel');
+        var listInner = $('> .minilist.items', list);
+        var items = $('.item', list);
+        var itemWidth = $(items[0]).outerWidth();
+        var perpage = Math.floor(list.outerWidth()/itemWidth);
+        var pages = Math.floor(items.length/perpage);
+        var page=0;
+        for (var i=0 ; i < perpage; i++) {
+            $(items[i + page*perpage]).addClass('shown');
+        };
+        for (var i=perpage; i < items.length; i++) {
+            $(items[i + page*perpage]).addClass('hidden');
+        };
+        if ( itemWidth*items.length > list.outerWidth() ) {
+                var next = $('<button class="action next" type="button"><span>Next</span></button>');
+                var previous = $('<button class="action previous" type="button"><span>Previous</span></button>').attr('disabled', 'disabled');
+                list.append(previous);
+                list.append(next);
+                listInner.wrap('<div class="items-wrapper" />');
+                $('.items-wrapper').css('width', itemWidth*perpage);
+                next.on('click.itemsScroll', function() {
+                            list.addClass('animation');
+                            items.removeClass('shown');
+                            items.removeClass('hidden');
+                            listInner.animate({
+                            left: '-=' + itemWidth*perpage,
+                        }, 400, 'easeInOutCubic', function() {
+                            // Animation complete.
+                            page = page + 1;
+                            for (var i=0 ; i < perpage; i++) {
+                                $(items[i + page*perpage]).addClass('shown');
+                            };
+                            for (var i=perpage; i < items.length; i++) {
+                                $(items[i + page*perpage]).addClass('hidden');
+                            };
+                            console.log(i);
+                            previous.removeAttr('disabled');
+                            if (page == pages) {
+                                next.attr('disabled', 'disabled');
+                            }
+                            list.removeClass('animation');
+                        });
+                    });
+                previous.on('click.itemsScroll', function() {
+                            list.addClass('animation');
+                            items.removeClass('shown');
+                            items.removeClass('hidden');
+                            listInner.animate({
+                            left: '+=' + itemWidth*perpage,
+                        }, 400, 'easeInOutCubic', function() {
+                            // Animation complete.
+                            page = page - 1;
+                            for (var i=0 ; i < perpage; i++) {
+                                $(items[i + page*perpage]).addClass('shown');
+                            };
+                            for (var i=perpage; i < items.length; i++) {
+                                $(items[i + page*perpage]).addClass('hidden');
+                            };
+                            next.removeAttr('disabled');
+                            if (page == 0) {
+                                previous.attr('disabled', 'disabled');
+                            }
+                            list.removeClass('animation');
+                        });
+                    });
+
+        }
+    }
+
+    $(document).ready(function() {
+        listScroll();
+
+        if ($('body').hasClass('checkout-cart-index')) {
+            $('.cart.summary > .block > .title').dropdown({autoclose:false, menu:'.title + .content'});
+            if ($('#co-shipping-method-form .fieldset.rates').length > 0 && $('#co-shipping-method-form .fieldset.rates :checked').length === 0 ) {
+                $('.block.shipping > .title').addClass('active');
+                $('.block.shipping').addClass('active');
+            }
+        }
+
+        $('[role="navigation"]').navigationMenu({
+            responsive: true,
+            submenuContiniumEffect: true
+        });
+    });
+
+})(window.jQuery);
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/clearless/all.less b/app/design/frontend/magento_plushe/less/clearless/all.less
new file mode 100644
index 00000000000..c39ad99d5e6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/all.less
@@ -0,0 +1,36 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+// ==============================================
+// Handily import all ClearLess mixins
+// ==============================================
+
+@import "settings";
+@import "typography";
+@import "resets";
+@import "helpers";
+@import "sprites";
+@import "icons";
+@import "arrows";
+@import "grids";
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/clearless/arrows.less b/app/design/frontend/magento_plushe/less/clearless/arrows.less
new file mode 100644
index 00000000000..32f074ecc8b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/arrows.less
@@ -0,0 +1,172 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+.arrow(@pos, @size, @bg-color) {
+    width: 0;
+    height: 0;
+    border: @size solid transparent;
+    ._abbor_el( @pos, @bg-color );
+}
+
+.arrowbox(@pos, @size, @bg-color, @offset:50%) {
+
+    @after-margin: @size * -1px;
+
+    position: relative;
+    background: @bg-color;
+
+    &:after,
+    &:before {
+        ._abpos(@pos);
+        border: solid transparent;
+        content: " ";
+        height: 0;
+        width: 0;
+        position: absolute;
+        pointer-events: none;
+    }
+
+    &:after {
+        border-color: transparent;
+        ._abbor_el(@pos, @bg-color);
+        border-width: @size;
+        ._abpos_el(@pos, @size, @offset);
+        ._abmar_el(@pos, @after-margin);
+    }
+
+}
+
+.arrowbox(@pos, @size, @bg-color, @border-width, @border-color, @offset:50%) {
+
+    @before-margin: (@size + round(@border-width * 1.41421356)) * -1px;
+
+    .arrowbox(@pos, @size, @bg-color, @offset);
+
+    border: @border-width solid @border-color;
+
+    &:before {
+        border-color: transparent;
+        ._abbor_el(@pos, @border-color);
+        border-width: @before-margin * -1;
+        ._abpos_el(@pos, @size, @offset);
+        ._abmar_el(@pos, @before-margin);
+    }
+
+}
+
+._abpos( @pos ) when ( @pos = left ) {
+    right: 100%;
+}
+
+._abpos( @pos ) when ( @pos = right ) {
+    left: 100%;
+}
+
+._abpos( @pos ) when ( @pos = up ) {
+    bottom: 100%;
+}
+
+._abpos( @pos ) when ( @pos = down ) {
+    top: 100%;
+}
+
+._abpos_el( @pos, @size, @offset ) when ( @offset = 0 ) and ( @pos = left ) {
+    top: @size;
+}
+
+._abpos_el( @pos, @size, @offset ) when ( @offset = 0 ) and ( @pos = right ) {
+    top: @size;
+}
+
+._abpos_el( @pos, @size, @offset ) when ( @offset = 0 ) and ( @pos = up ) {
+    left: @size;
+}
+
+._abpos_el( @pos, @size, @offset ) when ( @offset = 0 ) and ( @pos = down ) {
+    left: @size;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and not ( ispixel(@offset) ) and ( @pos = left ) {
+    top: @offset;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and not ( ispixel(@offset) ) and ( @pos = right ) {
+    top: @offset;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and not ( ispixel(@offset) ) and ( @pos = up ) {
+    left: @offset;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and not ( ispixel(@offset) ) and ( @pos = down ) {
+    left: @offset;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and ( ispixel(@offset) ) and ( @pos = left ) {
+    top: @offset + @size;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and ( ispixel(@offset) ) and ( @pos = right ) {
+    top: @offset + @size;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and ( ispixel(@offset) ) and ( @pos = up ) {
+    left: @offset + @size;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and ( ispixel(@offset) ) and ( @pos = down ) {
+    left: @offset + @size;
+}
+
+._abbor_el( @pos, @color ) when ( @pos = left ) {
+    border-right-color: @color;
+}
+
+._abbor_el( @pos, @color ) when ( @pos = right ) {
+    border-left-color: @color;
+}
+
+._abbor_el( @pos, @color ) when ( @pos = up ) {
+    border-bottom-color: @color;
+}
+
+._abbor_el( @pos, @color ) when ( @pos = down ) {
+    border-top-color: @color;
+}
+
+._abmar_el( @pos, @margin ) when ( @pos = left ) {
+    margin-top: @margin;
+}
+
+._abmar_el( @pos, @margin ) when ( @pos = right ) {
+    margin-top: @margin;
+}
+
+._abmar_el( @pos, @margin ) when ( @pos = up ) {
+    margin-left: @margin;
+}
+
+._abmar_el( @pos, @margin ) when ( @pos = down ) {
+    margin-left: @margin;
+}
diff --git a/app/design/frontend/magento_plushe/less/clearless/grids.less b/app/design/frontend/magento_plushe/less/clearless/grids.less
new file mode 100644
index 00000000000..33fd73b9bef
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/grids.less
@@ -0,0 +1,186 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+// ==============================================
+// Grid mixins
+// ==============================================
+
+// You shouldn't need to touch this! Internal use only.
+@column-width: 1;
+@total-columns: 1;
+@gutter-width: 1;
+@grid-width: (@column-width*@total-columns) + (@gutter-width*(@total-columns - 1));
+
+.column-wrapper() {
+    width: 100%;
+}
+
+.inline-column-wrapper() when not (@using-ieclasses) {
+    letter-spacing: -0.31em;
+    *letter-spacing: normal;
+    word-spacing: -0.43em;
+}
+
+.inline-column-wrapper() when (@using-ieclasses) {
+    letter-spacing: -0.31em;
+    word-spacing: -0.43em;
+    .ie7 & {
+        letter-spacing: normal;
+    }
+}
+
+.column() {
+    float: left;
+    .column-gutter();
+}
+
+.column( @span ) when (@span = false) {
+    float: left;
+}
+
+.column( @span, @total-columns:@total-columns, @end-column:false ) when (isnumber(@span)) and (isnumber(@total-columns)) and not (isnumber(@end-column)) {
+    @showgutter: false;
+    .column(@showgutter);
+    .span( @span, @total-columns );
+}
+
+.column( @span, @total-columns:@total-columns, @end-column:false ) when (isnumber(@span)) and (isnumber(@total-columns)) and (@end-column = true) {
+    @showgutter: false;
+    .column(@showgutter);
+    .span( @span, @total-columns );
+    .end-column();
+}
+
+.column( @span, @end-column ) when (isnumber(@span)) and not (isnumber(@end-column)) {
+    @showgutter: false;
+    .column(@showgutter);
+    .span( @span );
+}
+
+.column( @span, @end-column ) when (isnumber(@span)) and ( @end-column = true ) {
+    @showgutter: false;
+    .column(@showgutter);
+    .span( @span );
+    .end-column();
+}
+
+.inline-column() {
+    .inline-block();
+    vertical-align: top;
+    letter-spacing: normal;
+    word-spacing: normal;
+    .column-gutter();
+}
+
+.inline-column( @span ) when (@span = false) {
+    .inline-block();
+    vertical-align: top;
+    letter-spacing: normal;
+    word-spacing: normal;
+}
+
+.inline-column( @span, @total-columns:@total-columns, @end-column:false ) when (isnumber(@span)) and (isnumber(@total-columns)) {
+    @showgutter: false;
+    .inline-column(@showgutter);
+    .span( @span, @total-columns );
+}
+
+.inline-column( @span, @total-columns:@total-columns, @end-column:false ) when (isnumber(@span)) and (@end-column = true) {
+    @showgutter: false;
+    .inline-column(@showgutter);
+    .span( @span, @total-columns );
+    .inline-end-column();
+}
+
+.inline-column( @span, @end-column ) when not (isnumber(@end-column)) {
+    @showgutter: false;
+    .inline-column(@showgutter);
+    .span( @span );
+}
+
+.inline-column( @span, @end-column ) when (@end-column = true) {
+    @showgutter: false;
+    .inline-column(@showgutter);
+    .span( @span );
+    .inline-end-column();
+}
+
+.end-column() {
+    margin-right: 0;
+    float: right;
+}
+
+.inline-end-column() {
+    margin-right: 0;
+}
+
+.span( @span ) {
+    .column-width(@span, @total-columns);
+}
+
+.span( @span, @total-columns ) when (isnumber(@total-columns)) {
+    .column-width(@span, @total-columns);
+    .column-gutter(@total-columns);
+}
+
+.pre-pad( @span, @total-columns:@total-columns ) {
+    @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width);
+    padding-left: @calc-column-width;
+}
+
+.post-pad( @span, @total-columns:@total-columns ) {
+    @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width);
+    padding-right: @calc-column-width;
+}
+
+.pre-push( @span, @total-columns:@total-columns ) {
+    @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width);
+    margin-left: @calc-column-width;
+}
+
+.post-push( @span, @total-columns:@total-columns ) {
+    @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)+@gutter-width) / @grid-width);
+    margin-right: @calc-column-width;
+}
+
+.post-push-end( @span, @total-columns:@total-columns ) {
+    @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width);
+    margin-right: @calc-column-width;
+}
+
+.column-width(@span, @total-columns:@total-columns) {
+    @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)-@gutter-width) / @grid-width);
+    width: @calc-column-width;
+}
+
+.column-gutter(@total-columns:@total-columns, @end-column:false) when (@end-column) {
+    margin-right: 0;
+}
+
+.column-gutter(@total-columns:@total-columns, @end-column:false) when not (@end-column) {
+    @calc-gutter-width: 100%*(@gutter-width/@grid-width);
+    margin-right: @calc-gutter-width;
+}
+
+
diff --git a/app/design/frontend/magento_plushe/less/clearless/helpers.less b/app/design/frontend/magento_plushe/less/clearless/helpers.less
new file mode 100644
index 00000000000..87bc3a2affd
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/helpers.less
@@ -0,0 +1,248 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+// ==============================================
+// Misc helpers and shortcuts
+// ==============================================
+
+// Shortcuts --------------------------------
+
+.border-radius(@radius:5px) {
+    -webkit-border-radius: @arguments;
+    -moz-border-radius: @arguments;
+    border-radius: @arguments;
+}
+
+.box-sizing(@type: border-box) {
+    -moz-box-sizing: @type;
+    -webkit-box-sizing: @type;
+    -ms-box-sizing: @type;
+    box-sizing: @type;
+}
+
+.box-shadow(@shadow: 1px 1px 2px rgba(0,0,0,0.25)) {
+    -webkit-box-shadow: @shadow;
+    -moz-box-shadow: @shadow;
+    box-shadow: @shadow;
+}
+
+.filter(@filter: grayscale(100%)) {
+    -webkit-filter: @filter;
+    -moz-filter: @filter;
+    -ms-filter: @filter;
+    -o-filter: @filter;
+    filter: @filter;
+}
+
+.transition(@transition) {
+    -webkit-transition: @transition;
+    -moz-transition: @transition;
+    transition: @transition;
+}
+
+.rotate(@rotation) {
+    -webkit-transform: rotate(@rotation);
+    -moz-transform: rotate(@rotation);
+    -o-transform: rotate(@rotation);
+    transform: rotate(@rotation);
+}
+
+.placeholder(@color: #DDD) {
+    :-moz-placeholder {
+        color: @color;
+    }
+    ::-webkit-input-placeholder {
+        color: @color;
+    }
+}
+
+#gradient {
+    .horizontal (@start-color, @end-color) when not (@disable-filters) {
+        background-color: @end-color;
+        background-repeat: repeat-x;
+        background-image: -khtml-gradient(linear, left top, right top, from(@start-color), to(@end-color)); /* Konqueror */
+        background-image: -moz-linear-gradient(left, @start-color, @end-color); /* FF 3.6+ */
+        background-image: -ms-linear-gradient(left, @start-color, @end-color); /* IE10 */
+        background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, @start-color), color-stop(100%, @end-color)); /* Safari 4+, Chrome 2+ */
+        background-image: -webkit-linear-gradient(left, @start-color, @end-color); /* Safari 5.1+, Chrome 10+ */
+        background-image: -o-linear-gradient(left, @start-color, @end-color); /* Opera 11.10 */
+        background-image: -ms-linear-gradient(left, @start-color 0%, @end-color 100%); /* IE10+ */
+        background-image: linear-gradient(left, @start-color, @end-color); /* the standard */
+        filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",@start-color,@end-color)); /* IE6 & IE7 */
+        -ms-filter: %("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",@start-color,@end-color); /* IE8+ */
+    }
+    .horizontal (@start-color, @end-color) when (@disable-filters) {
+        background-color: @end-color;
+        background-repeat: repeat-x;
+        background-image: -khtml-gradient(linear, left top, right top, from(@start-color), to(@end-color)); /* Konqueror */
+        background-image: -moz-linear-gradient(left, @start-color, @end-color); /* FF 3.6+ */
+        background-image: -ms-linear-gradient(left, @start-color, @end-color); /* IE10 */
+        background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, @start-color), color-stop(100%, @end-color)); /* Safari 4+, Chrome 2+ */
+        background-image: -webkit-linear-gradient(left, @start-color, @end-color); /* Safari 5.1+, Chrome 10+ */
+        background-image: -o-linear-gradient(left, @start-color, @end-color); /* Opera 11.10 */
+        background-image: -ms-linear-gradient(left, @start-color 0%, @end-color 100%); /* IE10+ */
+        background-image: linear-gradient(left, @start-color, @end-color); /* the standard */
+    }
+    .vertical (@start-color, @end-color) when (@disable-filters) {
+        background-color: @end-color;
+        background-repeat: repeat-x;
+        background-image: -khtml-gradient(linear, left top, left bottom, from(@start-color), to(@end-color)); /* Konqueror */
+        background-image: -moz-linear-gradient(@start-color, @end-color); /* FF 3.6+ */
+        background-image: -ms-linear-gradient(@start-color, @end-color); /* IE10 */
+        background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, @start-color), color-stop(100%, @end-color)); /* Safari 4+, Chrome 2+ */
+        background-image: -webkit-linear-gradient(@start-color, @end-color); /* Safari 5.1+, Chrome 10+ */
+        background-image: -o-linear-gradient(@start-color, @end-color); /* Opera 11.10 */
+        background-image: -ms-linear-gradient(top, @start-color 0%, @end-color 100%); /* IE10+ */
+        background-image: linear-gradient(@start-color, @end-color); /* the standard */
+    }
+    .vertical (@start-color, @end-color) when not (@disable-filters) {
+        background-color: @end-color;
+        background-repeat: repeat-x;
+        background-image: -khtml-gradient(linear, left top, left bottom, from(@start-color), to(@end-color)); /* Konqueror */
+        background-image: -moz-linear-gradient(@start-color, @end-color); /* FF 3.6+ */
+        background-image: -ms-linear-gradient(@start-color, @end-color); /* IE10 */
+        background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, @start-color), color-stop(100%, @end-color)); /* Safari 4+, Chrome 2+ */
+        background-image: -webkit-linear-gradient(@start-color, @end-color); /* Safari 5.1+, Chrome 10+ */
+        background-image: -o-linear-gradient(@start-color, @end-color); /* Opera 11.10 */
+        background-image: -ms-linear-gradient(top, @start-color 0%, @end-color 100%); /* IE10+ */
+        background-image: linear-gradient(@start-color, @end-color); /* the standard */
+        filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@start-color,@end-color)); /* IE6 & IE7 */
+        -ms-filter: %("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@start-color,@end-color); /* IE8+ */
+    }
+}
+
+// Helpers --------------------------------
+
+.clearfix() when not (@using-ieclasses) {
+    &:before,
+    &:after {
+        content: "";
+        display: table;
+    }
+    &:after {
+        clear: both;
+    }
+    *zoom: 1;
+}
+
+.clearfix() when (@using-ieclasses) {
+    &:before,
+    &:after {
+        content: "";
+        display: table;
+    }
+    &:after {
+        clear: both;
+    }
+    .ie6 &, .ie7 & {
+        zoom: 1;
+    }
+}
+
+.inline-block() when (@using-ieclasses) {
+    display: inline-block;
+    .ie7 & {
+        display: inline;
+        zoom: 1;
+    }
+}
+
+.inline-block() when not (@using-ieclasses) {
+    display: inline-block;
+    *display: inline;
+    *zoom: 1;
+}
+
+.ir() {
+    border: 0;
+    font: 0/0 a;
+    text-shadow: none;
+    color: transparent;
+    background-color: transparent;
+}
+
+.hidden() {
+    display: none !important;
+    visibility: hidden;
+}
+
+.visually-hidden() {
+    border: 0;
+    clip: rect(0 0 0 0);
+    height: 1px;
+    margin: -1px;
+    overflow: hidden;
+    padding: 0;
+    position: absolute;
+    width: 1px;
+    &.focusable:active,
+    &.focusable:focus {
+        clip: auto;
+        height: auto;
+        margin: 0;
+        overflow: visible;
+        position: static;
+        width: auto;
+    }
+}
+
+.size(@thesize) {
+    width: @thesize;
+    height: @thesize;
+}
+
+.size(@width, @height) {
+    width: @width;
+    height: @height;
+}
+
+// System --------------------------------
+
+.nudge-l( @pos ) when ( @pos = 0 ) {
+}
+
+.nudge-l( @pos ) when not ( @pos = 0 ) {
+    left: @pos;
+}
+
+.nudge-r( @pos ) when ( @pos = 0 ) {
+}
+
+.nudge-r( @pos ) when not ( @pos = 0 ) {
+    right: @pos;
+}
+
+.nudge-t( @pos ) when ( @pos = 0 ) {
+}
+
+.nudge-t( @pos ) when not ( @pos = 0 ) {
+    top: @pos;
+}
+
+.nudge-b( @pos ) when ( @pos = 0 ) {
+}
+
+.nudge-b( @pos ) when not ( @pos = 0 ) {
+    bottom: @pos;
+}
diff --git a/app/design/frontend/magento_plushe/less/clearless/icons.less b/app/design/frontend/magento_plushe/less/clearless/icons.less
new file mode 100644
index 00000000000..e8385fb4e2c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/icons.less
@@ -0,0 +1,327 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+// ==============================================
+// Generated content icon helpers
+// ----------------------------------------------
+// These can only be used on block or inline-block elements.
+// ==============================================
+
+// Non-sprited icons --------------------------------
+
+.prepend-icon( @icon-image, @width, @height, @nudge-left:0, @nudge-top:0, @pad:10px ) when (@using-modernizr) {
+    .generatedcontent & {
+        position: relative;
+        padding-left: @width + @pad;
+    }
+    .generatedcontent &:before {
+        ._generated-icon( @width, @height, @icon-image );
+        top: @nudge-top;
+        left: @nudge-left;
+    }
+}
+
+.prepend-icon( @icon-image, @width, @height, @nudge-left:0, @nudge-top:0, @pad:10px ) when not (@using-modernizr) {
+    position: relative;
+    padding-left: @width + @pad;
+    &:before {
+        ._generated-icon( @width, @height, @icon-image );
+        top: @nudge-top;
+        left: @nudge-left;
+    }
+}
+
+.append-icon( @icon-image, @width, @height, @nudge-right:0, @nudge-top:0, @pad:10px ) when (@using-modernizr) {
+    .generatedcontent & {
+        position: relative;
+        padding-right: @width + @pad;
+    }
+    .generatedcontent &:after {
+        ._generated-icon( @width, @height, @icon-image );
+        top: @nudge-top;
+        right: @nudge-right;
+    }
+}
+
+.append-icon( @icon-image, @width, @height, @nudge-right:0, @nudge-top:0, @pad:10px ) when not (@using-modernizr) {
+    position: relative;
+    padding-right: @width + @pad;
+    .generatedcontent &:after {
+        ._generated-icon( @width, @height, @icon-image );
+        top: @nudge-top;
+        right: @nudge-right;
+    }
+}
+
+// Sprited icons --------------------------------
+
+.prepend-sprite-icon(@x, @y, @width, @height, @nudge-left:0, @nudge-top:0, @pad:10px, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when (@using-modernizr) {
+    .generatedcontent & {
+        position: relative;
+        padding-left: @width + @pad;
+    }
+    .generatedcontent &:before {
+        ._generated-sprite-icon( @x, @y, @width, @height, @sprite-image, @sprite-grid );
+        top: @nudge-top;
+        left: @nudge-left;
+    }
+}
+
+.prepend-sprite-icon(@x, @y, @width, @height, @nudge-left:0, @nudge-top:0, @pad:10px, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when not (@using-modernizr) {
+    position: relative;
+    padding-left: @width + @pad;
+    &:before {
+        ._generated-sprite-icon( @x, @y, @width, @height, @sprite-image, @sprite-grid );
+        top: @nudge-top;
+        left: @nudge-left;
+    }
+}
+
+.append-sprite-icon(@x, @y, @width, @height, @nudge-right:0, @nudge-top:0, @pad:10px, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when (@using-modernizr) {
+    .generatedcontent & {
+        padding-right: @width + @pad;
+        position: relative;
+    }
+    .generatedcontent &:after {
+        ._generated-sprite-icon( @x, @y, @width, @height, @sprite-image, @sprite-grid );
+        top: @nudge-top;
+        right: @nudge-right;
+    }
+}
+
+.append-sprite-icon(@x, @y, @width, @height, @nudge-right:0, @nudge-top:0, @pad:10px, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when not (@using-modernizr) {
+    position: relative;
+    padding-right: @width + @pad;
+    &:after {
+        ._generated-sprite-icon( @x, @y, @width, @height, @sprite-image, @sprite-grid );
+        top: @nudge-top;
+        right: @nudge-right;
+    }
+}
+
+.prepend-sprite-icon-pos(@x, @y, @nudge-left:0, @nudge-top:0, @sprite-grid:@sprite-grid) when (@using-modernizr) {
+    .generatedcontent &:before {
+        .sprite-pos(@x, @y, @sprite-grid);
+        .nudge-l(@nudge-left);
+        .nudge-t(@nudge-top);
+    }
+}
+
+.prepend-sprite-icon-pos(@x, @y, @nudge-left:0, @nudge-top:0, @sprite-grid:@sprite-grid) when not (@using-modernizr) {
+    &:before {
+        .sprite-pos(@x, @y, @sprite-grid);
+        .nudge-l(@nudge-left);
+        .nudge-t(@nudge-top);
+    }
+}
+
+.append-sprite-icon-pos(@x, @y, @nudge-right:0, @nudge-top:0, @sprite-grid:@sprite-grid) when (@using-modernizr) {
+    .generatedcontent &:after {
+        .sprite-pos(@x, @y, @sprite-grid);
+        .nudge-r(@nudge-right);
+        .nudge-t(@nudge-top);
+    }
+}
+
+.append-sprite-icon-pos(@x, @y, @nudge-right:0, @nudge-top:0, @sprite-grid:@sprite-grid) when not (@using-modernizr) {
+    &:after {
+        .sprite-pos(@x, @y, @sprite-grid);
+        .nudge-r(@nudge-right);
+        .nudge-t(@nudge-top);
+    }
+}
+
+// ---- Partials -----------------------
+
+.prepend-icon-setup(@width:0, @height:0, @nudge-left:0, @nudge-top:0, @pad:10px) when (@using-modernizr) {
+    .generatedcontent & {
+        position: relative;
+        ._pad-left(@width, @pad);
+    }
+    .generatedcontent &:before {
+        position: absolute;
+        display: block;
+        content: ' ';
+        top: 0;
+        left: 0;
+        ._size(@width, @height);
+    }
+}
+
+.prepend-icon-setup(@width:0, @height:0, @nudge-left:0, @nudge-top:0, @pad:10px) when not (@using-modernizr) {
+    position: relative;
+    ._pad-left(@width, @pad);
+    &:before {
+        position: absolute;
+        display: block;
+        content: ' ';
+        top: 0;
+        left: 0;
+        ._size(@width, @height);
+    }
+}
+
+.append-icon-setup(@width:0, @height:0, @nudge-left:0, @nudge-top:0, @pad:10px) when (@using-modernizr) {
+    .generatedcontent & {
+        position: relative;
+        ._pad-right(@width, @pad);
+    }
+    .generatedcontent &:after {
+        position: absolute;
+        display: block;
+        content: ' ';
+        top: 0;
+        right: 0;
+        ._size(@width, @height);
+    }
+}
+
+.append-icon-setup(@width:0, @height:0, @nudge-left:0, @nudge-top:0, @pad:10px) when not (@using-modernizr) {
+    position: relative;
+    ._pad-right(@width, @pad);
+    &:after {
+        position: absolute;
+        display: block;
+        content: ' ';
+        top: 0;
+        right: 0;
+        ._size(@width, @height);
+    }
+}
+
+.prepend-icon-image(@icon-image, @width:0, @height:0, @nudge-left:0, @nudge-top:0, @pad:10px) when (@using-modernizr) {
+    ._gc-pad-left(@width, @pad);
+    .generatedcontent &:before {
+        background: url(@icon-image) no-repeat 0 0;
+        ._size(@width, @height);
+        .nudge-l(@nudge-left);
+        .nudge-t(@nudge-top);
+    }
+}
+
+.prepend-icon-image(@icon-image, @width:0, @height:0, @nudge-left:0, @nudge-top:0, @pad:10px) when not (@using-modernizr) {
+    ._pad-left(@width, @pad);
+    &:before {
+        background: url(@icon-image) no-repeat 0 0;
+        ._size(@width, @height);
+        .nudge-l(@nudge-left);
+        .nudge-t(@nudge-top);
+    }
+}
+
+.append-icon-image(@icon-image, @width:0, @height:0, @nudge-right:0, @nudge-top:0, @pad:10px) when (@using-modernizr) {
+    ._gc-pad-right(@width, @pad);
+    .generatedcontent &:after {
+        background: url(@icon-image) no-repeat 0 0;
+        ._size(@width, @height);
+        .nudge-r(@nudge-right);
+        .nudge-t(@nudge-top);
+    }
+}
+
+.append-icon-image(@icon-image, @width:0, @height:0, @nudge-right:0, @nudge-top:0, @pad:10px) when not (@using-modernizr) {
+    ._pad-right(@width, @pad);
+    &:after {
+        background: url(@icon-image) no-repeat 0 0;
+        ._size(@width, @height);
+        .nudge-r(@nudge-right);
+        .nudge-t(@nudge-top);
+    }
+}
+
+// ---- internal use mixins -----------------------
+
+._generated-icon(@width, @height, @icon-image) {
+    position: absolute;
+    display: block;
+    content: ' ';
+    background: url(@icon-image) no-repeat 0 0;
+    .size(@width, @height);
+}
+
+._generated-sprite-icon(@x, @y, @width, @height, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) {
+    position: absolute;
+    display: block;
+    content: ' ';
+    .sprite-sized(@x, @y, @width, @height, @sprite-image, @sprite-grid);
+}
+
+._pad-left(@width, @pad) when (@width = 0) {
+}
+
+._pad-left(@width, @pad) when not (@width = 0) {
+    padding-left: @width + @pad;
+}
+
+._pad-right(@width, @pad) when (@width = 0) {
+}
+
+._pad-right(@width, @pad) when not (@width = 0) {
+    padding-right: @width + @pad;
+}
+
+._gc-pad-left(@width, @pad) when (@width = 0) {
+}
+
+._gc-pad-right(@width, @pad) when (@width = 0) {
+}
+
+._gc-pad-left(@width, @pad) when not (@width = 0) and (@using-modernizr) {
+    .generatedcontent & {
+        ._pad-left(@width, @pad);
+    }
+}
+
+._gc-pad-left(@width, @pad) when not (@width = 0) and not (@using-modernizr) {
+    ._pad-left(@width, @pad);
+}
+
+._gc-pad-right(@width, @pad) when not (@width = 0) {
+    .generatedcontent & {
+        ._pad-right(@width, @pad);
+    }
+}
+
+._gc-pad-right(@width, @pad) when not (@width = 0) and not (@using-modernizr) {
+    ._pad-right(@width, @pad);
+}
+
+._size(@width, @height) when (@width = 0) and (@height = 0) {
+}
+
+._size(@width, @height) when (@width = 0) and not (@height = 0) {
+    height: @height;
+}
+
+._size(@width, @height) when not (@width = 0) and (@height = 0) {
+    width: @width;
+}
+
+._size(@width, @height) when not (@width = 0) and not (@height = 0) {
+    width: @width;
+    height: @height;
+}
+
+
+
diff --git a/app/design/frontend/magento_plushe/less/clearless/resets.less b/app/design/frontend/magento_plushe/less/clearless/resets.less
new file mode 100644
index 00000000000..d2eb436ac3d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/resets.less
@@ -0,0 +1,307 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+.normalize() {
+
+    /* normalize.css 2012-03-11T12:53 UTC - http://github.com/necolas/normalize.css */
+
+    article,
+    aside,
+    details,
+    figcaption,
+    figure,
+    footer,
+    header,
+    hgroup,
+    nav,
+    section,
+    summary {
+        display: block;
+    }
+    audio,
+    canvas,
+    video {
+        display: inline-block;
+        *display: inline;
+        *zoom: 1;
+    }
+    audio:not([controls]) {
+        display: none;
+        height: 0;
+    }
+    [hidden] {
+        display: none;
+    }
+    html {
+        font-size: 100%;
+        -webkit-text-size-adjust: 100%;
+        -ms-text-size-adjust: 100%;
+    }
+    html,
+    button,
+    input,
+    select,
+    textarea {
+        font-family: sans-serif;
+    }
+    body {
+        margin: 0;
+    }
+    a:focus {
+        outline: thin dotted;
+    }
+    a:hover,
+    a:active {
+        outline: 0;
+    }
+    h1 {
+        font-size: 2em;
+        margin: 0.67em 0;
+    }
+    h2 {
+        font-size: 1.5em;
+        margin: 0.83em 0;
+    }
+    h3 {
+        font-size: 1.17em;
+        margin: 1em 0;
+    }
+    h4 {
+        font-size: 1em;
+        margin: 1.33em 0;
+    }
+    h5 {
+        font-size: 0.83em;
+        margin: 1.67em 0;
+    }
+    h6 {
+        font-size: 0.75em;
+        margin: 2.33em 0;
+    }
+    abbr[title] {
+        border-bottom: 1px dotted;
+    }
+    b,
+    strong {
+        font-weight: bold;
+    }
+    blockquote {
+        margin: 1em 40px;
+    }
+    dfn {
+        font-style: italic;
+    }
+    mark {
+        background: #ff0;
+        color: #000;
+    }
+    p,
+    pre {
+        margin: 1em 0;
+    }
+    pre,
+    code,
+    kbd,
+    samp {
+        font-family: monospace, serif;
+        _font-family: 'courier new', monospace;
+        font-size: 1em;
+    }
+    pre {
+        white-space: pre;
+        white-space: pre-wrap;
+        word-wrap: break-word;
+    }
+    q {
+        quotes: none;
+    }
+    q:before,
+    q:after {
+        content: '';
+        content: none;
+    }
+    small {
+        font-size: 75%;
+    }
+    sub,
+    sup {
+        font-size: 75%;
+        line-height: 0;
+        position: relative;
+        vertical-align: baseline;
+    }
+    sup {
+        top: -0.5em;
+    }
+    sub {
+        bottom: -0.25em;
+    }
+    dl,
+    menu,
+    ol,
+    ul {
+        margin: 1em 0;
+    }
+    dd {
+        margin: 0 0 0 40px;
+    }
+    menu,
+    ol,
+    ul {
+        padding: 0 0 0 40px;
+    }
+    nav ul,
+    nav ol {
+        list-style: none;
+        list-style-image: none;
+    }
+    img {
+        border: 0;
+        -ms-interpolation-mode: bicubic;
+    }
+    svg:not(:root) {
+        overflow: hidden;
+    }
+    figure {
+        margin: 0;
+    }
+    form {
+        margin: 0;
+    }
+    fieldset {
+        border: 1px solid #c0c0c0;
+        margin: 0 2px;
+        padding: 0.35em 0.625em 0.75em;
+    }
+    legend {
+        border: 0;
+        padding: 0;
+        white-space: normal;
+        *margin-left: -7px;
+    }
+    button,
+    input,
+    select,
+    textarea {
+        font-size: 100%;
+        margin: 0;
+        vertical-align: baseline;
+        *vertical-align: middle;
+    }
+    button,
+    input {
+        line-height: normal;
+    }
+    button,
+    input[type="button"],
+    input[type="reset"],
+    input[type="submit"] {
+        cursor: pointer;
+        -webkit-appearance: button;
+        *overflow: visible;
+    }
+    button[disabled],
+    input[disabled] {
+        cursor: default;
+    }
+    input[type="checkbox"],
+    input[type="radio"] {
+        box-sizing: border-box;
+        padding: 0;
+        *height: 13px;
+        *width: 13px;
+    }
+    input[type="search"] {
+        -webkit-appearance: textfield;
+        -moz-box-sizing: content-box;
+        -webkit-box-sizing: content-box;
+        box-sizing: content-box;
+    }
+    input[type="search"]::-webkit-search-decoration,
+    input[type="search"]::-webkit-search-cancel-button {
+        -webkit-appearance: none;
+    }
+    button::-moz-focus-inner,
+    input::-moz-focus-inner {
+        border: 0;
+        padding: 0;
+    }
+    textarea {
+        overflow: auto;
+        vertical-align: top;
+    }
+    table {
+        border-collapse: collapse;
+        border-spacing: 0;
+    }
+}
+
+.reset() {
+
+    /* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 */
+
+    html, body, div, span, applet, object, iframe,
+    h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+    a, abbr, acronym, address, big, cite, code,
+    del, dfn, em, img, ins, kbd, q, s, samp,
+    small, strike, strong, sub, sup, tt, var,
+    b, u, i, center,
+    dl, dt, dd, ol, ul, li,
+    fieldset, form, label, legend,
+    table, caption, tbody, tfoot, thead, tr, th, td,
+    article, aside, canvas, details, embed,
+    figure, figcaption, footer, header, hgroup,
+    menu, nav, output, ruby, section, summary,
+    time, mark, audio, video {
+        margin: 0;
+        padding: 0;
+        border: 0;
+        font-size: 100%;
+        font: inherit;
+        vertical-align: baseline;
+    }
+    article, aside, details, figcaption, figure,
+    footer, header, hgroup, menu, nav, section {
+        display: block;
+    }
+    body {
+        line-height: 1;
+    }
+    ol, ul {
+        list-style: none;
+    }
+    blockquote, q {
+        quotes: none;
+    }
+    blockquote:before, blockquote:after,
+    q:before, q:after {
+        content: '';
+        content: none;
+    }
+    table {
+        border-collapse: collapse;
+        border-spacing: 0;
+    }
+
+}
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/clearless/settings.less b/app/design/frontend/magento_plushe/less/clearless/settings.less
new file mode 100644
index 00000000000..5be0f95544f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/settings.less
@@ -0,0 +1,50 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+// ==============================================
+// ClearLess default settings
+// ----------------------------------------------
+// Override on a per-project basis as required. 
+// ==============================================
+
+// General --------------------------------
+
+@using-ieclasses: true; // whether or not the markup has html5-boilerplate style IE classes in it or not
+@using-modernizr: false; // whether or not modernizer feature-detection classes are being used
+@disable-filters: true; // whether or not to disable MS-specific 'filter' properties (can make IE slow!)
+
+// Typography --------------------------------
+
+@base-font-size: 16; // base pixel font size. Used as a default for px -> (r)em conversions
+
+// Sprites --------------------------------
+
+@sprite-image: '/example.png';
+@sprite-grid: 50px;
+
+// Grid --------------------------------
+
+@total-columns: 12;
+@column-width: 60px;
+@gutter-width: 20px;
diff --git a/app/design/frontend/magento_plushe/less/clearless/sprites.less b/app/design/frontend/magento_plushe/less/clearless/sprites.less
new file mode 100644
index 00000000000..d797e9e063d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/sprites.less
@@ -0,0 +1,75 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+// ==============================================
+// Sprite helpers
+// ==============================================
+
+.sprite(@x, @y, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) {
+    .sprite-image(@sprite-image);
+    .sprite-pos(@x, @y, @sprite-grid);
+}
+
+.sprite-sized(@x, @y, @size, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when not (isnumber(@sprite-image)) {
+    .sprite(@x, @y, @sprite-image, @sprite-grid);
+    .size(@size);
+}
+
+.sprite-sized(@x, @y, @width, @height, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when (isnumber(@height)) {
+    .sprite(@x, @y, @sprite-image, @sprite-grid);
+    .size(@width,@height);
+}
+
+.sprite-ir(@x, @y, @size, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when not (isnumber(@sprite-image)) {
+    .ir();
+    .sprite(@x, @y, @sprite-image, @sprite-grid);
+    .size(@size);
+}
+
+.sprite-ir(@x, @y, @width, @height, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when (isnumber(@height)) {
+    .ir();
+    .sprite(@x, @y, @sprite-image, @sprite-grid);
+    .size(@width,@height);
+}
+
+.sprite-image(@sprite-image:@sprite-image) {
+    background-image: url(@sprite-image);
+    background-repeat: no-repeat;
+}
+
+.sprite-pos(@x, @y, @sprite-grid:@sprite-grid) {
+    background-position: -(@x*@sprite-grid*1px)  -(@y*@sprite-grid*1px);
+}
+
+.sprite-pos-sized(@x, @y, @size, @sprite-grid:@sprite-grid) when not (isnumber(@sprite-image)) {
+    .sprite-pos(@x, @y, @sprite-grid);
+    .size(@size);
+}
+
+.sprite-pos-sized(@x, @y, @width, @height, @sprite-grid:@sprite-grid) when (isnumber(@height)) {
+    .sprite-pos(@x, @y, @sprite-grid);
+    .size(@width,@height);
+}
+
+
diff --git a/app/design/frontend/magento_plushe/less/clearless/typography.less b/app/design/frontend/magento_plushe/less/clearless/typography.less
new file mode 100644
index 00000000000..4476de5db90
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/typography.less
@@ -0,0 +1,66 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+// ==============================================
+// Typography related mixins
+// ==============================================
+
+.font-size-rems(@px-size) {
+    @rem-size: @px-size / @base-font-size;
+    font-size: ~"@{px-size}px";
+    font-size: ~"@{rem-size}rem";
+}
+
+.font-size-ems(@target-px-size, @context-px-size:@base-font-size) {
+    font-size: (@target-px-size / @context-px-size) * 1em;
+}
+
+.font-face( @family-name, @font-path, @font-weight:normal, @font-style:normal, @include-svg:false ) when not (@include-svg) {
+    @font-face {
+        font-family: @family-name;
+        src: url('@{font-path}.eot');
+        src: url('@{font-path}.eot?#iefix') format('embedded-opentype'), url('@{font-path}.woff') format('woff'), url('@{font-path}.ttf') format('truetype');
+        font-weight: @font-weight;
+        font-style: @font-style;
+    }
+}
+
+.font-face( @family-name, @font-path, @font-weight:normal, @font-style:normal, @include-svg:false ) when (@include-svg) {
+    @font-face {
+        font-family: @family-name;
+        src: url('@{font-path}.eot');
+        src: url('@{font-path}.eot?#iefix') format('embedded-opentype'), url('@{font-path}.woff') format('woff'), url('@{font-path}.ttf') format('truetype'), url('@{font-path}.svg#@{family-name}') format('svg');
+        font-weight: @font-weight;
+        font-style: @font-style;
+    }
+}
+
+.wrap-words() {
+    -ms-word-break: break-all;
+    word-break: break-all;
+    word-break: break-word;
+    -webkit-hyphens: auto;
+    -moz-hyphens: auto;
+    hyphens: auto;
+}
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/lib/buttons.less b/app/design/frontend/magento_plushe/less/lib/buttons.less
new file mode 100644
index 00000000000..0a89351dd3e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/buttons.less
@@ -0,0 +1,136 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+//  # Primary buttons
+//
+//  Buttons that performs primary action ([read design and usability article](http://linktousabilityarticle.com/))
+//
+//  ```html
+//  <p>Some text here</p>
+//  <button class="action myPrimary" type="button"><span>Primary action</span></button>
+//  <button class="action myPrimary :hover" type="button"><span>Primary hover</span></button>
+//  <button class="action myPrimary :active" type="button"><span>Primary active</span></button>
+//  ```
+//
+
+.action.myPrimary {
+    &:extend(.primary.action all);
+}
+
+.primary.action {
+    &:extend(.button.action all);
+    background-color: @primaryActionBg;
+    color: @primaryActionColor;
+    &:focus,
+    &:active,
+    &:hover {
+        background-color: @primaryActionBgH;
+    }
+}
+
+//  # Secondary buttons
+//
+//  Buttons that performs secondary action ([read design and usability article](http://linktousabilityarticle.com/))
+//
+//  ```html
+//  <button class="action mySecondary" type="button"><span>Secondary action</span></button>
+//  <button class="action mySecondary :hover" type="button"><span>Secondary hover</span></button>
+//  <button class="action mySecondary :active" type="button"><span>Secondary active</span></button>
+//  ```
+//
+
+.action.mySecondary {
+    &:extend(.secondary.action all);
+}
+
+.secondary.action {
+    &:extend(.button.action all);
+    background-color: @secondaryActionBg;
+    color: @secondaryActionColor;
+    &:focus,
+    &:active,
+    &:hover {
+        background-color: @secondaryActionBgH;
+    }
+}
+
+//  # Buttons displayed as links
+//  Buttons that are displayed as links
+//
+//  ```html
+//  <button class="action myLink" type="button"><span>Button as a link</span></button>
+//  <button class="action myLink :hover" type="button"><span>Button as a link hover</span></button>
+//  <button class="action myLink :active" type="button"><span>Button as a link active</span></button>
+//  ```
+//
+
+.action.myLink {
+    &:extend(.button.link all);
+}
+
+.button.link {
+    background: none;
+    border: 0;
+    display: inline;
+    color: @link;
+    margin: 0;
+    padding: 0;
+    text-decoration: underline;
+    &:focus,
+    &:active,
+    &:hover {
+        color: @linkHover;
+        text-decoration: none;
+    }
+}
+
+// # Initial styling for button
+
+.button.action {
+    border: none;
+    border-radius: 0;
+    font: @actionFont;
+    text-transform: uppercase;
+    margin: 0;
+    padding: 9px 11px 9px;
+    box-shadow: none;
+    text-shadow: none;
+    outline: none;
+    text-decoration: none;
+}
+
+// Buttons Initial Variables
+
+//@primaryActionBg:;
+//@primaryActionBgH:;
+//@primaryActionColor:;
+//@secondaryActionBg:;
+//@secondaryActionBgH:;
+//@secondaryActionColor:;
+//@actionFont:;
+
+.action + .action {
+    margin-left: 5px;
+}
diff --git a/app/design/frontend/magento_plushe/less/lib/forms.less b/app/design/frontend/magento_plushe/less/lib/forms.less
new file mode 100644
index 00000000000..e31ebb390cc
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/forms.less
@@ -0,0 +1,919 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+//  #Forms mixins
+//
+//  Mixins for all form elements
+
+.controlStyling() {
+    .box-sizing();
+    background: @fieldBg;
+    border: 1px solid @primary3;
+    border-radius: 3px;
+    font: @baseFontWeight @baseFontSize @baseFont;
+    /* Prevent background color leak outs */
+    background-clip: padding-box;
+    outline: none;
+    &:focus {
+        border-color: @primary4;
+    }
+    .control & {
+        width: 100%;
+    }
+    &:disabled {
+        opacity: 0.5;
+    }
+}
+
+.inputText() {
+    .controlStyling();
+    height: 32px;
+    line-height: 1;
+    padding: 0 10px;
+    &::-webkit-input-placeholder {
+        line-height: 1.333;
+    }
+    &:-ms-input-placeholder {
+        line-height: 1.333;
+    }
+    .eq-ie8 & {
+        padding-top: 8px;
+    }
+}
+
+.formFieldset() {
+    border: 0;
+    margin: 30px 10px 30px 30px;
+    padding: 0;
+    letter-spacing: -0.31em;
+    word-spacing: -0.43em;
+    > * {
+        letter-spacing: normal;
+        word-spacing: normal;
+    }
+    > .legend {
+        float: left;
+        font: @baseFontWeight @legendFontSize/1.2 @baseFont;
+        margin: -30px 30px 50px -30px;
+        width: 100%;
+        & + br {
+            display: block;
+            .clearfix();
+        }
+    }
+}
+
+.formField() {
+    .box-sizing();
+    margin: 0 0 20px;
+    > .label {
+        display: block;
+        padding-bottom: 5px;
+    }
+    .nested .field {
+        margin: 5px 0;
+    }
+    &.choice {
+        > .control {
+            width: auto;
+        }
+        > .label {
+            display: inline;
+        }
+        > input {
+            vertical-align: top;
+            margin-top: 2px;
+            margin-right: 5px;
+        }
+    }
+    &.required > .label > span:first-child:after {
+        content: '*';
+        color: @requiredField;
+    }
+    .addon {
+        display: table;
+        padding: 0;
+        width: 100%;
+        textarea,
+        select,
+        input {
+            box-shadow: none;
+            display: table-cell;
+            margin: 0;
+            width: 100%;
+        }
+        .addbefore,
+        .addafter {
+            height: 0;
+            white-space: nowrap;
+            display: inline-block;
+            display: table-cell;
+            vertical-align: middle;
+            width: 1px;
+            .inputText();
+        }
+    }
+    .note {
+        font-size: @baseFontSizeMiddle;
+        margin-top: 3px;
+        padding-left: 15px;
+        &:before {
+            border-bottom: 5px solid @baseColor;
+            border-left: 5px solid transparent;
+            border-right: 5px solid transparent;
+            content: '';
+            display: inline-block;
+            font-size: 0;
+            line-height: 0;
+            margin: 4px 0 0 -14px;
+            position: absolute;
+            vertical-align: top;
+            width: 0;
+        }
+    }
+}
+
+.formCols(@fieldWidth : 50%) {
+    .field {
+        display: inline-block;
+        padding-right: 20px;
+        vertical-align: top;
+        width: @fieldWidth;
+    }
+    .nested .field {
+        width: 100%;
+    }
+    .actions {
+        margin-right: 30px;
+    }
+}
+
+.hasRequired {
+    &:after {
+        content: attr(data-hasrequired);
+        display: block;
+        font-size: @baseFontSize;
+        margin: 10px 0 0;
+        color: @requiredField;
+        letter-spacing: normal;
+        word-spacing: normal;
+    }
+}
+
+.load.indicator {
+    display: inline-block;
+    margin: 20px auto;
+    padding: 8px;
+    vertical-align: middle;
+    span {
+        display: block;
+        line-height: 16px;
+        &:before {
+            content: '';
+            margin-right: 5px;
+            display: inline-block;
+            width: 16px;
+            height: 16px;
+            background: url("@{baseDir}/images/loader.gif") no-repeat 0 0;
+            background-color: @secondary1;
+            vertical-align: top;
+        }
+    }
+}
+
+// #Forms
+//
+//  ```html
+//    <form class="form">
+//        <fieldset class="fieldset">
+//            <legend class="legend"><span>Legend</span></legend>
+//            <br>
+//            <div class="field text">
+//                <label for="text" class="label"><span>Text field</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text">
+//                </div>
+//            </div>
+//
+//            <div class="field search">
+//                <label for="search" class="label"><span>Search field</span></label>
+//                <div class="control">
+//                    <input type="search" class="input-text" value="" name="search">
+//                </div>
+//            </div>
+//
+//            <div class="field tel">
+//                <label for="tel" class="label"><span>Tel field</span></label>
+//                <div class="control">
+//                    <input type="tel" class="input-text" value="" name="tel">
+//                </div>
+//            </div>
+//
+//            <div class="field url">
+//                <label for="url" class="label"><span>Url field</span></label>
+//                <div class="control">
+//                    <input type="url" class="input-text" value="" name="url">
+//                </div>
+//            </div>
+//
+//            <div class="field email">
+//                <label for="email" class="label"><span>Email field</span></label>
+//                <div class="control">
+//                    <input type="email" class="input-text" value="" name="email">
+//                </div>
+//            </div>
+//
+//            <div class="field datetime">
+//                <label for="datetime" class="label"><span>Datetime field</span></label>
+//                <div class="control">
+//                    <input type="datetime" class="input-text" value="" name="datetime">
+//                </div>
+//            </div>
+//
+//            <div class="field password">
+//                <label for="password" class="label"><span>Password field</span></label>
+//                <div class="control">
+//                    <input type="password" class="input-text" value="" name="password">
+//                </div>
+//            </div>
+//
+//            <div class="field text2">
+//                <label for="name" class="label"><span>Text field with additional field</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text2">
+//                </div>
+//                <div class="nested">
+//                    <div class="field additional">
+//                        <div class="control">
+//                            <input type="text" class="input-text" value="" name="text2_1" >
+//                        </div>
+//                    </div>
+//                </div>
+//            </div>
+//
+//            <div class="field text2">
+//                <label for="name" class="label"><span>Text field with note</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text2">
+//                    <div class="note">This is a note to a text field</div>
+//                </div>
+//            </div>
+//
+//            <div class="field range">
+//                <label for="range" class="label"><span>Range field with an addon after input</span></label>
+//                <div class="control">
+//                    <div class="range price fields group group-2">
+//                        <div class="field no-label">
+//                            <div class="control">
+//                                <input type="text" class="input-text" value="" name="range[from]">
+//                            </div>
+//                        </div>
+//                        <div class="field with-addon no-label">
+//                            <div class="control">
+//                                <div class="addon">
+//                                    <input type="text" class="input-text" value="" name="range[to]">
+//                                    <label for="price_to" class="addafter">USD</label>
+//                                </div>
+//                            </div>
+//                        </div>
+//                    </div>
+//                </div>
+//            </div>
+//
+//            <div class="field date">
+//                <label for="date" class="label"><span>Date range field with calendar</span></label>
+//                <div class="control">
+//                    <div class="dates fields">
+//                        <div class="field date no-label">
+//                            <div class="control">
+//                                <input type="text" class="input-text" value="" name="date[from]" id="date_from">
+//                            </div>
+//                        </div>
+//                        <div class="field date no-label">
+//                            <div class="control">
+//                                <input type="text" class="input-text" value="" name="date[to]" id="date_to">
+//                            </div>
+//                        </div>
+//                    </div>
+//                </div>
+//            </div>
+//
+//            <div class="field file">
+//                <label for="file" class="label"><span>File field</span></label>
+//                <div class="control">
+//                    <input type="file" class="input-text" value="" name="file">
+//                </div>
+//            </div>
+//
+//            <div class="field choice">
+//                <input type="radio" class="radio" checked="" value="1" name="inputRadio">
+//                <label for="inputRadio" class="label"><span>Radiobutton choice</span></label>
+//            </div>
+//
+//            <div class="field choice">
+//                <input type="checkbox" class="checkbox" value="1" name="inputCheckbox">
+//                <label for="inputCheckbox" class="label"><span>Checkbox choice</span></label>
+//            </div>
+//
+//            <div class="field region">
+//                <label for="select" class="label"><span>Select</span></label>
+//                <div class="control">
+//                    <select name="select">
+//                        <option value="">Please select</option>
+//                        <option value="5">5</option>
+//                        <option value="10">10</option>
+//                        <option value="15">15</option>
+//                        <option value="20">20</option>
+//                    </select>
+//                </div>
+//            </div>
+//
+//            <div class="field multiselect">
+//                <label for="select" class="label"><span>Multiple select</span></label>
+//                <div class="control">
+//                    <select name="select" class="multiple" multiple="multiple">
+//                        <option value="Option 1">Option 1</option>
+//                        <option value="Option 2">Option 2</option>
+//                        <option value="Option 3">Option 3</option>
+//                        <option value="Option 4">Option 4</option>
+//                        <option value="Option 5">Option 5</option>
+//                        <option value="Option 6">Option 6</option>
+//                        <option value="Option 7">Option 7</option>
+//                    </select>
+//                </div>
+//            </div>
+//
+//            <div class="field textarea">
+//                <label for="textarea" class="label"><span>Textarea</span></label>
+//                <div class="control">
+//                    <textarea rows="3" cols="5" class="input-text" name="textarea"></textarea>
+//                </div>
+//            </div>
+//        </fieldset>
+//
+//        <div class="actions">
+//            <input type="submit" class="action submit" value="Input type='Submit'" name="action_submit">
+//            <input type="button" class="action button" value="Input type='button'" name="action_button">
+//            <input type="reset" class="action reset" value="Input type='reset'" name="action_reset">
+//        </div>
+//        <span class="please-wait load indicator" id="billing-please-wait">
+//            <span>Loading indicator...</span>
+//        </span>
+//    </form>
+//  ```
+//
+
+.form {
+    .actions {
+        margin-right: 10px;
+        text-align: right;
+    }
+}
+
+.fieldset {
+    .formFieldset();
+    > .field {
+        .formField();
+    }
+    .fields.range {
+        .field {
+            display: inline-block;
+            letter-spacing: normal;
+            margin: 0;
+            vertical-align: top;
+            word-spacing: normal;
+            &:first-child {
+                .control {
+                    .box-sizing();
+                    padding-right: 30px;
+                    &:after {
+                        content: '\2014';
+                        display: inline-block;
+                        margin-right: -30px;
+                        text-align: center;
+                        width: 29px;
+                    }
+                }
+                input {
+                    width: 98%;
+                }
+            }
+        }
+    }
+    .fields.dates {
+        .field {
+            display: inline-block;
+            letter-spacing: normal;
+            margin: 0 25px 0 0;
+            padding: 0 34px 0 0;
+            position: relative;
+            vertical-align: top;
+            &:first-child {
+                margin: 0 30px 0 0;
+                .control {
+                    .box-sizing();
+                    &:after {
+                        content: '\2014';
+                        display: inline-block;
+                        position: absolute;
+                        right: -39px;
+                        top: 7px;
+                        width: 29px;
+                    }
+                }
+            }
+            .ui-datepicker-trigger {
+                text-decoration: none;
+                position: absolute;
+                right: 0;
+                top: 9px;
+                &:extend(.button.link all);
+            }
+        }
+    }
+}
+
+input[type="text"],
+input[type="search"],
+input[type="tel"],
+input[type="url"],
+input[type="email"],
+input[type="datetime"],
+input[type="password"] {
+    .inputText();
+}
+
+input[type="submit"],
+input[type="button"] {
+    &:extend(.primary.action all);
+}
+
+input[type="reset"] {
+    &:extend(.secondary.action all);
+}
+
+select {
+    .controlStyling();
+    padding: 5px 10px 4px;
+    &.multiselect {
+        height: auto;
+    }
+}
+
+textarea {
+    .controlStyling();
+    height: auto;
+    line-height: 1.2;
+    min-height: 4.8em;
+    padding: 10px;
+    resize: vertical;
+}
+
+//  #Form validation
+//  Required field marked with '*' symbol
+//
+//  Validation passed hilighting
+//
+//  Validation error hilight and validation error message
+//
+//  '* Required fields' text
+//
+//  ```html
+//    <form class="form validation" data-hasrequired="* Required Fields">
+//        <fieldset class="fieldset">
+//            <div class="field text2 required">
+//                <label for="text2" class="label"><span>Required text field</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text2">
+//                </div>
+//            </div>
+//
+//            <div class="field text3 required">
+//                <label for="text3" class="label"><span>Required text field, validation is passed</span></label>
+//                <div class="control valid">
+//                    <input type="text" class="input-text valid" value="" name="text3">
+//                </div>
+//            </div>
+//
+//            <div class="field text4 required">
+//                <label for="text4" class="label"><span>Required text field, validation is not passed</span></label>
+//                <div class="control mage-error">
+//                    <input type="text" class="input-text mage-error" value="" name="text4">
+//                    <div for="name" generated="true" class="mage-error">This is a required field.</div>
+//                </div>
+//            </div>
+//        </fieldset>
+//    </form>
+//  ```
+//
+
+.fieldset {
+    // Validation passed
+    textarea.valid,
+    select.valid,
+    input[type="text"].valid,
+    input[type="search"].valid,
+    input[type="tel"].valid,
+    input[type="url"].valid,
+    input[type="email"].valid,
+    input[type="datetime"].valid,
+    input[type="password"].valid {
+        border-color: @validHilight !important;
+    }
+    // Validation error
+    textarea.mage-error,
+    select.mage-error,
+    input[type="text"].mage-error,
+    input[type="search"].mage-error,
+    input[type="tel"].mage-error,
+    input[type="url"].mage-error,
+    input[type="email"].mage-error,
+    input[type="datetime"].mage-error,
+    input[type="password"].mage-error {
+        border-color: @nonValidHilight !important;
+    }
+    div.mage-error[generated] {
+        color: @nonValidHilight !important;
+        font-size: @baseFontSizeMiddle;
+        padding-top: 4px;
+    }
+}
+
+.form.validation {
+    .fieldset {
+        margin: 20px 0;
+    }
+    &:extend(.hasRequired all);
+}
+
+// #Form fields arranged to columns
+//
+//  ```html
+//    <form class="form settings">
+//        <fieldset class="fieldset">
+//            <legend class="legend"><span>Some Settings</span></legend>
+//            <br>
+//
+//            <div class="field text1">
+//                <label for="text1" class="label"><span>Text field 1</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text1">
+//                </div>
+//            </div>
+//
+//            <div class="field text2">
+//                <label for="text2" class="label"><span>Text field 2</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text2">
+//                </div>
+//            </div>
+//
+//            <div class="field text3">
+//                <label for="text3" class="label"><span>Text field 3</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text3">
+//                </div>
+//            </div>
+//
+//            <div class="field text4">
+//                <label for="text4" class="label"><span>Text field 4</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text4">
+//                </div>
+//            </div>
+//
+//            <div class="field text5">
+//                <label for="text5" class="label"><span>Text field 5</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text5">
+//                </div>
+//                <div class="nested">
+//                    <div class="field additional">
+//                        <div class="control">
+//                            <input type="text" class="input-text" value="" name="text5_1">
+//                        </div>
+//                    </div>
+//                </div>
+//            </div>
+//
+//            <div class="field select">
+//                <label for="select" class="label"><span>Select</span></label>
+//                <div class="control">
+//                    <select title="Tax Class" class="multiselect" name="select">
+//                        <option value="">All</option>
+//                        <option value="5">5</option>
+//                        <option value="10">10</option>
+//                        <option value="15">15</option>
+//                    </select>
+//                </div>
+//            </div>
+//
+//            <div class="field textarea">
+//                <label for="textarea" class="label"><span>Textarea</span></label>
+//                <div class="control">
+//                    <textarea rows="3" cols="5" class="input-text" name="textarea"></textarea>
+//                    <div class="note">Please enter your message here</div>
+//                </div>
+//            </div>
+//
+//            <div class="field multiselect">
+//                <label for="multiselect" class="label"><span>Multiple select</span></label>
+//                <div class="control">
+//                    <select multiple="multiple" class="multiselect" name="multiselect">
+//                        <option value="Option 1">Option 1</option>
+//                        <option value="Option 2">Option 2</option>
+//                        <option value="Option 3">Option 3</option>
+//                        <option value="Option 4">Option 4</option>
+//                        <option value="Option 5">Option 5</option>
+//                        <option value="Option 6">Option 6</option>
+//                        <option value="Option 7">Option 7</option>
+//                    </select>
+//                </div>
+//            </div>
+//        </fieldset>
+//        <div class="actions">
+//            <button class="action submit" type="submit"><span>Submit</span></button>
+//        </div>
+//    </form>
+//  ```
+//
+
+.form.settings {
+    .formCols();
+    .action.submit {
+        &:extend(.primary.action all);
+    }
+}
+
+// #Datepicker custom styles
+@datepickerArrows : @secondary1;
+@datepickerArrowsHover : darken(@datepickerArrows, 10%);
+@datepickerTextColor : #000;
+@datepickerBg : #efefef;
+@datepickerBorder : #fff;
+@datepickerShadow : rgba(0, 0, 0, 0.35);
+@datepickerCalendarBg : #fff;
+@datepickerCalendarBorder : #cfcfcf;
+@datepickerCalendarHover : #f9eae7;
+@datepickerCalendarToday : #f3d7d2;
+@datepickerCalendarActive : lighten(@secondary1, 20%);
+@datepickerDisabledBg : #f9f9f9;
+@datepickerDisable : #959595;
+
+.ui-datepicker {
+    background: @datepickerBg;
+    border: 4px solid @datepickerBorder;
+    box-shadow: 5px 5px 10px 0 @datepickerShadow;
+    .box-sizing();
+    display: none;
+    padding: 15px;
+    width: auto;
+    z-index: 999999 !important;
+    .ui-datepicker-header {
+        position: relative;
+        padding: .2em 0;
+    }
+    .ui-datepicker-prev,
+    .ui-datepicker-next {
+        position: absolute;
+        top: 2px;
+        width: 1.8em;
+        height: 1.8em;
+        cursor: pointer;
+        span {
+            border: solid;
+            display: block;
+            font-size: 0;
+            margin-top: -5px;
+            position: absolute;
+            left: 50%;
+            top: 50%;
+            width: 0;
+            height: 0;
+        }
+    }
+    .ui-datepicker-prev {
+        left: 2px;
+        span {
+            margin-left: -8px;
+            border-width: 5px 8px 5px 0;
+            border-color: transparent @datepickerArrows transparent transparent;
+        }
+        &.ui-datepicker-prev-hover span {
+            border-color: transparent @datepickerArrowsHover transparent transparent;
+        }
+    }
+    .ui-datepicker-next {
+        right: 2px;
+        span {
+            margin-left: 0;
+            border-width: 5px 0 5px 8px;
+            border-color: transparent transparent transparent @datepickerArrows;
+        }
+        &.ui-datepicker-next-hover span {
+            border-color: transparent transparent transparent @datepickerArrowsHover;
+        }
+    }
+    .ui-datepicker-title {
+        margin: 0 2.3em;
+        line-height: 1.8em;
+        text-align: center;
+        select {
+            margin: 1px 0;
+            padding: 0;
+        }
+        .ui-datepicker-month,
+        .ui-datepicker-year {
+            width: 47%;
+        }
+        .ui-datepicker-month {
+            margin-right: 6%;
+        }
+        .ui-datepicker-month-year {
+            width: 100%;
+        }
+    }
+    table {
+        width: 100%;
+        font-size: @baseFontSizeMiddle;
+    }
+    th {
+        font-size: @baseFontSizeMiddle;
+    }
+    td {
+        padding: 0;
+    }
+    td span,
+    td a {
+        color: @datepickerTextColor;
+        display: block;
+        line-height: 14px;
+        padding: 4px;
+        text-align: right;
+        text-decoration: none;
+    }
+    .ui-datepicker-buttonpane {
+        overflow: hidden;
+        padding-top: 10px;
+        button {
+            float: right;
+            &.ui-datepicker-current {
+                float: left;
+            }
+        }
+    }
+    .ui-datepicker-calendar {
+        background: @datepickerCalendarBg;
+        border: 1px solid @datepickerCalendarBorder;
+        th {
+            background: @datepickerBg;
+            border: 1px solid @datepickerCalendarBorder;
+            padding: 4px;
+            text-transform: uppercase;
+        }
+        td {
+            border: 1px solid @datepickerCalendarBorder;
+        }
+        td a {
+            padding: 4px;
+            display: block;
+        }
+        td .ui-state-hover:hover {
+            background: @datepickerCalendarHover;
+        }
+        .ui-datepicker-week-col {
+            text-align: center;
+            border: 1px solid @datepickerCalendarBorder;
+        }
+        .ui-datepicker-today {
+            background: @datepickerCalendarToday;
+        }
+        .ui-state-active {
+            background: @datepickerCalendarActive;
+        }
+        .ui-state-disabled {
+            background: @datepickerDisabledBg;
+            span {
+                color: @datepickerDisable;
+            }
+        }
+    }
+}
+
+.ui-datepicker-rtl {
+    direction: rtl;
+    .ui-datepicker-prev {
+        right: 2px;
+        left: auto;
+        &:hover {
+            right: 1px;
+            left: auto;
+        }
+    }
+    .ui-datepicker-next {
+        left: 2px;
+        right: auto;
+        &:hover {
+            left: 1px;
+            right: auto;
+        }
+    }
+    .ui-datepicker-buttonpane {
+        clear: right;
+        button {
+            float: left;
+            &.ui-datepicker-current {
+                float: right;
+            }
+        }
+    }
+    .ui-datepicker-group {
+        float: right;
+    }
+    .ui-datepicker-group-last .ui-datepicker-header {
+        border-right-width: 0;
+        border-left-width: 1px;
+    }
+    .ui-datepicker-group-middle .ui-datepicker-header {
+        border-right-width: 0;
+        border-left-width: 1px;
+    }
+}
+
+.ui-timepicker-div {
+    padding: 10px 0 5px 0;
+    .ui-widget-header {
+        margin-bottom: 8px;
+    }
+    dl {
+        text-align: left;
+        dt {
+            height: 25px;
+            margin-bottom: -22px;
+        }
+        dd {
+            margin: 0 10px 10px 65px;
+        }
+        .ui_tpicker_time_label {
+            margin-bottom: -25px;
+        }
+    }
+    td {
+        font-size: 90%;
+    }
+}
+
+.ui-tpicker-grid-label {
+    background: none;
+    border: none;
+    margin: 0;
+    padding: 0;
+}
+
+.ui-slider {
+    position: relative;
+    text-align: left;
+    .ui-slider-handle {
+        position: absolute;
+        z-index: 2;
+        cursor: default;
+    }
+}
+
+.ui-slider-horizontal {
+    border-radius: 10px;
+    border: none;
+    background: @datepickerBg;
+    height: 10px;
+    .ui-slider-handle {
+        margin-left: -5px;
+        height: 10px;
+        width: 10px;
+        border-radius: 10px;
+        background: @datepickerArrows;
+        display: block;
+        position: absolute;
+    }
+}
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/lib/grids.less b/app/design/frontend/magento_plushe/less/lib/grids.less
new file mode 100644
index 00000000000..1af1730f683
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/grids.less
@@ -0,0 +1,384 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+//  # 1. Grid using floated columns
+//  Full documentation about grid usage: https://github.com/clearleft/clearless#grids
+//
+//  # 1.1 One column
+//
+//  ```html
+//    <div class="clearlessgrid1 gridwrapper">
+//        <div class="grid-1">column</div>
+//    </div>
+//  ```
+//
+
+.clearlessgrid1 {
+    .column-wrapper();
+    > .grid-1 {
+        .column();
+        .span(12);
+        .end-column();
+    }
+}
+
+//  # 1.2 One main column and one right sidebar
+//
+//  ```html
+//    <div class="clearlessgrid2 gridwrapper">
+//        <div class="main">column</div>
+//        <div class="sidebar">column</div>
+//    </div>
+//  ```
+//
+
+.clearlessgrid2 {
+    .column-wrapper();
+    .main {
+        .column();
+        .span(9);
+    }
+    .sidebar {
+        .column();
+        .span(3);
+        .end-column();
+    }
+}
+
+//  # 1.3 One main column and one left sidebar
+//
+//  ```html
+//    <div class="clearlessgrid3 gridwrapper">
+//        <div class="sidebar">column</div>
+//        <div class="main">column</div>
+//    </div>
+//  ```
+//
+
+.clearlessgrid3 {
+    .column-wrapper();
+    .main {
+        .column();
+        .span(9);
+        .end-column();
+    }
+    .sidebar {
+        .column();
+        .span(3);
+    }
+}
+
+//  # 1.4 One main column and two sidebars
+//
+//  ```html
+//    <div class="clearlessgrid4 gridwrapper">
+//        <div class="sidebar1">column</div>
+//        <div class="main">column</div>
+//        <div class="sidebar2">column</div>
+//    </div>
+//  ```
+//
+
+.clearlessgrid4 {
+    .column-wrapper();
+    .main {
+        .column();
+        .span(6);
+    }
+    .sidebar1,
+    .sidebar2 {
+        .column();
+        .span(3);
+    }
+    .sidebar2 {
+        .end-column();
+    }
+}
+
+//  # 1.5 Four columns
+//
+//  ```html
+//    <div class="clearlessgrid5 gridwrapper">
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//    </div>
+//  ```
+//
+
+.clearlessgrid5 {
+    .column-wrapper();
+    > .grid-1 {
+        .column();
+        .span(3);
+        &:last-child {
+            .end-column();
+        }
+    }
+}
+
+//  # 1.6 Six columns
+//
+//  ```html
+//    <div class="clearlessgrid6 gridwrapper">
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//    </div>
+//  ```
+//
+
+.clearlessgrid6 {
+    .column-wrapper();
+    > .grid-1 {
+        .column();
+        .span(2);
+        &:last-child {
+            .end-column();
+        }
+    }
+}
+
+//  # 1.7 Twelve columns
+//
+//  ```html
+//    <div class="clearlessgrid12 gridwrapper">
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//    </div>
+//    ```
+//
+
+.clearlessgrid12 {
+    .column-wrapper();
+    > .grid-1 {
+        .column();
+        .span(1);
+        &:last-child {
+            .end-column();
+        }
+    }
+}
+
+//  # 2. Grid columns using display: inline-block
+//
+//  # 2.1 One column
+//
+//  ```html
+//    <div class="inlinegrid1 inlinegridwrapper">
+//        <div class="grid-1">column</div>
+//    </div>
+//    ```
+//
+
+.inlinegrid1 {
+    .inline-column-wrapper();
+    > .grid-1 {
+        .inline-column();
+        .span(12);
+        .inline-end-column();
+    }
+}
+
+//  # 2.2 One main column and two right sidebar
+//
+//  ```html
+//    <div class="inlinegrid2 inlinegridwrapper">
+//        <div class="main">column</div>
+//        <div class="sidebar">column</div>
+//    </div>
+//    ```
+//
+
+.inlinegrid2 {
+    .inline-column-wrapper();
+    .main {
+        .inline-column();
+        .span(9);
+    }
+    .sidebar {
+        .inline-column();
+        .span(3);
+        .inline-end-column();
+    }
+}
+
+//  # 2.3 One main column and one left sidebar
+//
+//  ```html
+//    <div class="inlinegrid3 inlinegridwrapper">
+//        <div class="sidebar">column</div>
+//        <div class="main">column</div>
+//    </div>
+//    ```
+//
+
+.inlinegrid3 {
+    .inline-column-wrapper();
+    .main {
+        .inline-column();
+        .span(9);
+        .inline-end-column();
+    }
+    .sidebar {
+        .inline-column();
+        .span(3);
+    }
+}
+
+//  # 2.4 One main column and two sidebars
+//
+//  ```html
+//    <div class="inlinegrid4 inlinegridwrapper">
+//        <div class="sidebar1">column</div>
+//        <div class="main">column</div>
+//        <div class="sidebar2">column</div>
+//    </div>
+//    ```
+//
+
+.inlinegrid4 {
+    .inline-column-wrapper();
+    .main {
+        .inline-column();
+        .span(6);
+    }
+    .sidebar1,
+    .sidebar2 {
+        .inline-column();
+        .span(3);
+    }
+    .sidebar2 {
+        .inline-end-column();
+    }
+}
+
+//  # 2.5 Four columns
+//
+//  ```html
+//    <div class="inlinegrid5 inlinegridwrapper">
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//    </div>
+//    ```
+//
+
+.inlinegrid5 {
+    .inline-column-wrapper();
+    > .grid-1 {
+        .inline-column();
+        .span(3);
+        &:last-child {
+            .inline-end-column();
+        }
+    }
+}
+
+//  # 2.6 Six columns
+//
+//  ```html
+//    <div class="inlinegrid6 inlinegridwrapper">
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//    </div>
+//    ```
+//
+
+.inlinegrid6 {
+    .inline-column-wrapper();
+    > .grid-1 {
+        .inline-column();
+        .span(2);
+        &:last-child {
+            .inline-end-column();
+        }
+    }
+}
+
+//  # 2.7 Twelve columns
+//
+//  ```html
+//    <div class="inlinegrid12 inlinegridwrapper">
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//    </div>
+//    ```
+//
+
+.inlinegrid12 {
+    .inline-column-wrapper();
+    > .grid-1 {
+        .inline-column();
+        .span(1);
+        &:last-child {
+            .inline-end-column();
+        }
+    }
+}
+
+//  #Common settings
+
+@total-columns: 12;
+@column-width: 60px;
+@gutter-width: 20px;
+
+.gridwrapper > div,
+.inlinegridwrapper > div {
+    background: #e5e5e5;
+    border: 1px solid #999;
+    padding: 5px 0;
+    text-align: center;
+    .box-sizing();
+}
diff --git a/app/design/frontend/magento_plushe/less/lib/icons.less b/app/design/frontend/magento_plushe/less/lib/icons.less
new file mode 100644
index 00000000000..6fde9816210
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/icons.less
@@ -0,0 +1,205 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+// # Icons
+//  ```
+//  <span class="icon example" data-icon="&#xe006;">@icon-pencil</span>
+//  <span class="icon example" data-icon="&#xe007;">@icon-menu</span>
+//  <span class="icon example" data-icon="&#xe008;">@icon-location</span>
+//  <span class="icon example" data-icon="&#xe00a;">@icon-info</span>
+//  <span class="icon example" data-icon="&#xe00c;">@icon-flag</span>
+//  <span class="icon example" data-icon="&#xe00d;">@icon-expand</span>
+//  <span class="icon example" data-icon="&#xe00e;">@icon-exclamation</span>
+//  <span class="icon example" data-icon="&#xe010;">@icon-dropdown</span>
+//  <span class="icon example" data-icon="&#xe011;">@icon-collapse</span>
+//  <span class="icon example" data-icon="&#xe012;">@icon-close-thick</span>
+//  <span class="icon example" data-icon="&#xe013;">@icon-checkmark</span>
+//  <span class="icon example" data-icon="&#xe014;">@icon-cart</span>
+//  <span class="icon example" data-icon="&#xe015;">@icon-arrow-up-thin</span>
+//  <span class="icon example" data-icon="&#xe016;">@icon-arrow-right-thin</span>
+//  <span class="icon example" data-icon="&#xe017;">@icon-arrow-left-thin</span>
+//  <span class="icon example" data-icon="&#xe018;">@icon-arrow-down-thin</span>
+//  <span class="icon example" data-icon="&#xe019;">@icon-arrow-up-thick</span>
+//  <span class="icon example" data-icon="&#xe01a;">@icon-arrow-right-thick</span>
+//  <span class="icon example" data-icon="&#xe01b;">@icon-arrow-left-thick</span>
+//  <span class="icon example" data-icon="&#xe01c;">@icon-arrow-down-thick</span>
+//  <span class="icon example" data-icon="&#xe01d;">@icon-wishlist</span>
+//  <span class="icon example" data-icon="&#xe01e;">@icon-comment</span>
+//  <span class="icon example" data-icon="&#xe01f;">@icon-comment-reflected</span>
+//  <span class="icon example" data-icon="&#xe002;">@icon-list</span>
+//  <span class="icon example" data-icon="&#xe003;">@icon-grid</span>
+//  <span class="icon example" data-icon="&#xe004;">@icon-close-thin</span>
+//  <span class="icon example" data-icon="&#xe000;">@icon-trash</span>
+//  <span class="icon example" data-icon="&#xe001;">@icon-envelope</span>
+//  <span class="icon example" data-icon="&#xe005;">@icon-magnifying-glass</span>
+//  <span class="icon example" data-icon="&#xe02b;">@icon-arrow-right-filled</span>
+//  <span class="icon example" data-icon="&#xe02c;">@icon-arrow-bottom-filled</span>
+//  <span class="icon example" data-icon="&#xe02a;">@icon-arrow-left-filled</span>
+//  <span class="icon example" data-icon="&#xe029;">@icon-arrow-up-filled</span>
+//  <span class="icon example" data-icon="&#xe009;">@icon-star</span>
+//  <span class="icon example" data-icon="&#xe00b;">@icon-calendar</span>
+// ```
+
+@icon-pencil: "\e006";
+@icon-menu: "\e007";
+@icon-location: "\e008";
+@icon-info: "\e00a";
+@icon-flag: "\e00c";
+@icon-expand: "\e00d";
+@icon-exclamation: "\e00e";
+@icon-dropdown: "\e010";
+@icon-collapse: "\e011";
+@icon-close-thick: "\e012";
+@icon-checkmark: "\e013";
+@icon-cart: "\e014";
+@icon-arrow-up-thin: "\e015";
+@icon-arrow-right-thin: "\e016";
+@icon-arrow-left-thin: "\e017";
+@icon-arrow-down-thin: "\e018";
+@icon-arrow-up-thick: "\e019";
+@icon-arrow-right-thick: "\e01a";
+@icon-arrow-left-thick: "\e01b";
+@icon-arrow-down-thick: "\e01c";
+@icon-wishlist: "\e01d";
+@icon-comment: "\e01e";
+@icon-comment-reflected: "\e01f";
+@icon-list: "\e002";
+@icon-grid: "\e003";
+@icon-close-thin: "\e004";
+@icon-trash: "\e000";
+@icon-envelope: "\e001";
+@icon-magnifying-glass: "\e005";
+@icon-arrow-right-filled: "\e02b";
+@icon-arrow-bottom-filled: "\e02c";
+@icon-arrow-left-filled: "\e02a";
+@icon-arrow-up-filled: "\e029";
+@icon-star: "\e009";
+@icon-calendar: "\e00b";
+
+.example.icon {
+    display: inline-block;
+    margin: 0 0 16px;
+    width: 20%;
+    text-align: center;
+    .iconBefore("", 32px, 0 0 10px 0, 'icons');
+    &:before {
+        content: attr(data-icon);
+        display: block;
+    }
+    &:hover {
+        color: @secondary2;
+    }
+}
+
+// #iconBefore
+//Add an icon *before* the specified element
+//
+//**.iconBefore(["content"], [height], [margin], ["font"]);**
+//  ```
+//  <a class="action primary showcart1" href="#"><span>My Cart</span></a>
+//  ```
+.action.showcart1 {
+    .iconBefore(@icon-cart, 16px, 0 5px 0 0, "icons");
+}
+
+// #iconAfter
+//Add an icon *after* the specified element
+//
+//**.iconAfter(["content"], [height], [margin], ["font"]);**
+//  ```
+//  <a class="action showcart2" href="#"><span>My Cart</span></a>
+//  ```
+.action.showcart2 {
+    .iconAfter(@icon-cart, 16px, 0 0 0 10px, "icons");
+}
+
+// #iconHideText
+//Hide the text to the specified element (not hide the icon)
+//
+//**.iconHideText([limitWidth]);**
+//  ```
+//  <a class="action showcart3" href="#"><span>My Cart</span></a>
+//  ```
+.action.showcart3 {
+    .iconAfter(@icon-cart, 16px, 10px,"icons");
+    .iconHideText(16px);
+}
+
+//#Using mixin:
+.iconBefore(@content: '', @size: 16px, @margin: 0 , @font: 'icons') {
+    &:before {
+        font-family: "@{font}";
+        font-size: @size;
+        line-height: @size;
+        height: @size;
+        margin: @margin;
+        overflow: hidden;
+        content: @content;
+        font-style: normal;
+        speak: none;
+        font-weight: normal;
+        -webkit-font-smoothing: antialiased;
+        display: inline-block;
+        vertical-align: middle;
+        text-align: center;
+    }
+}
+
+.iconAfter(@content: '', @size: 16px, @margin: 0 , @font: 'icons') {
+    &:after {
+        font-family: "@{font}";
+        font-size: @size;
+        line-height: @size;
+        height: @size;
+        margin: @margin;
+        overflow: hidden;
+        content: @content;
+        font-style: normal;
+        speak: none;
+        font-weight: normal;
+        -webkit-font-smoothing: antialiased;
+        display: inline-block;
+        vertical-align: middle;
+        text-align: center;
+    }
+}
+
+.iconHideText(@limitWidth: 16px) {
+    width: @limitWidth;
+    display: block;
+    line-height: 0;
+    white-space: nowrap;
+    vertical-align: middle;
+    text-align: center;
+    text-indent: -999em;
+    &:active {
+        outline: 0;
+    }
+    &:after {
+        text-indent: 0;
+        display: block;
+        margin: 0;
+    }
+}
diff --git a/app/design/frontend/magento_plushe/less/lib/messages.less b/app/design/frontend/magento_plushe/less/lib/messages.less
new file mode 100644
index 00000000000..b48940c5dc9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/messages.less
@@ -0,0 +1,214 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+//  #Messages - base styles
+
+ul.messages {
+    .resetList();
+}
+
+.message.base {
+    display: block;
+    .clearfix();
+    padding: 13px 60px 12px 20px;
+    margin: 3px 0 3px;
+    border-radius: 3px;
+    position: relative;
+    line-height: 16px;
+    z-index: 1;
+    &:before {
+        content: '';
+        position: absolute;
+        width: 31px;
+        text-align: center;
+        right: 0;
+        top: 0;
+        height: 100%;
+        display: block;
+        padding: 0;
+        border-radius: 3px;
+        z-index: 1;
+    }
+    > *:first-child:before {
+        content: '';
+        .arrow(left, 5px, @messageNoticeIconBg);
+        position: absolute;
+        overflow: hidden;
+        top: 50%;
+        margin-top: -3px;
+        right: 31px;
+        z-index: 2;
+    }
+    > *:first-child:after {
+        font-family: "icons";
+        color: @messageIconColor;
+        font-size: 20px;
+        line-height: 20px;
+        position: absolute;
+        top: 50%;
+        right: 0;
+        margin-top: -10px;
+        width: 31px;
+        text-align: center;
+        display: block;
+        z-index: 3;
+    }
+    ul {
+        .resetList();
+    }
+    li {
+        margin-top: 5px;
+
+        &:first-child {
+            margin-top: 0;
+        }
+    }
+}
+
+//  # Error messages
+//
+//  ```html
+//  <ul class="messages">
+//      <li class="error-msg">
+//          <ul>
+//              <li><span>Oh snap! Change a few things up and try submitting again.</span></li>
+//          </ul>
+//      </li>
+//  </ul>
+//  ```
+//
+
+.message.error {
+    &:extend(.message.base all);
+    background: @messageErrorBg;
+    color: @messageErrorColor;
+    &:before {
+        background: @messageErrorIconBg;
+    }
+    > *:first-child:before {
+        border-right-color: @messageErrorIconBg;
+    }
+    > *:first-child:after {
+        content: @icon-exclamation;
+    }
+}
+
+.error-msg {
+    &:extend(.message.error all);
+}
+
+//  # Success messages
+//
+//  ```html
+//  <ul class="messages">
+//      <li class="success-msg">
+//          <ul>
+//              <li><span>Well done! You successfully read this important alert message.</span></li>
+//          </ul>
+//      </li>
+//  </ul>
+//  ```
+//
+
+.message.success {
+    &:extend(.message.base all);
+    background: @messageSuccessBg;
+    color: @messageSuccessColor;
+    &:before {
+        background: @messageSuccessIconBg;
+    }
+    > *:first-child:before {
+        border-right-color: @messageSuccessIconBg;
+    }
+    > *:first-child:after {
+        content: @icon-checkmark;
+    }
+}
+
+.success-msg {
+    &:extend(.message.success all);
+}
+
+//  # Notice messages
+//
+//  ```html
+//  <ul class="messages">
+//      <li class="notice-msg">
+//          <ul>
+//              <li><span>Heads up! This alert needs your attention, but it's not super important.</span></li>
+//          </ul>
+//      </li>
+//  </ul>
+//  ```
+//
+
+.message.notice {
+    &:extend(.message.base all);
+    background: @messageNoticeBg;
+    color: @messageNoticeColor;
+    &:before {
+        background: @messageNoticeIconBg;
+    }
+    > *:first-child:before {
+        border-right-color: @messageNoticeIconBg;
+    }
+    > *:first-child:after {
+        content: @icon-info;
+    }
+}
+
+.notice-msg,
+.note-msg {
+    &:extend(.message.notice all);
+}
+
+//  # Customized info message
+//
+//  ```html
+//  <div class="message info">
+//    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
+//  </div>
+//  ```
+//
+
+.message.info {
+    &:extend(.message.base all);
+    background: @messageNoticeBg;
+    color: @messageNoticeColor;
+    border: 1px solid darken(@messageNoticeBg, 10%);
+    .box-sizing();
+    &:before {
+        background: @messageNoticeIconBg;
+        top: -2px;
+        height: auto;
+        bottom: -2px;
+    }
+    > *:first-child:before {
+        border-right-color: @messageNoticeIconBg;
+    }
+    > *:first-child:after {
+        content: @icon-info;
+    }
+}
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/lib/navigation.less b/app/design/frontend/magento_plushe/less/lib/navigation.less
new file mode 100644
index 00000000000..5c1f1cbf41e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/navigation.less
@@ -0,0 +1,658 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+//  # Navigation
+//
+//
+//  ```html
+//<div class="header"></div>
+//<nav class="navigation" data-role="navigation" data-mage-init="{ navigationMenu: { submenuContiniumEffect: false } }">
+//    <ul>
+//        <li class="level0 nav-1 first level-top parent"><a href="http://m2.loc/index.php/ewr.html" class="level-top"><span> First level 1 </span></a>
+//            <div class="submenu">
+//                <ul class="level0">
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-1-1 first parent"><a href="http://m2.loc/index.php/ewr/subcategory-1.html"><span> Subcategory 1 </span></a>
+//                                <div class="submenu">
+//                                    <ul class="level1">
+//                                        <li class="level2 nav-1-1-1 first"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-1.html"><span> Third level 1 </span></a></li>
+//                                        <li class="level2 nav-1-1-2 parent"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-2.html"><span> Third level 2 </span></a>
+//                                            <div class="submenu">
+//                                                <ul class="level2">
+//                                                    <li class="level3 nav-1-1-2-1 first"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-2/fourth-level-1.html"><span> Fourth level 1 </span></a></li>
+//                                                    <li class="level3 nav-1-1-2-2"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-2/fourth-level-2.html"><span> Fourth level 2 </span></a></li>
+//                                                    <li class="level3 nav-1-1-2-3"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-2/fourth-level-3.html"><span> Fourth level 3 </span></a></li>
+//                                                    <li class="level3 nav-1-1-2-4 last"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-2/fourth-level-4.html"><span> Fourth level 4 </span></a></li>
+//                                                </ul>
+//                                            </div>
+//                                        </li>
+//                                        <li class="level2 nav-1-1-3 parent"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-3.html"><span> Third level 3 </span></a>
+//                                            <div class="submenu">
+//                                                <ul class="level2">
+//                                                    <li class="level3 nav-1-1-3-1 first"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-3/fourth-level-1.html"><span> Fourth level 1 </span></a></li>
+//                                                    <li class="level3 nav-1-1-3-2 last"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-3/fourth-level-2.html"><span> Fourth level 2 </span></a></li>
+//                                                </ul>
+//                                            </div>
+//                                        </li>
+//                                        <li class="level2 nav-1-1-4"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-4.html"><span> Third level 4 </span></a></li>
+//                                        <li class="level2 nav-1-1-5"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-5.html"><span> Third level 5 </span></a></li>
+//                                        <li class="level2 nav-1-1-6"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-6.html"><span> Third level 6 </span></a></li>
+//                                        <li class="level2 nav-1-1-7"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-7.html"><span> Third level 7 </span></a></li>
+//                                        <li class="level2 nav-1-1-8"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-8.html"><span> Third level 8 </span></a></li>
+//                                        <li class="level2 nav-1-1-9"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-9.html"><span> Third level 9 </span></a></li>
+//                                        <li class="level2 nav-1-1-10"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-10.html"><span> Third level 10 </span></a></li>
+//                                        <li class="level2 nav-1-1-11 last"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-11.html"><span> Third level 11 </span></a></li>
+//                                    </ul>
+//                                </div>
+//                            </li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-1-2 parent"><a href="http://m2.loc/index.php/ewr/subcategory-2.html"><span> Subcategory 2 </span></a>
+//                                <div class="submenu">
+//                                    <ul class="level1">
+//                                        <li class="level2 nav-1-2-1 first"><a href="http://m2.loc/index.php/ewr/subcategory-2/third-level-1.html"><span> Third level 1 </span></a></li>
+//                                        <li class="level2 nav-1-2-2"><a href="http://m2.loc/index.php/ewr/subcategory-2/third-level-2.html"><span> Third level 2 </span></a></li>
+//                                        <li class="level2 nav-1-2-3"><a href="http://m2.loc/index.php/ewr/subcategory-2/third-level-3.html"><span> Third level 3 </span></a></li>
+//                                        <li class="level2 nav-1-2-4"><a href="http://m2.loc/index.php/ewr/subcategory-2/third-level-4.html"><span> Third level 4 </span></a></li>
+//                                        <li class="level2 nav-1-2-5 last"><a href="http://m2.loc/index.php/ewr/subcategory-2/third-level-5.html"><span> Third level 5 </span></a></li>
+//                                    </ul>
+//                                </div>
+//                            </li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-1-3"><a href="http://m2.loc/index.php/ewr/subcategory-3.html"><span> Subcategory 3 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-1-4"><a href="http://m2.loc/index.php/ewr/subcategory-4.html"><span> Subcategory 4 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-1-5"><a href="http://m2.loc/index.php/ewr/subcategory-5.html"><span> Subcategory 5 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-1-6 last parent"><a href="http://m2.loc/index.php/ewr/subcategory-6.html"><span> Subcategory 6 </span></a>
+//                                <div class="submenu">
+//                                    <ul class="level1">
+//                                        <li class="level2 nav-1-6-1 first"><a href="http://m2.loc/index.php/ewr/subcategory-6/third-level-1.html"><span> Third level 1 </span></a></li>
+//                                        <li class="level2 nav-1-6-2"><a href="http://m2.loc/index.php/ewr/subcategory-6/third-level-2.html"><span> Third level 2 </span></a></li>
+//                                        <li class="level2 nav-1-6-3"><a href="http://m2.loc/index.php/ewr/subcategory-6/third-level-3.html"><span> Third level 3 </span></a></li>
+//                                        <li class="level2 nav-1-6-4"><a href="http://m2.loc/index.php/ewr/subcategory-6/third-level-4.html"><span> Third level 4 </span></a></li>
+//                                        <li class="level2 nav-1-6-5"><a href="http://m2.loc/index.php/ewr/subcategory-6/third-level-5.html"><span> Third level 5 </span></a></li>
+//                                        <li class="level2 nav-1-6-6"><a href="http://m2.loc/index.php/ewr/subcategory-6/third-level-6.html"><span> Third level 6 </span></a></li>
+//                                        <li class="level2 nav-1-6-7 last"><a href="http://m2.loc/index.php/ewr/subcategory-6/third-level-7.html"><span> Third level 7 </span></a></li>
+//                                    </ul>
+//                                </div>
+//                            </li>
+//                        </ul>
+//                    </li>
+//                </ul>
+//            </div>
+//        </li>
+//        <li class="level0 nav-2 level-top parent"><a href="http://m2.loc/index.php/123456.html" class="level-top"><span> First level 2 </span></a>
+//            <div class="submenu">
+//                <ul class="level0">
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-2-1 first"><a href="http://m2.loc/index.php/123456/subcategory-1.html"><span> Subcategory 1 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-2-2"><a href="http://m2.loc/index.php/123456/subcategory-2.html"><span> Subcategory 2 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-2-3 last"><a href="http://m2.loc/index.php/123456/subcategory-3.html"><span> Subcategory 3 </span></a></li>
+//                        </ul>
+//                    </li>
+//                </ul>
+//            </div>
+//        </li>
+//        <li class="level0 nav-3 level-top parent"><a href="http://m2.loc/index.php/first-level-3.html" class="level-top"><span> First level 3 </span></a>
+//            <div class="submenu">
+//                <ul class="level0">
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-3-1 first"><a href="http://m2.loc/index.php/first-level-3/subcategory-1.html"><span> Subcategory 1 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-3-2"><a href="http://m2.loc/index.php/first-level-3/subcategory-2.html"><span> Subcategory 2 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-3-3"><a href="http://m2.loc/index.php/first-level-3/subcategory-3.html"><span> Subcategory 3 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-3-4"><a href="http://m2.loc/index.php/first-level-3/subcategory-4.html"><span> Subcategory 4 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-3-5 last"><a href="http://m2.loc/index.php/first-level-3/subcategory-5.html"><span> Subcategory 5 </span></a></li>
+//                        </ul>
+//                    </li>
+//                </ul>
+//            </div>
+//        </li>
+//        <li class="level0 nav-4 level-top"><a href="http://m2.loc/index.php/first-level-4.html" class="level-top"><span> First level 4 </span></a></li>
+//        <li class="level0 nav-5 level-top"><a href="http://m2.loc/index.php/first-level-5.html" class="level-top"><span> First level 5 </span></a></li>
+//        <li class="level0 nav-6 level-top"><a href="http://m2.loc/index.php/first-level-6.html" class="level-top"><span> First level 6 </span></a></li>
+//        <li class="level0 nav-7 level-top"><a href="http://m2.loc/index.php/first-level-7.html" class="level-top"><span> First level 7 </span></a></li>
+//        <li class="level0 nav-8 level-top"><a href="http://m2.loc/index.php/first-level-8.html" class="level-top"><span> First level 8 </span></a></li>
+//        <li class="level0 nav-9 level-top parent"><a href="http://m2.loc/index.php/first-level-4-1.html" class="level-top"><span> First level 9 </span></a>
+//            <div class="submenu">
+//                <ul class="level0">
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-9-1 first parent"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-1.html"><span> Subcategory 1 </span></a>
+//                                <div class="submenu">
+//                                    <ul class="level1">
+//                                        <li class="level2 nav-9-1-1 first"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-1/third-level-1.html"><span> Third level 1 </span></a></li>
+//                                        <li class="level2 nav-9-1-2 parent"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-1/third-level-2.html"><span> Third level 2 </span></a>
+//                                            <div class="submenu">
+//                                                <ul class="level2">
+//                                                    <li class="level3 nav-9-1-2-1 first"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-1/third-level-2/fourth-level-1.html"><span> Fourth level 1 </span></a></li>
+//                                                    <li class="level3 nav-9-1-2-2 last"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-1/third-level-2/fourth-level-2.html"><span> Fourth level 2 </span></a></li>
+//                                                </ul>
+//                                            </div>
+//                                        </li>
+//                                        <li class="level2 nav-9-1-3 last"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-1/third-level-3.html"><span> Third level 3 </span></a></li>
+//                                    </ul>
+//                                </div>
+//                            </li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-9-2"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-2.html"><span> Subcategory 2 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-9-3 last"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-3.html"><span> Subcategory 3 </span></a></li>
+//                        </ul>
+//                    </li>
+//                </ul>
+//            </div>
+//        </li>
+//        <li class="level0 nav-10 level-top"><a href="http://m2.loc/index.php/first-level-10.html" class="level-top"><span> First level 10 </span></a></li>
+//        <li class="level0 nav-11 level-top"><a href="http://m2.loc/index.php/first-level-11.html" class="level-top"><span> First level 11 </span></a></li>
+//        <li class="level0 nav-12 level-top"><a href="http://m2.loc/index.php/first-level-12.html" class="level-top"><span> First level 12 </span></a></li>
+//        <li class="level0 nav-13 level-top"><a href="http://m2.loc/index.php/first-level-13.html" class="level-top"><span> First level 13 </span></a></li>
+//        <li class="level0 nav-14 level-top"><a href="http://m2.loc/index.php/first-level-14.html" class="level-top"><span> First level 14 </span></a></li>
+//        <li class="level0 nav-15 level-top"><a href="http://m2.loc/index.php/first-level-15.html" class="level-top"><span> First level 15 </span></a></li>
+//        <li class="level0 nav-16 level-top"><a href="http://m2.loc/index.php/first-level-16.html" class="level-top"><span> First level 16 </span></a></li>
+//        <li class="level0 nav-17 level-top"><a href="http://m2.loc/index.php/first-level-17.html" class="level-top"><span> First level 17 </span></a></li>
+//    </ul>
+//</nav>
+//  ```
+//
+
+@subNavHeight: auto;
+@subNavPadding: 45px;
+
+@navBg : @headerBg;
+@navBgImage : @headerBgImage;
+
+.navigation {
+    background-color: @navBg;
+    background-image: @navBgImage;
+    background-repeat: repeat;
+    background-position: 0 0;
+    border-top: 1px solid;
+    .borderColorI(@navBg);
+    position: relative;
+    z-index: 2;
+    .clearfix();
+
+    > ul > .level-top {
+        display: inline-block;
+        line-height: 1.2;
+        vertical-align: top;
+        padding-right: 40px;
+
+        &:last-child {
+            padding-right: 0;
+        }
+
+        &.active {
+            > a:after {
+                opacity: 1;
+                border-bottom-color: @primary7;
+            }
+        }
+
+        &.hover {
+            > a:after {
+                border-bottom-color: @primary1;
+            }
+            > .submenu {
+                border-bottom: 1px solid @primary3;
+            }
+        }
+
+        &.hover,
+        &:hover {
+            > .submenu {
+                z-index: 2;
+            }
+            &:hover > a span,
+            &.parent.hover > a span,
+            &.parent > a span {
+                color: @primary6;
+            }
+            &:hover > a:after,
+            &.hover > a:after,
+            &.parent > a:after {
+                opacity: 1;
+            }
+        }
+
+        &.more {
+            &:after {
+                cursor: pointer;
+                content: "\e010";
+                font-family: "icons";
+                font-size: 16px;
+                display: inline-block;
+                padding: .6em .7em 1em;
+                margin-top: 0.4em;
+                border-radius: 4px 4px 0 0;
+                position: relative;
+                z-index: 1;
+            }
+
+            &.hover:after {
+                background: @primary1;
+            }
+
+            li.level-top {
+                width: 200px;
+                margin: 0 0 0 -10px !important;
+                padding: 7px 10px 7px 30px;
+                > a {
+                    font-size: 16px;
+                }
+                &.hover,
+                &:hover {
+                    background: @primary1;
+                    > a span {
+                        color: @primary6;
+                    }
+                    &.parent {
+                        .iconBefore(@content: @icon-arrow-right-thick, @margin: 0 8px 0 0, @font: "icons");
+                        &:before {
+                            float: right;
+                            color: @secondary1;
+                        }
+                    }
+                    .submenu {
+                        display: block !important;
+                    }
+                }
+                > a span {
+                    color: @primary5;
+                }
+                .submenu {
+                    display: none;
+                }
+                > .submenu {
+                    position: absolute;
+                    right: 0;
+                    padding: 0;
+                    left: 0;
+                    top: 0;
+                    margin-left: 230px;
+                    min-height: 100%;
+                    background: @primary1;
+                    .box-sizing();
+                    .box-shadow(0 10px 8px rgba(0,0,0,0.3));
+                    .no-boxshadow & {
+                        border: 2px solid @primary3;
+                        border-width: 0 2px 2px;
+                    }
+                    > ul {
+                        background: @primary1;
+                        position: relative;
+                        z-index: 1;
+                        padding: 10px;
+                    }
+                }
+            }
+            > .submenu {
+                background: none;
+                border-width: 0;
+                > ul {
+                    position: relative;
+                }
+            }
+        }
+
+        > a {
+            position: relative;
+            display: inline-block;
+            vertical-align: top;
+            padding: 1em 0;
+            font-size: 16px;
+            text-align: center;
+            color: @primary5;
+            &:after {
+                opacity: 0;
+                content: '';
+                overflow: hidden;
+                display: block;
+                position: absolute;
+                bottom: 0;
+                left: 50%;
+                zoom: 1;
+                z-index: 2;
+                color: @primary6;
+                .arrow(top, 10px, @primary1);
+            }
+            > span {
+                color: @primary5;
+            }
+            &:active span,
+            &:focus span {
+                color: @primary6;
+            }
+            &:active:after,
+            &:focus:after {
+                opacity: 1;
+            }
+        }
+
+        > .submenu {
+            display: none;
+            position: absolute;
+            left: 0;
+            top: 100%;
+            background: @primary1;
+            width: 100%;
+            z-index: 1;
+            > ul {
+                height: @subNavHeight;
+                padding-top: @subNavPadding;
+                padding-bottom: @subNavPadding;
+                li.column {
+                    .box-sizing( border-box );
+                    width: 25%;
+                    display: inline-block;
+                    padding-right: 30px;
+                    vertical-align: top;
+                }
+                .level1 > a {
+                    text-transform: uppercase;
+                }
+                .parent ul {
+                    padding-left: 10px;
+                }
+                li {
+                    margin: 8px 0;
+                    &:fist-child {
+                        margin-top: 0;
+                    }
+                }
+            }
+        }
+    }
+}
+
+@media only screen and (max-width: 640px) {
+    html {
+        height: 100%;
+        min-width: 0;
+        overflow: hidden;
+    }
+
+    body {
+        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+        position: relative;
+        height: 100%;
+        width: 100%;
+        overflow: hidden;
+        &.opened {
+            .navigation {
+                left: 0;
+            }
+            .page.wrapper {
+                margin-right: -86%;
+                cursor: pointer;
+            }
+        }
+    }
+
+    .page.wrapper {
+        position: relative;
+        width: 100%;
+        float: right;
+        margin: 0;
+        .transition(margin .3s ease-out 0);
+    }
+
+    .navigationLink() {
+        & > a {
+            display: block;
+            padding: 10px 20px;
+            text-transform: none;
+            font-size: 20px;
+            font-weight: 600;
+            border-bottom: 1px solid @primary2;
+            color: @primary6;
+            text-align: left;
+            &:hover,
+            &:visited {
+                color: @primary6;
+            }
+            &:active {
+                background: #dbdcd7;
+            }
+            &:after {
+                border: 0;
+            }
+        }
+    }
+
+    .navigationSubmenu() {
+        position: absolute;
+        display: block;
+        left: 100%;
+        top: 0;
+        width: 100%;
+        overflow-x: hidden;
+        background: @primary7;
+        .transition(left .3s ease-out 0);
+        &.opened {
+            left: 0;
+            z-index: 3;
+        }
+        > ul {
+            padding-top: 0;
+            padding-bottom: 0;
+            li {
+                margin: 0;
+                .navigationLink();
+            }
+            li.column {
+                width: 100%;
+                display: block;
+                padding-right: 0;
+            }
+            .parent ul {
+                padding-left: 0;
+            }
+        }
+    }
+
+    .navigation {
+        display: block;
+        position: absolute;
+        width: 86%;
+        left: -86%;
+        height: 100%;
+        background: @primary7;
+        overflow-x: hidden;
+        border-right: #b6b8af 1px solid;
+        .box-sizing();
+        .transition(left .3s ease-out 0);
+        ul {
+            margin: 0;
+            padding: 0;
+            li.hidden {
+                display: none;
+            }
+        }
+        & > ul {
+            .transition(left .3s linear 0);
+            position: relative;
+            overflow: hidden;
+            > .level-top {
+                display: block;
+                padding: 0;
+                background: @primary7;
+                .navigationLink();
+                &.parent {
+                    &:after {
+                        display: none;
+                    }
+                    > a {
+                        position: relative;
+                        .iconAfter(@content: @icon-arrow-right-thick, @size: 18px, @font: 'icons');
+                        text-transform: none !important;
+                        &:after {
+                            position: absolute;
+                            width: 18px;
+                            top: 12px;
+                            right: 17px;
+                            left: auto;
+                            opacity: 1;
+                            z-index: auto;
+                        }
+                    }
+                    > .submenu {
+                        .navigationSubmenu();
+                    }
+                }
+
+            }
+        }
+        .action.back {
+            a {
+                background: @primary6;
+                position: relative;
+                color: @primary7 !important;
+                border-bottom-color: transparent;
+                cursor: pointer;
+                .iconBefore(@content: @icon-arrow-left-thick, @size: 18px, @font: 'icons');
+                &:hover,
+                &:active,
+                &:visited {
+                    color: @primary7 !important;
+                    background: @primary6 !important;
+                }
+                &:before {
+                    position: absolute;
+                    top: 12px;
+                    left: 3px;
+                }
+                span:before {
+                    content: "";
+                }
+            }
+        }
+        .parent {
+            &:after {
+                display: none;
+            }
+            > a {
+                position: relative;
+                .iconAfter(@content: @icon-arrow-right-thick, @size: 18px, @font: 'icons');
+                &:after {
+                    position: absolute;
+                    width: 18px;
+                    top: 16px;
+                    right: 17px;
+                    left: auto;
+                    opacity: 1;
+                    z-index: auto;
+                }
+            }
+            .submenu {
+                .navigationSubmenu();
+            }
+        }
+    }
+
+    .action.toggle.nav {
+        display: block;
+        margin-top: 19px;
+        position: absolute;
+        top: 0;
+        left: 20px;
+        font-size: 0;
+        .iconAfter(@content: @icon-menu, @size: 32px, @font: 'icons');
+        .iconHideText(32px);
+        cursor: pointer;
+        &:before {
+            position: absolute;
+            width: 100%;
+            height: 100%;
+            left: -100%;
+            top: -20px;
+            padding: 20px 0;
+            content: "";
+        }
+        .active-nav &:before {
+            position: fixed;
+            padding: 0;
+            left: 86%;
+            right: 0;
+            top: 0;
+            bottom: 0;
+        }
+    }
+
+    .header {
+        padding: 0;
+        position: relative;
+        margin-bottom: 35px;
+    }
+}
diff --git a/app/design/frontend/magento_plushe/less/lib/sections.less b/app/design/frontend/magento_plushe/less/lib/sections.less
new file mode 100644
index 00000000000..600060c2465
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/sections.less
@@ -0,0 +1,203 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+.data-tabs() {
+    .clearfix();
+    position: relative;
+    z-index: 1;
+    > .item.title {
+        float: left;
+        > .switch {
+            display: block;
+            position: relative;
+            top: 1px;
+            z-index: 2;
+        }
+    }
+    > .item.content {
+        width: 100%;
+        float: right;
+        margin-left: -100%;
+        display: none;
+        .box-sizing();
+        &.active {
+            display: block;
+        }
+    }
+
+    .tabs > .term-content.active {
+        border: 1px solid #BFBFBF;
+        color: hsl(0, 0%, 50%);
+        display: block;
+    }
+}
+
+.data-tabs-styling() {
+    > .item.title {
+        margin-right: 1px;
+        min-height: 35px;
+        > .switch {
+            font-size: 14px;
+            line-height: 1;
+            font-weight: 600;
+            text-decoration: none;
+            padding: 11px 11px 8px;
+            border: 2px solid #e5e5e5;
+            background: rgba(0, 0, 0, 0.03);
+            border-bottom: none;
+            text-transform: uppercase;
+            border-radius: 4px 4px 0 0;
+        }
+        &:not(.disabled) > .switch:active,
+        &:not(.disabled) > .switch:focus,
+        &:not(.disabled) > .switch:hover,
+        &.active > .switch {
+            background: #fff;
+            border-width: 3px;
+            padding: 10px 10px 8px;
+            outline: none;
+        }
+        &.active > .switch {
+            padding: 10px 20px 11px !important;
+        }
+    }
+    > .item.content {
+        .clearfix;
+        margin-top: 36px;
+        padding: 20px;
+        &:before {
+            content: '';
+            border-top: 3px solid #e5e5e5;
+            width: 100%;
+            display: block;
+            position: absolute;
+            left: 0;
+            .box-sizing();
+            margin: -20px 0 20px;
+        }
+    }
+}
+
+.data-accordion() {
+    > .item.title {
+        .box-sizing();
+        width: 100%;
+        > .item.switch {
+            display: block;
+        }
+    }
+    > .item.content {
+        .clearfix();
+        .box-sizing();
+        display: none;
+        &.active {
+            display: block;
+        }
+    }
+}
+
+.data-accordion-styling() {
+    margin: 0;
+    padding: 0;
+    > .item.title {
+        margin: 3px 0 0;
+        > .switch {
+            display: block;
+            font-size: 14px;
+            line-height: 1;
+            font-weight: 600;
+            text-decoration: none;
+            padding: 11px;
+            border: 2px solid #e5e5e5;
+            background: #f8f8f8;
+            text-transform: uppercase;
+            border-radius: 4px;
+        }
+        &:not(.disabled) > .switch:active,
+        &:not(.disabled) > .switch:focus,
+        &:not(.disabled) > .switch:hover,
+        &.active > .switch {
+            background: #fff;
+            border-width: 3px;
+            padding: 10px;
+            outline: none;
+        }
+        &.active > .switch {
+            border-radius: 4px 4px 0 0;
+        }
+    }
+    > .item.content {
+        margin: 0;
+        padding: 20px;
+        background: #fff;
+    }
+}
+
+//  # Sections
+//
+//  ```html
+//  <dl class="product data items" data-sections="tabs">
+//    <dt class="data item title active" data-section="title">
+//        <a class="data switch" data-toggle="switch" href="#product.info.description">Details</a>
+//    </dt>
+//    <dd class="data item content active" id="product.info.description" data-section="content">
+//        <p>Fit to be tied. Get the perfect level of lift in our Tie-front Tankini. Featuring removable padding and cup-specific sizes for support and shaping. From our Forever Sexy Swim collection of push-up tops and bottoms in sun-loving colors and prints.</p>
+//        <p>- Removable push-up padding<br>- Lined hidden underwire cups<br>- Front tie<br>- Adjustable straps can be worn classic or cross-back<br>- Available in two lengths: 17 3/4" and 18 3/4"<br>- Imported Italian nylon/Lycra® spandex</p>
+//    </dd>
+//
+//    <dt class="data item title" data-section="title">
+//        <a class="data switch" data-toggle="switch" href="#product_tags">Tags</a>
+//    </dt>
+//    <dd class="data item content" id="product_tags" data-section="content">
+//        <p>A playful little push-up. Bring the lightweight lift and custom comfort of the Fabulous by Victoria’s Secret bra to the beach. This triangle top is finished with pretty ruching and a sweet center bow. From our fun, flirty Beach Sexy Swim Collection.</p>
+//        <p>- Ruched cups with center bow<br>- Push-up padding for extreme lift<br>- Underwire<br>- Ties at neck; looped back tie for adjustability and extra support<br>- Imported nylon/spandex</p>
+//    </dd>
+//
+//    <dt class="data item title" data-section="title">
+//        <a class="data switch" data-toggle="switch" href="#product_reviews">Reviews</a>
+//    </dt>
+//    <dd class="data item content" id="product_reviews" data-section="content">
+//        <p>Relaxed elegance. The flowy fit of this halter tankini makes beach style a breeze. The built in bra top provides just the right amount of support. Look slimmer in seconds® in this figure-loving top designed exclusively for Victoria’s Secret.</p>
+//        <p>- Built-in bra with molded foam padding<br>- Halter straps tie at neck<br>- Imported nylon/spandex</p>
+//    </dd>
+//  </dl>
+//  ```
+//
+
+@media only screen
+and (max-width : 99999px) {
+    .product.data {
+        .data-tabs();
+        .data-tabs-styling();
+    }
+}
+
+@media only screen
+and (max-width : 768px) {
+    .product.data {
+        .data-accordion();
+        .data-accordion-styling();
+    }
+}
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/lib/snippets.less b/app/design/frontend/magento_plushe/less/lib/snippets.less
new file mode 100644
index 00000000000..65ff1c139ac
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/snippets.less
@@ -0,0 +1,142 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+.resetList(@margin: 0, @padding: 0) {
+    padding: @padding;
+    margin: @margin;
+    list-style-type: none;
+    list-style-image: none;
+}
+
+.borderColor (@color) when (lightness(@color) > 50%) {
+    border-color: darken(@color, 13%);
+}
+
+.borderColor (@color) when (lightness(@color) =< 50%) {
+    border-color: lighten(@color, 13%);
+}
+
+.borderColorI (@color) when (lightness(@color) > 50%) {
+    border-color: lighten(@color, 13%);
+}
+
+.borderColorI (@color) when (lightness(@color) =< 50%) {
+    border-color: darken(@color, 13%);
+}
+
+.pageWidth(@maxWidth: @LayoutMaxWidth, @minWidth: @LayoutMinWidth, @padding: 10px) {
+    padding-left: @padding;
+    padding-right: @padding;
+    margin: 0 auto;
+    min-width: (@minWidth - (2 * @padding));
+    max-width: (@maxWidth - (2 * @padding));
+}
+
+.transitionDelay(@delay) {
+    -webkit-transition-delay: @delay;
+    -moz-transition-delay: @delay;
+    -ms-transition-delay: @delay;
+    -o-transition-delay: @delay;
+    transition-delay: @delay;
+}
+
+.resetAction() {
+    border: none;
+    border-radius: 0;
+    background: none;
+    margin: 0;
+    padding: 0;
+    box-shadow: none;
+    text-shadow: none;
+    outline: none;
+}
+
+.actionLink() {
+    display: inline;
+    color: @link;
+    text-decoration: none;
+    &:focus,
+    &:active,
+    &:hover {
+        color: @linkHover;
+    }
+}
+
+.colorA(@c1, @c2) {
+    color: @c1;
+    > span {
+        color: @c1;
+    }
+    &:hover,
+    &:hover > span {
+        color: @c2;
+    }
+}
+
+.fieldStyle() {
+    margin: 0 0 10px;
+    &:last-child {
+        margin-bottom: 0;
+    }
+    .nested {
+        .field {
+            margin: 5px 0;
+        }
+        padding: 0 0 0;
+    }
+}
+
+.labelStyle() {
+    text-transform: uppercase;
+    font-weight: 600;
+    padding: 0 0 5px;
+}
+
+.formInline(@labelWidth: 50%) {
+    > .field {
+        .clearfix();
+    }
+    > .field > .control,
+    > .field > .label {
+        margin: 0;
+        float: left;
+        width: @labelWidth;
+        .box-sizing();
+    }
+    > .field > .control {
+        width: 100% - @labelWidth;
+    }
+    > .field.no-label {
+        .control {
+            margin-left: @labelWidth;
+        }
+    }
+}
+
+.profileBlockWithBg {
+    .box-sizing();
+    background: @primary1;
+    padding: 30px;
+}
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/styles.less b/app/design/frontend/magento_plushe/less/styles.less
new file mode 100644
index 00000000000..e9cdfbb7f61
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/styles.less
@@ -0,0 +1,5180 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+.normalize();
+
+@import "clearless/all"; // import ClearLess
+@import "styles/base";
+@import "lib/snippets";
+@import "lib/buttons";
+@import "lib/forms";
+@import "lib/grids";
+@import "lib/icons";
+@import "lib/messages";
+@import "lib/navigation";
+@import "lib/sections";
+@import "vars";
+@import "styles/magento";
+
+strong {
+    font-weight: 700;
+}
+
+.items {
+    .resetList();
+}
+
+/*
+    Forms
+-------------------------------------- */
+.field.required > .label > span:first-child:after {
+    content: ' *';
+    color: @requiredField;
+}
+
+/*
+    Magento_Page
+-------------------------------------- */
+html, body, button, input, select, textarea {
+    color: @textColor;
+    font: 400 14px/1.33 "sourcesanspro";
+}
+
+html {
+    background: @footerBg;
+}
+
+body {
+    position: relative;
+}
+
+.page.wrapper {
+    background: @pageMainBg;
+}
+
+/*
+    Page Layout
+-------------------------------------- */
+.columns {
+    .pageWidth();
+}
+
+.page.main {
+    .clearfix();
+    clear: both;
+    padding: 30px 0;
+}
+
+.page.title {
+    .clearfix();
+    margin-bottom: 30px;
+    .title {
+        display: inline;
+        margin: 0;
+        line-height: 1.2;
+        font-weight: @baseFontWeightLighter;
+        font-size: 30px;
+        color: @primary5;
+    }
+    .action {
+        float: right;
+        &:extend(.primary.action all);
+    }
+}
+
+.page.main > .page.title {
+    .pageWidth();
+    margin-bottom: 30px;
+}
+
+.column.main {
+    min-height: 500px;
+}
+
+.column.left,
+.column.right {
+    .box-sizing();
+    min-height: 1px;
+}
+
+.col1-layout {
+    .column.main {
+        .column(12);
+    }
+}
+
+.col2-left-layout {
+    .column.main {
+        float: right !important;
+        .column(10);
+    }
+    .column.left {
+        .column(2);
+        padding-right: 12px;
+    }
+}
+
+.col2-right-layout {
+    .column.main {
+        .column(10);
+    }
+    .column.right {
+        .column(2);
+        padding-left: 12px;
+    }
+}
+
+.col3-layout {
+    .column.main {
+        .clearfix();
+        .column(8);
+        float: none !important;
+        display: inline-block !important;
+        vertical-align: top;
+    }
+    .column.left {
+        .column(2);
+        float: left;
+        padding-right: 12px;
+    }
+    .column.right {
+        .column(2);
+        float: none !important;
+        display: inline-block !important;
+        padding-left: 12px;
+    }
+}
+
+/*
+    Header
+-------------------------------------- */
+.header {
+    background-color: @headerBg;
+    background-image: @headerBgImage;
+    background-repeat: repeat;
+    background-position: 0;
+    border-bottom: 1px solid;
+    .borderColor(@headerBg);
+    padding: 15px 0;
+    > .content {
+        .pageWidth();
+        .clearfix();
+        .links {
+            .resetList();
+            margin-bottom: 5px;
+            li {
+                margin-left: 20px;
+                display: inline;
+                text-transform: capitalize;
+            }
+            a {
+                .colorA(@primary5, @secondary1);
+            }
+        }
+        text-align: right;
+    }
+
+    .panel {
+        .pageWidth();
+        .clearfix();
+        margin-bottom: 15px;
+        text-align: right;
+    }
+}
+
+.logo {
+    font-family: "marvel";
+    font-style: normal;
+    font-weight: @baseFontWeight;
+    font-size: 55px;
+    display: block;
+    float: left;
+    line-height: 1;
+    text-align: center;
+    img {
+        display: inline-block;
+        vertical-align: middle;
+        margin: 0 auto;
+    }
+    span {
+        display: inline-block;
+        vertical-align: middle;
+        margin-left: 15px;
+        color: @primary5;
+        margin-top: -8px;
+    }
+    &:active {
+        outline: 0;
+    }
+}
+
+/*
+    Header Banner
+-------------------------------------- */
+.header .panel .widget {
+    display: inline-block;
+    text-align: left;
+}
+
+.banner-header:visited,
+.banner-header:hover,
+.banner-header {
+    font-size: @baseFontSizeBigger;
+    text-transform: uppercase;
+    color: @secondary1;
+}
+
+/*
+    Search
+-------------------------------------- */
+.block.search {
+    float: right;
+    > .content {
+        white-space: nowrap;
+    }
+    .field,
+    .actions,
+    .field .control {
+        float: left;
+    }
+    .actions {
+        margin-right: 0;
+    }
+    .search.autocomplete {
+        background: @primary7;
+        border: 1px solid @primary3;
+        border-width: 0 1px 1px;
+        border-radius: 0 0 5px 5px;
+        z-index: 5;
+        ul {
+            .resetList();
+            li {
+                border-top: 1px solid @primary2;
+                cursor: pointer;
+                padding: 5px 40px 5px 10px;
+                position: relative;
+                text-align: left;
+                white-space: normal;
+                &:first-child {
+                    border-top: none;
+                }
+                &:hover {
+                    background: @primary1;
+                }
+                .amount {
+                    color: @primary4;
+                    font-weight: 600;
+                    position: absolute;
+                    right: 7px;
+                    top: 6px;
+                }
+            }
+        }
+    }
+}
+
+/*
+    Navigation
+-------------------------------------- */
+.navigation {
+    z-index: 4;
+    > ul > .level-top {
+        &.hover,
+        &:hover {
+            > .submenu {
+                z-index: 3;
+            }
+        }
+        &.more {
+            > .submenu {
+                background: @primary1;
+                > ul {
+                    .pageWidth();
+                    position: relative;
+                }
+            }
+            &.hover {
+                > .submenu {
+                    border-bottom: 1px solid @primary3;
+                    overflow: visible !important;
+                }
+            }
+        }
+    }
+}
+
+.navigation > ul,
+.navigation > ul > .level0 > .submenu > ul.level0 {
+    .pageWidth();
+    padding-left: 0;
+    padding-right: 0;
+}
+
+@media only screen and (max-width: 640px) {
+    .navigation > ul {
+        min-width: 100%;
+        max-width: 100%;
+    }
+    .action.toggle.nav {
+        top: 100%;
+    }
+}
+
+/*
+    General block
+-------------------------------------- */
+.column.main .block,
+.sidebar .block {
+    margin-bottom: 45px;
+    > .title {
+        margin-bottom: 15px;
+        strong {
+            line-height: 1.2;
+            font-weight: @baseFontWeightLighter;
+            font-size: 20px;
+        }
+    }
+    &.filter {
+        .item {
+            margin-bottom: 10px;
+        }
+    }
+}
+
+.sidebar .block > .title strong {
+    font-size: 18px;
+}
+
+/*
+    Breadcrumbs
+-------------------------------------- */
+.breadcrumbs {
+    .pageWidth();
+    margin-top: 30px;
+}
+
+/*
+    Footer
+-------------------------------------- */
+.footer {
+    background: @footerBg;
+    border-top: 1px solid;
+    .borderColor(@footerBg);
+    padding: 30px 0 80px;
+    > .content {
+        .pageWidth();
+        text-align: left;
+    }
+    .links {
+        ul {
+            .resetList();
+        }
+        display: inline-block;
+        padding: 0;
+        margin: 1px 3px 19px 0;
+        li {
+            list-style: none;
+            list-style-image: none;
+            margin: 0;
+            padding: 0;
+            display: inline;
+            &:after {
+                content: ' | ';
+            }
+            &:last-child:after {
+                content: '';
+            }
+        }
+        + .links li:first-child:before {
+            content: ' | ';
+        }
+        a {
+            .colorA(@primary5, @secondary1);
+        }
+    }
+    .copyright {
+        font-size: @base-font-size;
+        display: block;
+        padding-top: 10px;
+    }
+    .bugs {
+        margin-top: 25px;
+        font-size: 11px;
+        a {
+            font-weight: bold;
+            &:before {
+                content: ' - ';
+                display: inline-block;
+            }
+
+        }
+    }
+}
+
+/*
+    Switchers
+-------------------------------------- */
+.switcher {
+    display: inline-block;
+    text-align: left;
+    .header .panel & {
+        margin-right: 25px;
+        &:last-child {
+            margin-right: 0;
+        }
+    }
+    font-size: 11px;
+    vertical-align: middle;
+    .label {
+        display: none;
+    }
+    strong {
+        color: @primary5;
+        font-weight: 600;
+    }
+    .options {
+        display: inline-block;
+        position: relative;
+        z-index: 1;
+        > ul {
+            .resetList();
+            margin: 0;
+            padding: 5px 10px;
+            position: absolute;
+            top: 100%;
+            right: 0;
+            margin-left: -11px;
+            min-width: 100%;
+            float: left;
+            background: @primary1;
+            border: 1px solid darken(@headerBg, 5%);
+            visibility: hidden;
+            opacity: 0;
+            .transition(visibility 0s linear 2s);
+            li {
+                margin: 5px 0;
+                white-space: nowrap;
+            }
+        }
+        &.active {
+            z-index: 999;
+            > ul {
+                visibility: visible;
+                opacity: 1;
+                .transitionDelay(0s);
+            }
+        }
+        &.active strong,
+        &:hover strong {
+            color: @primary6;
+        }
+    }
+}
+
+.action.switch {
+    .resetAction();
+    vertical-align: top;
+    color: @primary5;
+    span {
+        .iconAfter(@content: '\e02c', @font: "icons");
+        .iconHideText();
+        &:after {
+            line-height: 12px;
+        }
+    }
+    &:focus,
+    &:hover,
+    &.active {
+        color: @primary6;
+    }
+    &.active span:after {
+        content: "\e029";
+    }
+    .no-js &:focus + ul {
+        visibility: visible;
+        opacity: 1;
+        .transitionDelay(0s);
+    }
+}
+
+/*
+    Global Notices
+-------------------------------------- */
+.notice.global.site {
+    .box-sizing();
+    position: absolute;
+    width: 100%;
+    padding: 8px;
+    background: #4d5d64;
+    color: #fff;
+    top: 0;
+    left: 0;
+    text-align: center;
+    p {
+        margin: 0;
+    }
+}
+
+/*
+    Reviews
+-------------------------------------- */
+@starSize : 16px;
+.reviews.summary {
+    line-height: @starSize;
+    .action {
+        font-size: @baseFontSizeMiddle;
+    }
+    .reviews.actions {
+        font-size: @baseFontSizeMiddle;
+        display: inline;
+    }
+    .action.view {
+        span:before {
+            content: ' ';
+        }
+    }
+    .action.view + .action.add {
+        &:before {
+            content: '\00A0|\00A0\00A0';
+            display: inline-block;
+            color: @link;
+        }
+    }
+    &.short:not(.no-rating) {
+        .action.view {
+            span {
+                display: none;
+            }
+            &:before {
+                content: '(';
+                display: inline-block;
+            }
+            &:after {
+                content: ')';
+                display: inline-block;
+            }
+        }
+    }
+}
+
+.block.reviews.dashboard .rating,
+.reviews.summary .rating {
+    width: 5 * @starSize;
+    margin-right: 3px;
+    line-height: 1;
+    color: fade(@secondary1, 30%);
+    display: inline-block;
+    vertical-align: top;
+    margin-top: -1px;
+    > span {
+        display: block;
+        overflow: hidden;
+        color: @secondary1;
+        height: 0;
+        padding-top: @starSize;
+        line-height: 1;
+        margin-top: -@starSize;
+        &:before {
+            margin-top: -@starSize;
+        }
+    }
+    &:before,
+    > span:before {
+        display: block;
+        top: 0;
+        left: 0;
+        width: 100%;
+        font-family: "icons";
+        content: @icon-star@icon-star@icon-star@icon-star@icon-star;
+        font-style: normal;
+        font-size: @starSize;
+        speak: none;
+        font-weight: normal;
+        -webkit-font-smoothing: antialiased;
+    }
+}
+
+/*
+    Customer Reviews
+-------------------------------------- */
+.block.reviews.list {
+    margin: 0 0 30px -20px;
+    padding: 0;
+    > .title {
+        display: none;
+    }
+    .item.review {
+        padding: 15px;
+        .review.title {
+            font-weight: 600;
+            display: block;
+            margin: 15px 0;
+        }
+        &:nth-child(odd) {
+            background: @primary1;
+        }
+    }
+    .review.details {
+        .author {
+            strong {
+                text-transform: uppercase;
+                font-weight: 600;
+            }
+        }
+        .review.date {
+            font-size: 12px;
+        }
+        p {
+            margin: 5px 0;
+            span {
+                display: none;
+            }
+        }
+    }
+}
+
+.block.add.review {
+    margin: 0 0 30px -20px;
+    padding: 20px;
+    background: @primary1;
+    .title {
+        display: none;
+    }
+    .fieldset {
+        .formFieldset();
+        border: 0;
+        padding: 0;
+        margin: 0;
+        > .legend {
+            .box-sizing();
+            float: left;
+            width: 100%;
+            margin: 0 0 20px;
+            padding: 10px 0 30px;
+            border-bottom: 1px solid;
+            .borderColor(@primary1);
+            & + br {
+                clear: both;
+                display: block !important;
+            }
+            span {
+                line-height: 1.2;
+                font-weight: @baseFontWeightLighter;
+                font-size: 20px;
+            }
+            strong {
+                margin-left: 20px;
+                font-size: @baseFontSize;
+                font-weight: 600;
+            }
+        }
+        > .field:not(.ratings) {
+            .formField();
+            .fieldStyle();
+            > .label {
+                padding: 0 0 5px;
+            }
+        }
+    }
+    .action.submit {
+        &:extend(.primary.action all);
+    }
+    .action.cancel {
+        .resetAction();
+        .actionLink();
+        position: absolute;
+        left: 100%;
+        text-decoration: underline;
+        text-transform: uppercase;
+        margin-left: 20px;
+        margin-top: 10px;
+    }
+    .actions,
+    .field:not(.ratings) {
+        width: 60%;
+    }
+    .actions {
+        padding-top: 20px;
+        text-align: right;
+        position: relative;
+        z-index: 1;
+    }
+}
+
+/*
+    Review details
+-------------------------------------- */
+.review.view {
+    .product.name {
+        display: inline-block;
+        margin: 0;
+    }
+    .product.details {
+        float: left;
+        margin-right: 30px;
+    }
+    .product.photo {
+        display: block;
+        margin-bottom: 30px;
+    }
+    .review.details {
+        margin: 30px 0;
+        display: table;
+
+        .ratings.summary {
+            margin-bottom: 30px;
+            strong {
+                font-weight: 600;
+                display: block;
+                margin: 0 0 15px;
+            }
+            .item {
+                display: table-row;
+            }
+            .label {
+                padding: 0 0 10px;
+                padding-right: 10px;
+                display: table-cell;
+                &:after {
+                    content: ': ';
+                }
+            }
+        }
+        .review.date {
+            font-size: @baseFontSizeMiddle;
+        }
+        .review.title {
+            font-weight: 600;
+            font-size: @baseFontSizeBigger;
+            margin: 0 0 15px;
+        }
+    }
+}
+
+.customer.review.view + .actions {
+    clear: both;
+}
+
+/*
+    Messages
+-------------------------------------- */
+.page.messages {
+    .pageWidth();
+    margin: 15px auto;
+}
+
+/*
+    Magento_Checkout
+    One page
+-------------------------------------- */
+.block.progress.onepage {
+    float: left;
+    width: 200px;
+    dt {
+        font-size: @baseFontSizeBigger;
+        font-weight: @baseFontWeight;
+        margin: 0 0 10px 0;
+        a {
+            font-size: @baseFontSize;
+        }
+    }
+    dd.complete {
+        padding: 0;
+        margin: 0 0 30px;
+    }
+    address {
+        font-style: normal;
+    }
+}
+
+.opc.wrapper {
+    float: right;
+    width: 725px;
+    > .opc {
+        .resetList();
+        .section {
+            margin-bottom: 4px;
+            > .step-title {
+                padding: 15px 20px;
+                line-height: 1;
+                background: @secondary1;
+                font-size: 22px;
+                h2 {
+                    font-weight: @baseFontWeight;
+                    font-size: 18px;
+                    margin: 0;
+                    padding: 0;
+                    color: #fff;
+                }
+                .number {
+                    display: none;
+                }
+            }
+            &.active {
+                > .step-title {
+                    background: @primary1;
+                    margin-bottom: 0;
+                    h2 {
+                        color: @primary6;
+                    }
+                }
+            }
+            &.allow > .step-title {
+                cursor: pointer;
+                h2:after {
+                    display: block;
+                }
+            }
+            > .step {
+                padding: 0 20px 20px;
+                background: @primary1;
+                &:before {
+                    content: '';
+                    border-top: 3px solid @primary2;
+                    display: block;
+                    margin-bottom: 20px;
+                }
+            }
+        }
+    }
+    .form:not(.login) {
+        .fieldset {
+            .formCols();
+            padding: 0;
+            margin: 20px 0;
+            border: 0;
+        }
+        .field {
+            .fieldStyle();
+            &:not(.choice) {
+                .label {
+                    display: block;
+                    padding-bottom: 5px;
+                }
+            }
+        }
+        .actions {
+            .clearfix();
+            text-align: right;
+            button.action {
+                float: right;
+                &:extend(.primary.action all);
+            }
+            .secondary {
+                padding-top: 10px;
+                clear: right;
+                float: right;
+            }
+        }
+        .field.fullname + .field.company,
+        .field.name-lastname + .field.company,
+        .field.country,
+        .field.taxvat {
+            margin: 0 40% 30px 0;
+        }
+        .field.confirm,
+        .field.password {
+            margin-top: 20px;
+            margin-bottom: 20px;
+        }
+        .field.choice {
+            width: 100%;
+            display: block;
+        }
+        .field.persistent,
+        .field.save {
+            margin: 20px 0 0;
+        }
+        .field.addresses {
+            margin-bottom: 20px;
+        }
+        &:after {
+            content: attr(data-hasrequired);
+            display: block;
+            letter-spacing: normal;
+            word-spacing: normal;
+            color: @secondary1;
+        }
+    }
+}
+
+.opc.loading .active {
+    position: relative;
+    z-index: 1;
+    &:before {
+        content: '';
+        display: block;
+        position: absolute;
+        top: 0;
+        left: 0;
+        width: 100%;
+        height: 100%;
+        background: rgba(255, 255, 255, 0.1);
+    }
+    .actions .action {
+        visibility: hidden;
+        width: 1px;
+        overflow: hidden;
+    }
+}
+
+/*
+    Load Indicator
+-------------------------------------- */
+.load.indicator {
+    display: inline-block;
+    padding: 8px;
+    vertical-align: middle;
+    span {
+        display: block;
+        line-height: 16px;
+        &:before {
+            content: '';
+            margin-right: 5px;
+            display: inline-block;
+            width: 16px;
+            height: 16px;
+            background: url(../images/loader.gif) no-repeat 0 0;
+            background-color: @secondary1;
+            vertical-align: top;
+        }
+    }
+}
+
+/*
+    Step Login
+-------------------------------------- */
+.step.login.wrapper {
+    .clearfix();
+    position: relative;
+    z-index: 1;
+    padding-bottom: 70px;
+    .block {
+        .column(6);
+        .box-sizing();
+        .fieldset {
+            border: 0;
+            margin: 0;
+            padding: 0;
+            .field {
+                width: 100%;
+            }
+        }
+        &.guest {
+            padding-left: 50px;
+            &:before {
+                content: '';
+                border-left: 1px solid @primary2;
+                position: absolute;
+                top: 0;
+                margin-left: -25px;
+                bottom: 20px;
+            }
+        }
+    }
+    button.action:not(.reload) {
+        &:extend(.primary.action all);
+    }
+    .actions {
+        position: absolute;
+        bottom: 0;
+        padding: 20px 0;
+        text-align: right;
+        margin: 0;
+        width: 50%;
+        .secondary {
+            font-size: @baseFontSizeMiddle;
+            margin-top: .5em;
+            line-height: 1.4em;
+            margin-bottom: -1.9em;
+        }
+    }
+    .guest .actions {
+        margin-left: -50px;
+    }
+}
+
+.fieldset.guest {
+    > .field {
+        .fieldStyle();
+    }
+}
+
+/*
+    Step Review
+-------------------------------------- */
+.checkout.submit.order {
+    .actions {
+        margin-top: 15px;
+        .clearfix();
+        .primary {
+            float: right;
+        }
+        .secondary {
+            float: left;
+            line-height: 32px;
+        }
+    }
+}
+
+.order.data.items {
+    tfoot tr:first-child td {
+        border-top: 3px solid @primary2;
+        padding-top: 15px;
+    }
+    tr.total td {
+        padding-top: 5px;
+        padding-bottom: 5px;
+        text-align: right;
+    }
+    tr.total:last-child td {
+        padding-bottom: 20px;
+    }
+    tr.grand.total td {
+        vertical-align: middle;
+    }
+    tr.grand.total .amount {
+        font-size: 24px;
+        color: @secondary1;
+    }
+}
+
+.order.review.data {
+    th.col.price,
+    th.col.subtotal {
+        text-align: right;
+        padding-right: 10px;
+    }
+    th.col.item {
+        text-align: left;
+        padding-left: 20px;
+    }
+}
+
+/*
+    Magento_Checkout
+    Multishipping
+-------------------------------------- */
+.multicheckout {
+    &.progress {
+        .resetList();
+        float: left;
+        width: 200px;
+        li {
+            font-size: 16px;
+            font-weight: 400;
+            margin: 0 0 10px 0;
+            &.active {
+                font-weight: bold;
+            }
+        }
+        + .form.address.edit {
+            float: right;
+            width: 725px;
+        }
+    }
+    &.form.address,
+    &.form.billing,
+    &.form.shipping,
+    &.form.overview,
+    &.success,
+    &.change.billing {
+        float: right;
+        width: 725px;
+    }
+    .title {
+        .clearfix();
+        margin: 0 0 30px;
+        > strong {
+            font-size: 20px;
+            font-weight: 400;
+            margin: 4px 0 0;
+        }
+    }
+    .subtitle {
+        display: block;
+        .clearfix();
+        margin: 0 0 20px;
+        > span {
+            font-size: 18px;
+            font-weight: normal;
+            margin: 4px 0 0;
+        }
+    }
+    .title,
+    .subtitle {
+        .action {
+            font-weight: 400;
+            font-size: 14px;
+            margin-left: 20px;
+            text-decoration: underline;
+            display: inline-block;
+            text-transform: lowercase;
+            &:hover {
+                text-decoration: none;
+            }
+        }
+    }
+    .content {
+        .clearfix();
+        > .block {
+            margin-bottom: 20px;
+            &:last-child {
+                margin-bottom: 0;
+            }
+        }
+    }
+    address {
+        font-style: normal;
+    }
+// Shipping metods
+    > .block.shipping .box,
+    > .block.billing .box {
+        &:extend(.profileBlockWithBg all);
+        margin-bottom: 20px;
+        &:last-child {
+            margin-bottom: 0;
+        }
+    }
+    > .block.shipping,
+    &.overview > .block.billing {
+        .box {
+            &.address {
+                float: left;
+                width: 49%;
+            }
+            &.method {
+                float: right;
+                width: 49%;
+            }
+            &.items {
+                clear: both;
+            }
+        }
+    }
+// Overview
+    &.overview {
+        > .block.billing {
+            .clearfix();
+            .box.method {
+                p {
+                    margin: 0 0 10px;
+                }
+                th,
+                td {
+                    font-size: 14px;
+                    padding: 0;
+                }
+            }
+        }
+        > .block.shipping {
+            .content {
+                margin-bottom: 20px;
+                &:last-child {
+                    margin-bottom: 0;
+                }
+            }
+        }
+        .checkout.agreements {
+            .resetList();
+            margin: 10px 0;
+            .item {
+                margin: 0 0 10px;
+                &:last-child {
+                    margin: 0;
+                }
+            }
+            .agreement {
+                background-color: @primary1;
+                border: 1px solid @primary2;
+                font-size: 11px;
+                overflow: auto;
+                margin: 0 0 10px;
+                padding: 15px;
+            }
+        }
+        > .checkout.review {
+            .grand.total {
+                margin: 15px 0;
+                text-align: right;
+                .label {
+                    font-size: 18px;
+                    font-weight: 400;
+                }
+                .price {
+                    color: @secondary1;
+                    font-size: 24px;
+                    font-weight: 700;
+                }
+            }
+        }
+    }
+
+// Oher goods (can't be shipped: virtual, downloadable)
+    .block.other .content {
+        &:extend(.profileBlockWithBg all);
+    }
+
+// Change billing
+    &.change.billing {
+        .box {
+            .box-sizing();
+            background: @primary1;
+            float: left;
+            margin-bottom: 20px;
+            margin-left: 2%;
+            padding: 30px;
+            width: 49%;
+            &.odd {
+                clear: left;
+                margin-left: 0;
+            }
+            .actions {
+                margin: 15px 0 0;
+            }
+        }
+        .actions {
+             clear: left;
+        }
+    }
+
+// Actions
+    .actions {
+        .clearfix();
+        margin: 20px 0;
+    }
+    &.change.billing .actions {
+        margin-top: 0;
+    }
+    .action {
+        &.update {
+            &:extend(.secondary.action all);
+        }
+        &.back {
+            float: left;
+            margin: 9px 0 0;
+            span:before {
+                content: "\00AB\00A0";
+            }
+        }
+        &.continue,
+        &.submit {
+            &:extend(.primary.action all);
+            &.disabled {
+                opacity: 0.3;
+                &:hover {
+                    background: @primaryActionBg;
+                }
+            }
+        }
+        &.add {
+            &:extend(.primary.action all);
+            float: right;
+            text-decoration: none;
+            text-transform: uppercase;
+        }
+    }
+    &.success .action.continue {
+        &:extend(.button.link all);
+        text-decoration: none;
+        text-transform: none;
+    }
+
+// Tables
+    .product.name {
+        margin-bottom: 0;
+    }
+    .items.data {
+        td.col.address {
+            padding-top: 10px;
+        }
+        td.col.delete,
+        td.col.product {
+            padding-top: 18px;
+        }
+        .col {
+            &.item {
+                padding-left: 0;
+                text-align: left;
+            }
+        }
+        th.col {
+            &.item,
+            &.qty {
+                padding-bottom: 5px;
+            }
+        }
+        .mark,
+        .amount {
+            text-align: right;
+        }
+        tfoot tr {
+            &.total {
+                &:first-child td {
+                    border-top: 3px solid #e5e5e5;
+                    padding-top: 15px;
+                }
+                &:last-child td {
+                    border-bottom: 0;
+                }
+                td {
+                    padding-top: 5px;
+                    padding-bottom: 5px;
+                    text-align: right;
+
+                }
+                &.grand {
+                    td {
+                        vertical-align: middle;
+                    }
+                    .amount {
+                        color: @secondary1;
+                        font-size: 24px;
+                    }
+                }
+            }
+        }
+        .applicable {
+            padding-top: 7px;
+        }
+    }
+    .block .items.data {
+        tr td {
+            &:first-child {
+                padding-left: 0;
+            }
+            &:last-child {
+                padding-right: 0;
+            }
+        }
+    }
+    .shipping .items.data tr:last-child td {
+        border-bottom: 1px solid @primary2;
+    }
+    .sp-methods,
+    .items.methods {
+        margin: 0;
+        dt {
+            margin: 0;
+        }
+        dd {
+            margin: 0;
+            padding: 0;
+            ul {
+                margin: 0 0 15px;
+                padding: 10px;
+            }
+        }
+    }
+    &.form.address {
+        .col.address select {
+            max-width: 450px;
+        }
+    }
+}
+
+.checkout-multishipping-address-newshipping,
+.checkout-multishipping-address-editshipping {
+    .form.address.edit {
+        float: right;
+        width: 725px;
+    }
+}
+
+.block.gift.message {
+    margin: 30px 0 0;
+    .title {
+        font-size: 16px;
+        font-weight: 400;
+        margin-bottom: 15px;
+    }
+}
+
+/*
+    Magento_Checkout
+    Gift Message
+-------------------------------------- */
+.gift.message {
+    > .legend {
+        font-size: 16px;
+        margin: 0 0 20px;
+    }
+    .block.items {
+        .box-sizing();
+        border: 1px solid @primary2;
+        height: 310px;
+        overflow: auto;
+        padding: 20px;
+
+    }
+    dt {
+        margin: 30px 0 0;
+        &:first-child {
+            margin: 0;
+        }
+        .title {
+            font-size: 16px;
+            margin: 0 0 15px;
+        }
+        > .price {
+            margin: 0 0 10px;
+        }
+    }
+    dd {
+        margin: 20px 0 0 20px;
+    }
+    .field.choice input {
+        margin-right: 5px;
+        margin-top: 2px;
+        vertical-align: top;
+    }
+    .design {
+        .clearfix();
+        margin: 10px 0 0;
+        img {
+            height: 75px;
+            width: 75px;
+            float: left;
+            margin-right: 15px;
+        }
+        > .price {
+            float: left;
+        }
+    }
+    .field.gift.wrapping {
+        .label {
+            display: block;
+            padding-bottom: 5px;
+        }
+        .control {
+            select {
+                width: 100%;
+            }
+        }
+    }
+    .activate.message {
+        display: inline-block;
+        margin: 10px 0 0;
+        + div {
+            .fieldset {
+                margin-top: 0;
+            }
+        }
+    }
+    .field.gift.wrapping .design > .price,
+    dt > .price {
+        > .price {
+            display: block;
+            > span {
+                display: inline-block;
+            }
+        }
+    }
+    .no-display {
+        display: none;
+    }
+    .options.order {
+        .field.gift.wrapping,
+        .field.text {
+            width: 100%;
+        }
+    }
+    .options.individual {
+        ol {
+            .resetList();
+        }
+        li {
+            .clearfix();
+            border-bottom: 1px solid @primary2;
+            margin: 0 0 15px;
+            padding: 0 0 15px;
+            overflow: hidden;
+        }
+        .number {
+            border-bottom: 1px solid @primary2;
+            color: @primary4;
+            margin: 0 0 15px;
+            padding: 0 0 5px;
+        }
+        .product {
+            float: left;
+            margin-right: 20px;
+            text-align: center;
+            > .product {
+                float: none;
+                margin: 0;
+            }
+            .img {
+                margin-bottom: 5px;
+            }
+        }
+        .options-items-container {
+            width: 100%;
+            .field {
+                .box-sizing();
+                width: 100%;
+            }
+        }
+        .field.text {
+            width: 100%;
+        }
+        .item.options {
+            overflow: hidden;
+        }
+    }
+    .extra-options-container {
+        margin: 10px 0 0;
+        .field.choice {
+            margin: 0 0 10px;
+        }
+    }
+    .multicheckout & {
+        margin: 20px 0;
+        .fieldset {
+            margin: 20px 0;
+        }
+        .block.message {
+            margin: 0;
+            .fieldset {
+                margin: 0;
+            }
+        }
+        .field {
+            display: inline-block;
+            padding-right: 20px;
+            vertical-align: top;
+            width: 50%;
+        }
+    }
+}
+.data.table .gift.wrapping {
+    font-size: 13px;
+    margin: 0;
+    dt {
+        font-weight: 600;
+        margin: 5px 0 0;
+    }
+    dd {
+        margin: 0 0 5px;
+    }
+}
+
+/*
+    Magento_Checkout
+    Shopping Cart
+-------------------------------------- */
+.cart.container {
+    .clearfix();
+    position: relative;
+    z-index: 1;
+}
+
+.cart.main.actions {
+    padding: 20px 0;
+    .action.continue {
+        position: absolute;
+        text-decoration: underline;
+        right: 0;
+        top: 3px;
+    }
+    .action.update,
+    .action.clear {
+        &:extend(.secondary.action all);
+    }
+}
+
+.items.data {
+    width: 100%;
+    thead tr:last-child th {
+        padding-bottom: 10px;
+    }
+    th.col.item > span {
+        display: none;
+    }
+    td.col.qty {
+        width: 40px;
+        padding-top: 20px;
+        text-align: center;
+        .review & {
+            padding-top: @baseFontSizeBigger;
+        }
+    }
+    th.col.qty {
+        text-transform: uppercase;
+    }
+    input.qty {
+        width: 50px;
+        text-align: center
+    }
+    td.col.price,
+    td.col.subtotal {
+        text-align: right;
+    }
+    .product.photo {
+        padding-right: 20px;
+        display: table-cell;
+        width: 1%;
+        vertical-align: top;
+    }
+    .product.details {
+        display: table-cell;
+        width: 99%;
+        vertical-align: top;
+    }
+    .item.actions {
+        text-align: right;
+        div.actions {
+            padding-bottom: 30px;
+        }
+    }
+    td {
+        border-left:0;
+        border-right:0;
+        padding: 26px 10px 10px;
+        vertical-align: top;
+        background: transparent;
+    }
+    td:first-child {
+        padding-left: 20px;
+    }
+    td:last-child {
+        padding-right: 20px;
+    }
+    tbody:nth-child(even) tr {
+        background: @primary1;
+    }
+    th {
+        border-left:0;
+        border-right:0;
+        text-align: center;
+        font-weight: @baseFontWeight;
+        font-size: @baseFontSize;
+        vertical-align: top;
+    }
+    tr:first-child th {
+        font-weight: @baseFontWeight;
+        font-size: @baseFontSizeBigger;
+    }
+    .item.actions td {
+        padding: 0 20px 10px;
+        line-height: 16px;
+        .action {
+            margin-left: 20px;
+        }
+        .action.towishlist {
+            font-size: @baseFontSize;
+        }
+        .action.delete {
+            vertical-align: top;
+            margin-top: 0;
+        }
+        &:before {
+            content: '';
+            border-top: 1px solid @primary2;
+            display: block;
+            height: 0;
+            overflow: hidden;
+            margin: 0 0 10px;
+        }
+    }
+    .item.options {
+        dt {
+            font-weight: @baseFontWeight;
+            display: inline;
+            margin-right: 10px;
+            float: left;
+            clear: left;
+            &:after {
+                content: ': ';
+            }
+        }
+        dd {
+            font-weight: @baseFontWeightLighter;
+            margin: 0 0 10px 10px;
+            padding: 0;
+        }
+
+    }
+}
+
+.cart.table.wrapper {
+    float: left;
+    width: 665px;
+}
+
+.cart.summary {
+    position: relative;
+    z-index: 1;
+    margin-top: 33px;
+    background: @primary1;
+    display: inline-block;
+    width: 290px;
+    padding: 20px;
+    margin-left: 10px;
+    .summary.title {
+        font-size: 20px;
+        font-weight: 200;
+        display: block;
+        border-bottom: 3px solid @primary2;
+        padding-bottom: 15px;
+    }
+    .block {
+        margin-bottom: 0;
+        border-bottom: 1px solid @primary2;
+        > .title {
+            cursor: pointer;
+            padding: 10px 5px;
+            margin: 0;
+            line-height: 16px;
+            strong {
+                font-size: @baseFontSizeMiddle;
+                font-weight: 600;
+                &:after {
+                    content: @icon-expand;
+                    font-family: "icons";
+                    float: right;
+                    font-weight: @baseFontWeight;
+                    font-size: @baseFontSizeBigger;
+                    line-height: 16px;
+                }
+            }
+            &.active strong:after {
+                content: @icon-collapse;
+            }
+
+        }
+        > .content {
+            display: none;
+            padding: 15px 15px 20px;
+        }
+        &.active {
+            > .content {
+                display: block;
+            }
+        }
+        .fieldset {
+            padding: 0;
+            margin: 0;
+            border: 0;
+            .field {
+                margin: 0 0 10px;
+            }
+        }
+        font-size: @baseFontSizeMiddle;
+        input[type="text"] {
+            padding: 0 5px;
+            font-size: @baseFontSizeMiddle;
+            height: 30px;
+        }
+        .field:not(.choice) {
+            .label {
+                padding: 0 0 5px;
+                display: block;
+            }
+        }
+        select {
+            padding: 5px 5px 4px;
+            font-size: @baseFontSizeMiddle;
+        }
+        .action {
+            &:extend(.primary.action all)
+        ;
+            padding: 6px 11px 5px;
+            span {
+                font-size: @baseFontSizeMiddle;
+                line-height: 12px;
+            }
+            &.check span {
+                .actionLink();
+            }
+        }
+    }
+}
+
+.cart.container {
+    & > .summary.sticky {
+        position: fixed;
+        display: inline-block !important;
+    }
+    & > .summary.bottom {
+        position: absolute;
+        vertical-align: bottom;
+        bottom: 0;
+    }
+}
+
+.cart &>.summary.fixed,
+.cart.container &>.summary &>.container.fixed {
+    position: fixed;
+    top: 0;
+}
+
+.cart.table.wrapper.detailed + .cart.summary {
+    margin-top: 54px;
+}
+
+.block.shipping {
+    .content {
+        .clearfix();
+    }
+    .fieldset.estimate {
+        .actions {
+            display: table-cell;
+            width: 1%;
+            white-space: nowrap;
+            vertical-align: bottom;
+        }
+    }
+    .fieldset.rates {
+        padding-top: 20px;
+        .actions {
+            text-align: right;
+        }
+    }
+    .field.postcode {
+        display: table-cell;
+        width: 99%;
+        vertical-align: bottom;
+        div.mage-error {
+            position: absolute;
+        }
+        padding-right: 10px;
+    }
+}
+
+.block.discount {
+    .content {
+        .clearfix();
+    }
+    .fieldset.coupon {
+        position: relative;
+        &.applied {
+            padding-bottom: 20px;
+        }
+        .field {
+            display: table-cell;
+            width: 99%;
+            vertical-align: bottom;
+            .label {
+                float: left;
+                margin-right: -100px;
+            }
+            input {
+                clear: left;
+            }
+            padding-right: 10px;
+            div.mage-error {
+                position: absolute;
+            }
+        }
+        .actions {
+            vertical-align: bottom;
+            display: table-cell;
+            width: 1%;
+            white-space: nowrap;
+        }
+        .action.cancel {
+            .resetAction();
+            .actionLink();
+            position: absolute;
+            left: 0;
+            bottom: 0;
+            margin-bottom: -15px;
+            span {
+                text-transform: none;
+            }
+        }
+    }
+}
+
+.sp-methods,
+.items.methods {
+    dt,
+    .item.title {
+        font-weight: bold;
+    }
+    dd,
+    .item.options {
+        margin: 0 0 15px;
+        padding: 10px;
+    }
+}
+.field.choice.payment {
+    > .label {
+        font-weight: bold;
+    }
+}
+
+.data-table {
+    width: 100%;
+    border: 0;
+    td {
+        border-right: 1px solid @primary2;
+        padding: 5px;
+        vertical-align: top;
+    }
+    td:last-child {
+        border: 0;
+    }
+}
+
+.cart.totals {
+    .table.totals {
+        width: 100%;
+    }
+    padding: 20px 0;
+    td,
+    th {
+        text-align: right;
+        padding: 4px 0 4px 5px;
+    }
+    td:not(:first-child) {
+        strong {
+            font-size: 24px;
+            color: @secondary1;
+        }
+    }
+    td:first-child {
+        text-align: left;
+        padding-left: 0;
+        strong {
+            font-size: @baseFontSize;
+        }
+    }
+}
+
+.checkout.methods.items {
+    background: #fff;
+    padding: 20px;
+    .item {
+        margin: 15px auto;
+        text-align: center;
+    }
+    .action.multicheckout {
+        text-decoration: underline;
+    }
+}
+
+/*
+    Magento_Checkout
+    Mini cart
+-------------------------------------- */
+.minicart.wrapper {
+    float: right;
+    margin-right: 40px;
+    z-index: 11;
+    .block.minicart {
+        .clearfix();
+        left: -100%;
+        margin-top: 15px;
+        position: absolute;
+        z-index: 2;
+        background: @primary1;
+        border: 2px solid darken(@primary1, 13%);
+        border-radius: 3px;
+        text-align: center;
+        padding: 58px 345px 25px 15px;
+        &:before {
+            content: '';
+            border-left: 10px solid transparent;
+            border-right: 10px solid transparent;
+            border-bottom: 10px solid @primary1;
+            height: 0;
+            width: 0;
+            overflow: hidden;
+            display: block;
+            position: absolute;
+            top: 0;
+            margin-top: -10px;
+            margin-right: 25px;
+            right: 0;
+            zoom: 1;
+            z-index: 2;
+        }
+        > .content {
+            margin-top: -33px;
+            .subtotal {
+                .clearfix();
+                .mark {
+                    display: inline-block;
+                    font-weight: 600;
+                    font-size: 18px;
+                    float: left;
+                    line-height: 24px;
+                }
+                > .amount {
+                    text-align: right;
+                    float: right;
+                    display: inline-block;
+                    font-weight: @baseFontWeightBolder;
+                    font-size: 24px;
+                    line-height: 24px;
+                    color: @secondary1;
+                }
+                .amount.incl.tax {
+                    display: block;
+                    font-size: @baseFontSize;
+                    &:after {
+                        content: ')';
+                    }
+                    .price:after {
+                        content: ' (';
+                    }
+                }
+            }
+            .disclaimer {
+                font-size: @baseFontSizeMiddle;
+            }
+            .actions {
+                .secondary {
+                    margin-top: 15px;
+                    margin-bottom: -15px;
+                    text-align: right;
+                    a {
+                        color: @secondary1;
+                    }
+                }
+            }
+            .subtitle {
+                display: block;
+                text-align: left;
+                padding: 0 50px;
+                margin: 0 0 15px 0;
+                font-weight: @baseFontWeight;
+                &.empty {
+                    margin: 10px -320px 0 0;
+                    padding: 0;
+                    float: right;
+                    width: 310px;
+                    clear: right;
+                }
+            }
+        }
+        .minicart.empty.text,
+        > .title,
+        > .content .subtotal,
+        > .content .disclaimer,
+        > .content > .actions {
+            margin: 0 -330px 15px 0;
+            text-align: left;
+            float: right;
+            width: 310px;
+            clear: right;
+        }
+        > .title {
+            .text {
+                display: none;
+            }
+            .qty:before {
+                content: attr(title) ": ";
+            }
+        }
+        .minicart.empty.text {
+            margin-top: 15px;
+        }
+        > .title strong {
+            font-weight: 400;
+        }
+    }
+    &.active {
+        &:before {
+            content: '';
+            position: fixed;
+            z-index: 1;
+            top: 0;
+            left: 0;
+            right: 0;
+            bottom: 0;
+            background: #000;
+            opacity: 0.01;
+        }
+        position: relative;
+        z-index: 11;
+        .block.minicart {
+            left: auto;
+            right: -20px;
+        }
+    }
+    .action.previous,
+    .action.next {
+        .resetAction();
+        width: 25px;
+        overflow: hidden;
+        span {
+            .iconAfter(@content: @icon-arrow-right-thick, @size: 42px, @font: "icons");
+            .iconHideText(42px);
+            color: @primary3;
+            margin-left: -10px;
+            overflow: hidden;
+        }
+        &[disabled] {
+            opacity: 0.3;
+        }
+        position: absolute;
+        right: 10px;
+        top: 50%;
+        margin-top: -22px;
+    }
+    .action.previous {
+        right: auto;
+        left: 0;
+        span:after {
+            content: @icon-arrow-left-thick;
+        }
+    }
+    .action.close {
+        position: absolute;
+        top: 10px;
+        right: 15px;
+    }
+    p {
+        clear: both;
+    }
+}
+
+.block.minicart.empty > .title,
+.eq-ie8 .minicart.wrapper.active:before {
+    display: none;
+}
+
+/*
+    Product options
+-------------------------------------- */
+.minicart {
+    @textColor: @primary6;
+    @optionsBg: rgba(0, 0, 0, .8);
+    @optionsColor: #fff;
+    .product.options.wrapper {
+        position: relative;
+        display: inline;
+        z-index: 1;
+        margin: 7px 0;
+        .more {
+            color: @textColor;
+            font-size: @baseFontSizeMiddle;
+            line-height: 1;
+            padding: 0;
+            border-bottom: 1px dotted @textColor;
+            cursor: help;
+        }
+        &:hover {
+            z-index: 99;
+            .product.options.details {
+                display: block;
+            }
+            &:before {
+                content: '';
+                border-left: 10px solid @optionsBg;
+                border-top: 10px solid transparent;
+                border-bottom: 10px solid transparent;
+                height: 0;
+                width: 0;
+                overflow: hidden;
+                display: block;
+                position: absolute;
+                top: 0;
+                margin-top: 0;
+                left: -10px;
+                zoom: 1;
+                z-index: 2;
+            }
+        }
+
+    }
+    .product.options.details {
+        display: none;
+        position: absolute;
+        background: @optionsBg;
+        border-radius: 6px;
+        padding: 10px;
+        right: 100%;
+        top: 50%;
+        margin-top: -20px;
+        margin-right: 10px;
+        float: left;
+        max-width: 200px;
+        min-width: 100px;
+        .title {
+            font-weight: 600;
+        }
+        color: @optionsColor;
+    }
+    .product.options.list {
+        padding-left: 10px;
+        dt {
+            font-size: @baseFontSizeMiddle;
+            display: inline;
+            margin: 0;
+            padding: 0;
+            font-weight: 600;
+            &:after {
+                content: ': ';
+            }
+            &:before {
+                content: '';
+                display: block;
+            }
+        }
+        dd {
+            font-size: @baseFontSizeMiddle;
+            display: inline-block;
+            padding: 0;
+            margin: 0;
+        }
+    }
+    .item:not(.shown) + .shown,
+    :first-child {
+        .product.options.details {
+            right: auto;
+            left: 100%;
+            margin-left: 10px;
+        }
+        .product.options.wrapper:before {
+            border-right: 10px solid @optionsBg;
+            border-left: 0;
+            left: auto;
+            right: -10px;
+        }
+    }
+}
+
+.minicart.wrapper .block.minicart > .content > .actions .primary {
+    .clearfix();
+    text-align: center;
+    .checkout.paypal {
+        display: inline;
+        input[type="image"] {
+            margin-top: 5px;
+            float: left;
+        }
+        &:after {
+            float: none;
+        }
+    }
+    .checkout.paypal + .action.checkout {
+        float: right;
+    }
+}
+
+.block.minicart {
+    .products.minilist {
+        @itemWidth : 187px;
+        float: left;
+        padding: 0;
+        border-right: 1px solid darken(@primary1, 13%);
+        max-width: @itemWidth*3;
+        padding: 0 30px;
+        position: relative;
+        z-index: 1;
+        .minilist.items {
+            position: relative;
+            white-space: nowrap;
+        }
+        &.animation {
+            .items-wrapper {
+                overflow: hidden;
+            }
+            position: relative;
+            .item {
+                visibility: visible;
+            }
+        }
+        .item {
+            padding: 0 20px;
+            .box-sizing();
+            vertical-align: top;
+            text-align: left;
+            &:before {
+                content: '';
+                width: 0;
+                display: block;
+                border-left: 1px solid darken(@primary1, 13%);
+                height: 100%;
+                margin-left: -20px;
+                position: absolute;
+            }
+            &.item:not(.shown) + .shown:before,
+            &:first-child:before {
+                display: none;
+            }
+            white-space: normal;
+            display: none;
+            display: inline-block;
+            width: @itemWidth;
+            visibility: hidden;
+            .box-sizing();
+            margin-left: 0;
+
+            .wrapper.active &.shown {
+                visibility: visible;
+            }
+            &.hidden {
+                margin-left: -@itemWidth !important;
+            }
+
+            .product.photo {
+                display: block;
+                margin-bottom: 10px;
+                .photo.container {
+                    overflow: visible !important;
+                    margin: 0 auto;
+                }
+                .photo.image {
+                    border: 1px solid darken(@primary1, 11%);
+                    display: block;
+                    margin: 0 auto;
+                }
+            }
+            .pricing {
+                margin-top: 10px;
+                &:not(.complex) {
+                    .label.display {
+                        display: none;
+                    }
+                }
+                .label:after {
+                    content: ': ';
+                }
+            }
+            .actions {
+                float: right;
+            }
+            .action.edit {
+                font-size: @baseFontSizeMiddle;
+            }
+            .product.options.wrapper + .action.edit {
+                margin-right:8px;
+                &:before {
+                    content: '|';
+                    display: inline-block;
+                    text-decoration: none;
+                    padding: 0 8px;
+                    margin-right:-16px;
+                }
+                &:hover:before {
+                    color: @primary6;
+                }
+            }
+            .action.delete {
+                position: absolute;
+                margin-left: -5px;
+                margin-top: -1.35em;
+                bottom: 0;
+            }
+        }
+    }
+}
+
+.eq-ie8 .block.minicart {
+    .products.minilist {
+        .action.delete,
+        .action.edit {
+            visibility: hidden;
+        }
+        .shown {
+            .action.delete,
+            .action.edit {
+                visibility: visible;
+            }
+        }
+        .item {
+            &:before {
+                border-left: 0;
+            }
+        }
+    }
+}
+
+.action.delete {
+    display: inline-block;
+    span {
+        color: @primary3;
+        .iconAfter(@content: @icon-trash, @font: 'icons');
+        .iconHideText();
+    }
+    &:focus,
+    &:active,
+    &:hover {
+        outline: none;
+        span {
+            color: @primary4;
+        }
+    }
+}
+
+.action.checkout {
+    &:extend(.primary.action all);
+}
+
+.action.checkout.shadow {
+    span {
+        text-shadow: 0px 1px 2px #000;
+    }
+}
+
+.action.close {
+    .resetAction;
+    span {
+        .iconAfter(@content: @icon-close-thick, @size: 11px, @font: 'icons');
+        .iconHideText(11px);
+    }
+}
+
+.action.showcart {
+    .iconAfter(@content: @icon-cart, @size: 32px, @font: 'icons');
+    .iconHideText(32px);
+    margin-top: 20px;
+    margin-left: 20px;
+    color: @primary5;
+    position: relative;
+    &:hover,
+    &:active,
+    &:focus,
+    &.active {
+        color: @primary4;
+        outline: none;
+    }
+
+    .qty {
+        position: absolute;
+        left: 70%;
+        top: 0;
+        margin-top: -30%;
+        text-indent: 0;
+        background: @secondary1;
+        display: inline-block;
+        border: 1px solid @secondary1;
+        border-radius: 50px;
+        font-size: @baseFontSize;
+        font-weight: 600;
+        color: #fff;
+        @height: 1.7em;
+        line-height: @height;
+        vertical-align: middle;
+        .box-sizing();
+        min-width: 1.1 * @height;
+        min-height: @height;
+        text-align: center;
+        padding: 0 4px;
+    }
+    .qty.empty {
+        display: none;
+    }
+}
+
+/*
+    Paypal button
+-------------------------------------- */
+.checkout.paypal {
+    display: none;
+    input[type="image"] {
+        display: inline-block;
+        vertical-align: top;
+    }
+    display: inline-block;
+    vertical-align: top;
+    &.before:before {
+        content: "- " attr(data-label) " -";
+        text-transform: uppercase;
+        display: inline-block;
+        line-height: 32px;
+        font-size: @baseFontSize;
+        vertical-align: middle;
+        margin: 0 5px;
+    }
+    &.after:after {
+        content: "- " attr(data-label) " -";
+        text-transform: uppercase;
+        display: inline-block;
+        line-height: 32px;
+        font-size: 14px;
+        vertical-align: middle;
+        margin: 0 5px;
+    }
+}
+
+.box.tocart .checkout.paypal {
+    &.after:after {
+        display: none;
+    }
+    &.after:before {
+        content: "- " attr(data-label) " -";
+        text-transform: uppercase;
+        display: inline-block;
+        line-height: 32px;
+        font-size: @baseFontSize;
+        vertical-align: middle;
+        margin: 0 5px;
+    }
+}
+
+.checkout.methods .checkout.paypal {
+    &.after:after {
+        display: block;
+        text-align: center;
+    }
+}
+
+/*
+    Magento_Sales
+-------------------------------------- */
+.block.reorder {
+    padding-right: 30px;
+    .item {
+        padding-left: 20px;
+        input {
+            float: left;
+            margin-top: 2px;
+            margin-left: -20px;
+        }
+    }
+    .subtitle {
+        display: block;
+        margin: 0 0 15px;
+        font-weight: 600;
+    }
+    .actions {
+        margin: 15px 0 0;
+        .primary,
+        .secondary {
+            margin-right: 5px;
+            display: inline-block;
+            vertical-align: middle;
+        }
+    }
+}
+
+/*
+    Magento_Newsletter
+-------------------------------------- */
+.block.newsletter {
+    @fit: 45px;
+    text-align: left;
+    .title {
+        display: none;
+    }
+    .field {
+        .clearfix();
+    }
+    .label {
+        display: block;
+        font-size: 16px;
+        margin-bottom: 10px;
+        line-height: 1.2;
+    }
+    .control {
+        float: left;
+        width: 100%;
+        .box-sizing();
+        padding-right: @fit;
+    }
+    .actions {
+        padding-left: 10px;
+        float: right;
+        margin-left: -@fit;
+    }
+    input[type="text"] {
+        width: 100%;
+    }
+    .footer & {
+        width: 310px;
+        float: right;
+    }
+}
+
+.action.subscribe {
+    .resetAction();
+    background: @secondary1;
+    border-radius: 3px;
+    padding: 7px;
+    border: 1px solid @secondary1;
+    vertical-align: top;
+    span {
+        .iconAfter(@content: @icon-envelope, @font: 'icons');
+        .iconHideText();
+        color: #fff;
+    }
+}
+
+.form.newsletter.manage {
+    .fieldset {
+        margin: 0 0 20px;
+        padding: 0;
+        border: 0;
+        .legend {
+            float: left;
+            margin: 0 0 20px;
+            font-weight: 600;
+        }
+        .legend + br {
+            display: block;
+            clear: both;
+        }
+    }
+    .action.save {
+        &:extend(.primary.action all);
+    }
+    .actions .primary {
+        margin-bottom: 15px;
+    }
+}
+
+/*
+    Widgets
+-------------------------------------- */
+.widget ul {
+    .resetList();
+}
+
+/*
+    Magento_Catalog
+    Compare
+-------------------------------------- */
+.block.compare {
+    > .title .qty {
+        font-size: 16px;
+        margin-right: -5px;
+        &:before {
+            content: '(';
+        }
+        &:after {
+            content: ')';
+        }
+    }
+    .item {
+        padding-right: 20px;
+        overflow: hidden;
+    }
+    .product.name {
+        float: left;
+    }
+    .action.delete {
+        margin-right: -20px;
+        float: right;
+    }
+    .action.compare {
+        &:extend(.secondary.action all);
+        float: right;
+    }
+    .action.clear {
+        float: left;
+        margin-top: 10px;
+    }
+    .actions {
+        .clearfix();
+        margin-top: 15px;
+    }
+}
+
+.catalog-product-compare-index {
+    .action.print {
+        float: right;
+        margin-top: -50px;
+    }
+}
+
+.comparison.wrapper {
+    clear: both;
+    position: relative;
+    z-index: 1;
+    &:after {
+        content: '';
+        position: absolute;
+        z-index: 2;
+        right: 0;
+        top: 0;
+        height: 100%;
+        width: 15px;
+    }
+    margin-bottom: 50px;
+}
+
+.comparison.container {
+    overflow-y: hidden;
+    overflow-x: auto;
+}
+
+.data.comparison {
+    table-layout: fixed;
+
+    .cell.label {
+        width: 130px;
+        padding-left: 10px;
+        font-weight: 600;
+        text-align: left;
+        border-right: 1px solid @primary2;
+        .attribute.label {
+            display: block;
+            width: 100%;
+            word-break: break-all;
+        }
+        &.product {
+            border-bottom: 1px solid @primary2;
+        }
+    }
+    .cell {
+        padding: 15px;
+        vertical-align: top;
+        p:first-child {
+            margin-top: 0;
+        }
+        .attibute.value {
+            width: 100%;
+            overflow: hidden;
+        }
+    }
+    .cell.product {
+        width: 140px;
+        &.info {
+            border-bottom: 1px solid @primary2;
+        }
+    }
+    .cell.attribute {
+        font-size: @baseFontSizeMiddle;
+    }
+    td:last-child {
+        border-right: 1px solid @primary2;
+    }
+    tr:nth-child(odd) .cell.attribute {
+        background-color: @primary1;
+    }
+    .product.photo {
+        .img.photo.container {
+            display: inline-block !important;
+        }
+        text-align: center;
+        display: block;
+        margin: 0 auto 15px;
+    }
+    .actions,
+    .price-box,
+    .product.rating,
+    .product.name {
+        margin: 15px 0;
+    }
+    .addto.links {
+        margin-top: 15px;
+        padding-top: 15px;
+        border-top: 1px solid @primary2;
+        font-size: @baseFontSizeMiddle;
+    }
+    .cell.remove {
+        padding-top: 0;
+        padding-bottom: 0;
+        text-align: right;
+        .action.delete {
+            &:extend(.secondary.action all);
+            float: right;
+            padding: 4px;
+            span {
+                overflow: hidden;
+                line-height: 0;
+                &:after {
+                    content: @icon-close-thick;
+                    font-size: @baseFontSizeMiddle;
+                    color: #fff;
+                }
+            }
+            margin-right: -15px;
+        }
+    }
+}
+
+.comparison.headings {
+    position: absolute;
+    z-index: 2;
+    top: 0;
+    left: 0;
+    width: auto;
+    background-color: @pageMainBg;
+    th {
+        background-color: @pageMainBg;
+    }
+}
+
+/*
+    Magento_Catalog
+    Compare
+-------------------------------------- */
+.item.link.compare {
+    .qty {
+        &:before {
+            content: '(';
+        }
+        &:after {
+            content: ')';
+        }
+    }
+}
+
+/*
+    Magento_Catalog
+    Product lists
+-------------------------------------- */
+.productItems() {
+    @spacing: 0 0 10px;
+    .item.product {
+        .column(4);
+        .box-sizing();
+        .col3-layout & {
+            width: 50%;
+        }
+        display: inline-block;
+        vertical-align: top;
+        margin: 0;
+        padding: 20px;
+        float: none;
+        .product.photo {
+            float: left;
+            margin-right: 20px;
+        }
+        .product.details {
+            overflow: hidden;
+        }
+        .product.name,
+        .price-box {
+            margin: @spacing;
+        }
+        .addto.links {
+            .action:after {
+                content: '';
+                display: block;
+            }
+        }
+        .actions {
+            visibility: hidden;
+            .primary {
+                margin: 0 0 10px;
+            }
+        }
+        &:hover {
+            .actions {
+                visibility: visible;
+            }
+        }
+    }
+}
+
+.blocklist() {
+    clear: both;
+    margin: 30px 0;
+    padding-top: 25px;
+    border-top: 1px solid @primary2;
+    .products.list {
+        clear: both;
+        margin: 0 -20px;
+        .productItems();
+    }
+}
+
+.block.related {
+    .action.select {
+        .resetAction();
+        .actionLink();
+    }
+    .field.choice.related {
+        margin: 0 0 10px;
+    }
+}
+
+.block.widget.viewed,
+.block.crosssell,
+.block.upsell,
+.block.related,
+.block.widget.new,
+.block.widget.compared {
+    .blocklist();
+}
+
+.block.crosssell {
+    .products.list.items.crosssell {
+        margin: 0 -13px;
+        .item.product {
+            .column(2);
+            padding: 13px;
+            .product.photo {
+                float: none;
+                display: block;
+                margin: 0 0 10px;
+            }
+            margin-bottom: 90px;
+            .actions {
+                position: absolute;
+            }
+        }
+    }
+}
+
+.block.widget.viewed {
+    .products.list.items.widget-viewed-grid {
+        .item.product {
+            .column(2);
+            float: none;
+            display: inline-block;
+            .col2-left-layout &,
+            .col2-right-layout & {
+                width: 19.99%;
+            }
+            .col3-layout & {
+                width: 25%;
+            }
+            .product.photo {
+                float: none;
+                display: block;
+                margin: 0 0 10px;
+            }
+        }
+    }
+    .products.list.items.widget-viewed-list {
+        .item.product {
+            .column(12);
+            float: none;
+            display: inline-block;
+        }
+    }
+}
+
+.block.widget.compared {
+    .products.list.items.widget-compared-grid {
+        .item.product {
+            .column(2);
+            float: none;
+            display: inline-block;
+            .col2-left-layout &,
+            .col2-right-layout & {
+                width: 19.99%;
+            }
+            .col3-layout & {
+                width: 25%;
+            }
+            .product.photo {
+                float: none;
+                display: block;
+                margin: 0 0 10px;
+            }
+        }
+    }
+    .products.list.items.widget-compared-list {
+        .item.product {
+            .column(12);
+            float: none;
+            display: inline-block;
+        }
+    }
+}
+
+.block.widget.new {
+    .products.list.items.widget-new-grid {
+        .item.product {
+            width: 20%;
+            float: none;
+            display: inline-block;
+            .col2-left-layout &,
+            .col2-right-layout & {
+                .column(3);
+                float: none;
+                display: inline-block;
+            }
+            .col3-layout & {
+                .column(4);
+                float: none;
+                display: inline-block;
+            }
+            .product.photo {
+                float: none;
+                display: block;
+                margin: 0 0 10px;
+            }
+        }
+    }
+    .products.list.items.widget-new-list {
+        .item.product {
+            .column(12);
+            float: none;
+            display: inline-block;
+        }
+    }
+}
+
+.product.info.detailed + .block.upsell,
+.product.info.detailed + .block.related {
+    margin-top: 70px;
+    clear: none;
+    float: right;
+    width: 140px;
+    border-top: 0;
+    padding-top: 0;
+    padding-left: 25px;
+    border-left: 1px solid @primary2;
+    .products.list {
+        margin: 0;
+        .item.product {
+            display: block;
+            width: auto;
+            padding: 13px 0;
+            .product.photo {
+                float: none;
+                display: block;
+                margin: 0 0 10px;
+            }
+        }
+    }
+}
+
+.block.widget {
+    @optionsHeigth: 23px;
+    .pager {
+        float: right;
+        .amount {
+            float: left;
+            line-height: @optionsHeigth + 2px;
+            margin: 2px 15px 0 0;
+            display: none;
+        }
+        .text {
+            display: none;
+        }
+    }
+    .pages {
+        margin-left: 15px;
+        float: left;
+        .label {
+            line-height: @optionsHeigth + 2px;
+            display: inline-block;
+        }
+        strong.label {
+            font-weight: 400;
+            float: left;
+            line-height: @optionsHeigth + 2px;
+            margin-top: 2px;
+            margin-right: 5px;
+            display: none;
+        }
+        input {
+            width: 30px;
+            margin: 0 5px;
+            text-align: center;
+            padding: 0 5px;
+            height: @optionsHeigth + 2px;
+            line-height: @optionsHeigth + 2px;
+        }
+        > ol {
+            .resetList;
+            display: inline-block;
+            vertical-align: top;
+            margin-top: 2px;
+            line-height: @optionsHeigth + 2px;
+            vertical-align: middle;
+            li {
+                display: inline;
+            }
+            strong,
+            a {
+                padding: 0 3px;
+            }
+            strong {
+                font-weight: 400;
+                color: @secondary1;
+            }
+        }
+    }
+    .action.next,
+    .action.previous {
+        overflow: hidden;
+        display: inline-block;
+        vertical-align: middle;
+        span {
+            color: @primary3;
+            .iconAfter(@content: '', @font: "icons");
+            .iconHideText();
+        }
+    }
+    .action.next span:after {
+        content: @icon-arrow-right-thin;
+    }
+    .action.previous span:after {
+        content: @icon-arrow-left-thin;
+    }
+}
+
+/*
+    Magento_Catalog
+    Layered Navigation
+-------------------------------------- */
+.block.filter {
+    .subtitle {
+        display: none;
+    }
+    > .content {
+        padding: 0;
+    }
+    .filtered {
+        .item {
+            border-top: 1px solid @primary3;
+            padding: 2px 0 5px;
+            margin: 0 0 5px;
+            position: relative;
+            z-index: 1;
+        }
+        .label {
+            font-weight: 600;
+            text-transform: uppercase;
+            display: block;
+        }
+    }
+    .action.remove {
+        overflow: hidden;
+        display: inline-block;
+        padding: 4px;
+        position: absolute;
+        top: -1px;
+        right: 0;
+        background: @primary3;
+        span {
+            color: #fff;
+            .iconAfter(@content: @icon-close-thick, @size: 13px, @font: "icons");
+            .iconHideText(13px);
+        }
+    }
+    .actions {
+        margin-bottom: 30px;
+    }
+    .action.reset {
+        font-size: 12px;
+        text-transform: lowercase;
+        text-decoration: underline;
+    }
+    dt {
+        text-transform: uppercase;
+    }
+    dd {
+        margin: 0;
+        padding: 15px 0 25px;
+    }
+    .count {
+        font-size: 12px;
+        &:before {
+            content: ' (';
+        }
+        &:after {
+            content: ')';
+        }
+    }
+}
+
+/*
+    Magento_Catalog
+    Product Listing
+-------------------------------------- */
+.toolbar {
+    @optionsHeigth: 23px;
+    clear: both;
+    margin: 17px 0;
+    &:first-child {
+        margin-top: 0;
+    }
+    &.alternative {
+        direction: rtl;
+        .pager {
+            direction: ltr;
+        }
+        .settings {
+            display: inline;
+            direction: ltr;
+        }
+        .pages,
+        .amount,
+        .limiter {
+            border-left: 1px solid @primary2;
+            padding: 2px 0 2px 15px;
+        }
+    }
+    .amount {
+        display: none;
+    }
+    .clearfix();
+    .settings {
+        display: inline;
+    }
+    .modes {
+        margin-left: 30px;
+        display: inline-block;
+        margin-top: 3px;
+        margin-right: 14px;
+        vertical-align: top;
+        .label {
+            display: none;
+        }
+    }
+    .limiter,
+    .sorter {
+        .clearfix();
+        padding: 2px 0;
+        float: left;
+        display: inline-block;
+        select {
+            margin-top: 1px;
+            margin-right: 5px;
+        }
+    }
+    .options {
+        float: left;
+        border: 1px solid @primary2;
+        white-space: nowrap;
+        height: @optionsHeigth;
+        line-height: @optionsHeigth;
+        overflow: visible;
+        display: block;
+        padding: 0 7px;
+        .current {
+            font-weight: 400;
+            float: left;
+            padding-right: 7px;
+        }
+        ul {
+            .resetList();
+            height: 0;
+            overflow: hidden;
+            clear: both;
+            padding: 0 30px 0 7px;
+            margin: 0 -8px;
+            border: 1px solid @primary3;
+            visibility: hidden;
+            top: -(@optionsHeigth + 1px);
+            background: #fff;
+            position: relative;
+            z-index: 2;
+        }
+        .action.switch {
+            float: right;
+            margin-top: 4px;
+        }
+        .selected {
+            color: @secondary1;
+        }
+        &.active {
+            ul {
+                height: auto;
+                visibility: visible;
+            }
+        }
+    }
+    .pager {
+        float: right;
+        .amount {
+            float: left;
+            line-height: @optionsHeigth + 2px;
+            margin: 2px 15px 0 0;
+        }
+        .text {
+            display: none;
+        }
+    }
+    .pages {
+        margin-left: 15px;
+        float: left;
+        .label {
+            line-height: @optionsHeigth + 2px;
+            display: inline-block;
+        }
+        strong.label {
+            font-weight: 400;
+            float: left;
+            line-height: @optionsHeigth + 2px;
+            margin-top: 2px;
+            margin-right: 5px;
+            display: none;
+        }
+        input {
+            width: 30px;
+            margin: 0 5px;
+            text-align: center;
+            padding: 0 5px;
+            height: @optionsHeigth + 2px;
+            line-height: @optionsHeigth + 2px;
+        }
+        > ol {
+            .resetList();
+            display: inline-block;
+            vertical-align: top;
+            margin-top: 2px;
+            line-height: @optionsHeigth + 2px;
+            vertical-align: middle;
+            li {
+                display: inline;
+            }
+            strong,
+            a {
+                padding: 0 3px;
+            }
+            strong {
+                font-weight: 400;
+                color: @secondary1;
+            }
+        }
+    }
+}
+
+/*
+    Magento_Catalog
+    Product List
+-------------------------------------- */
+@imageHeight: 180px;
+@imageWidth: 180px;
+
+.products.wrapper .products.list {
+    .item {
+        .product.photo {
+            display: block;
+            margin-bottom: 10px;
+            text-align: center;
+            > .photo {
+                display: block;
+                margin: 0 auto;
+            }
+        }
+        z-index: 1;
+        position: relative;
+        border: 1px solid transparent;
+        background: transparent;
+        &:hover {
+            border: 1px solid @primary3;
+            background: @primary1;
+            .product.actions {
+                opacity: 1;
+                visibility: hidden;
+                .action.tocart,
+                .secondary {
+                    visibility: visible;
+                }
+            }
+            z-index: 99;
+        }
+        .product.actions {
+            opacity: 0.8;
+            visibility: hidden;
+            .action.tocart,
+            .secondary {
+                visibility: hidden;
+            }
+        }
+        .price-box,
+        .product.reviews {
+            display: block;
+            margin-bottom: 7px;
+        }
+        .secondary {
+            border: solid @primary3;
+            .box-sizing();
+            white-space: nowrap;
+            position: absolute;
+            .action {
+                padding: 10px;
+                white-space: normal;
+                vertical-align: top;
+                display: inline-block;
+                line-height: 1;
+            }
+        }
+    }
+}
+
+.products.wrapper.grid {
+    margin-bottom: 20px;
+}
+
+.products.wrapper.grid .products.list {
+    .item.product {
+        @total-columns: 10;
+        .column(2);
+        display: inline-block;
+        float: none;
+        .col2-left-layout &,
+        .col2-right-layout & {
+            @total-columns: 12;
+            .column(3);
+            display: inline-block;
+            float: none;
+            margin-bottom: 30px;
+        }
+        .col3-layout & {
+            @total-columns: 12;
+            .column(4);
+            display: inline-block;
+            float: none;
+            margin-bottom: 30px;
+        }
+        padding: 9px 9px 9px;
+        vertical-align: top;
+    }
+    .secondary {
+        border-width: 1px;
+        background: @primary1;
+        top: 100%;
+        .box-sizing();
+        left: -1px;
+        right: -1px;
+        .action {
+            padding: 10px 0;
+            text-align: center;
+            width: 49%;
+        }
+    }
+}
+
+.products.wrapper.list .products.list {
+    margin-bottom: 20px;
+    .item.product {
+        .clearfix();
+        display: block;
+        border-bottom: 1px solid @primary3;
+        padding: 9px 9px 9px 9px;
+        .product.details {
+            padding-bottom: 40px;
+        }
+        margin-bottom: -1px;
+    }
+    .product.details {
+        display: table;
+    }
+    .product.photo {
+        float: left;
+        margin-right: 9px;
+        margin-bottom: 0;
+    }
+    .secondary {
+        bottom: 0;
+        top: auto !important;
+        margin-left: 18px;
+        border-width: 1px 0 0;
+        right: 20px;
+    }
+    .product.description {
+        margin: 9px 0;
+    }
+}
+
+/*
+    General product item styling
+-------------------------------------- */
+.product.name {
+    color: @primary6;
+    font-weight: 600;
+    line-height: 1.2;
+    display: block;
+    margin-bottom: 10px;
+}
+
+.price-box p,
+.pricing p {
+    margin: 5px 0;
+    &:first-child {
+        margin-top: 0;
+    }
+    &:last-child {
+        margin-bottom: 0;
+    }
+}
+
+.stock[title] {
+    line-height: 16px;
+    span:before {
+        content: '';
+        line-height: 16px;
+        background: #42b649;
+        display: inline-block;
+        border-radius: 5px;
+        width: 10px;
+        height: 10px;
+        margin-right: 5px;
+        vertical-align: middle;
+    }
+    &.unavailable {
+        color: @primary3;
+        span:before {
+            background: @primary3;
+        }
+    }
+}
+
+.product.item .product.description {
+    font-size: @baseFontSizeMiddle;
+}
+
+.action.tocart {
+    &:extend(.primary.action all);
+    padding: 5px 11px;
+
+    .block .product.actions & {
+        display: inline-block;
+        margin: 10px 0;
+    }
+}
+
+.action.tocompare,
+.action.towishlist {
+    font-size: 12px;
+    span:before {
+        content: "\002B\00A0";
+    }
+    .item.product & {
+        margin-left: 0;
+    }
+}
+
+/*
+    Magento_Catalog
+    Product View
+-------------------------------------- */
+.fieldset {
+    .formFieldset();
+    > .field {
+        .formField();
+    }
+}
+
+.product.info.main {
+    float: right;
+    width: 430px;
+    padding-bottom: 30px;
+
+    .col2-left-layout &,
+    .col2-right-layout & {
+        width: 370px;
+    }
+    .col3-layout & {
+        float: none;
+        width: 100%;
+    }
+}
+
+.product.info.main {
+    .price-box {
+        font-size: 20px;
+        padding-bottom: 10px;
+        margin: 15px 0;
+        line-height: 1.2;
+        font-weight: @baseFontWeightLighter;
+    }
+    .page.title.product + .price-box {
+        border-bottom: 1px solid @primary2;
+    }
+    p {
+        margin: 5px 0;
+    }
+    .old-price {
+        font-size: @baseFontSizeBigger;
+        .price-label {
+            //display: none;
+        }
+        .price {
+            text-decoration: line-through;
+        }
+    }
+    .special-price {
+        color: @secondary1;
+    }
+    .stock {
+        margin: 15px 0;
+    }
+    .product.options.bottom {
+        .price-box {
+            display: none;
+        }
+    }
+    .product.addto.links {
+        margin: 15px 0 0;
+        padding-top: 10px;
+        border-top: 1px solid @primary2;
+        .action {
+            float: left;
+            margin-right: 15px;
+        }
+    }
+}
+
+.product.main.info {
+    .product.options.wrapper {
+        .field {
+            .fieldStyle();
+            .formField();
+            &:not(.choice) > .label {
+                .labelStyle();
+            }
+        }
+        .type-configurable & {
+            select {
+                min-width: 40%;
+                width: auto;
+                padding: 2px;
+            }
+        }
+    }
+    .product.options.wrapper .fieldset {
+        margin: 0;
+        .field.required .control .field.choice .label span:after {
+            content: "";
+        }
+        .field.date {
+            input[type="text"] {
+                width: auto;
+            }
+        }
+        .datetime-picker + .ui-datepicker-trigger {
+            margin: 0 15px 0 7px;
+        }
+    }
+}
+
+.action.primary.customize,
+.action.primary.tocart {
+    &:extend(.primary.action all);
+    line-height: 16px;
+    padding: 9px 15px;
+    span {
+        font-weight: 400;
+        font-size: @baseFontSizeBigger;
+    }
+}
+
+.product.media {
+    float: left;
+    width: 540px;
+    padding-bottom: 30px;
+
+    .col2-left-layout &,
+    .col2-right-layout & {
+        width: 400px;
+    }
+    .col3-layout & {
+        float: none;
+        width: 100%;
+    }
+}
+
+.box.tocart {
+    .clearfix();
+    margin: 15px 0;
+    .field {
+        float: left;
+        padding-right: 10px;
+    }
+    .label {
+        display: block;
+        text-align: left;
+        font-weight: 600;
+        text-transform: uppercase;
+        line-height: 25px;
+    }
+    .control {
+        width: 60px;
+        text-align: center;
+    }
+    .actions {
+        float: left;
+        padding-top: 24px;
+    }
+    .qty {
+        text-align: center;
+    }
+}
+
+.prices.tier {
+    padding: 20px;
+    margin: 15px 0;
+    background: @primary1;
+    strong {
+        font-weight: @baseFontWeight;
+    }
+}
+
+.product.social.links {
+    float: right;
+    text-align: right;
+}
+
+.action.mailto {
+    span {
+        .iconAfter(@content: @icon-envelope, @font: "icons");
+        .iconHideText();
+        color: @primary3;
+    }
+}
+
+.product.photo.thumbs {
+    float: left;
+    padding-left: 15px;
+    .title {
+        display: none;
+    }
+    .item.thumb {
+        margin-bottom: 8px;
+        img {
+            border: 1px solid transparent;
+        }
+        .active img {
+            border: 1px solid @primary5;
+        }
+    }
+}
+
+.product.photo.main {
+    float: left;
+    text-align: center;
+    .notice {
+        font-size: 11px;
+    }
+}
+
+.product.attibute.sku {
+    font-size: @baseFontSizeMiddle;
+    .value {
+        display: inline
+    }
+    .type:after {
+        content: '#';
+    }
+}
+
+@media only screen
+and (max-width : 99999px) {
+    .product.data {
+        .column(10);
+        .data-tabs();
+        .data-tabs-styling();
+    }
+
+    .temp-upsell-placeholder {
+        .column(2);
+        background: red;
+        height: 200px;
+        margin-top: 50px;
+    }
+}
+
+@media only screen
+and (max-width : 768px) {
+    .product.data {
+        .column(12);
+        .data-accordion();
+        .data-accordion-styling();
+    }
+
+    .temp-upsell-placeholder {
+        .column(12);
+        background: red;
+        height: 200px;
+        margin-top: 20px;
+    }
+}
+
+/*
+    Magento_Bundle
+    Product View
+-------------------------------------- */
+body.type-bundle {
+    overflow-x: hidden;
+}
+
+@media only screen
+and (max-width : 768px) {
+    body.type-bundle {
+        overflow: auto;
+        .customize {
+            &:before {
+                left: -10px;
+                right: -10px;
+
+            }
+        }
+    }
+}
+
+.product.info.main {
+    .action.primary.customize {
+        margin: 40px 0;
+    }
+}
+
+.bundle.options.container {
+    margin: 45px 0;
+    clear: both;
+    position: relative;
+    z-index: 1;
+    &:before {
+        position: relative;
+        z-index: 1;
+        content: '';
+        display: block;
+        position: absolute;
+        left: -999em;
+        right: -999em;
+        z-index: -1;
+        background: @primary1;
+        top: 0;
+        bottom: 0;
+    }
+
+    .product.add.form {
+        .clearfix();
+        position: relative;
+        z-index: 1;
+        display: none;
+        padding: 45px 0;
+    }
+    .product.options.wrapper {
+        float: left;
+        width: 500px;
+
+        .col2-left-layout &,
+        .col2-right-layout & {
+            width: 450px;
+        }
+        .col3-layout & {
+            width: 360px;
+        }
+    }
+    .product.options.bottom {
+        float: left;
+        width: 500px;
+        clear: left;
+    }
+}
+
+.fieldset.bundle.options {
+    border: 0;
+    padding: 0;
+    margin: 0;
+    .legend {
+        font-size: 26px;
+        font-weight: 200;
+        float: left;
+        margin-bottom: 20px;
+    }
+    .legend + br {
+        display: block;
+        clear: both;
+    }
+    .bundle-slide-back {
+        float: right;
+    }
+    > .field {
+        > .label {
+            font-size: 20px;
+            font-weight: 200;
+            display: block;
+            margin-bottom: 20px;
+        }
+        margin: 0 0 50px;
+        padding: 20px;
+        background: @primary7;
+        &:last-child {
+            margin-bottom: 0;
+        }
+    }
+    .nested {
+        .field {
+            margin: 10px 0;
+        }
+        .field.qty {
+            margin-top: 20px;
+            .label {
+                display: inline-block;
+                vertical-align: middle;
+                span:after {
+                    content: ':';
+                }
+            }
+            .control {
+                width: 60px;
+                display: inline-block;
+                vertical-align: middle;
+            }
+            input {
+                text-align: center;
+            }
+        }
+    }
+}
+
+.product.options.wrapper {
+    .nested.mage-error-group {
+        position: relative;
+        z-index: 1;
+        .field {
+            z-index: 2;
+            position: relative;
+        }
+        &:before {
+            z-index: 1;
+            border:1px solid @nonValidHilight !important;
+            background: fadeout(@nonValidHilight,96%);
+            content: '';
+            left:-8px;
+            right:-8px;
+            top:-5px;
+            bottom:-5px;
+            display: block;
+            position: absolute;
+        }
+    }
+}
+
+.block.bundle.summary {
+    background: @primary7;
+    margin-top: 54px;
+    float: right;
+    position: relative;
+    width: 380px;
+
+    .col2-left-layout &,
+    .col2-right-layout & {
+        width: 320px;
+    }
+    .col3-layout & {
+        width: 230px;
+    }
+    > .title {
+        font-weight: 400;
+        border-bottom: 3px solid @primary2;
+        line-height: 1;
+        padding: 20px 20px 10px;
+        margin-bottom: 0;
+    }
+    .photo {
+        float: left;
+        border: 1px solid @primary2;
+        margin-right: 20px;
+        .photo {
+            float: none;
+            border: none;
+            margin-right: 0;
+        }
+    }
+    > .content {
+        padding: 20px;
+    }
+    .price-box {
+        .clearfix();
+        padding: 20px 0 0;
+        clear: both;
+        line-height: 24px;
+        .price-label {
+            float: left;
+            font-size: 18px;
+            font-weight: 600;
+        }
+        .full-product-price {
+            float: right;
+            .price {
+                color: @secondary1;
+                font-weight: 700;
+                font-size: 24px;
+            }
+        }
+    }
+    .box.tocart {
+        padding: 10px 0 20px;
+        border-top: 1px solid @primary2;
+        border-bottom: 1px solid @primary2;
+    }
+    .addto.links {
+        .action {
+            font-size: 14px;
+            margin-right: 20px;
+            &:last-child {
+                margin-right: 0;
+            }
+        }
+    }
+    .subtitle {
+        display: block;
+        margin: 20px -20px 0;
+        font-weight: @baseFontWeightLighter;
+        font-size: 20px;
+        border-bottom: 3px solid @primary2;
+        line-height: 1;
+        padding: 20px 20px 10px;
+        margin-bottom: 0;
+    }
+    .bundle.summary {
+        div > ul {
+            list-style: none;
+            margin: 10px 0 0;
+            padding: 0;
+            > li {
+                margin: 0 0 10px;
+                > div > div {
+                    margin: 0 0 5px;
+                }
+            }
+        }
+    }
+}
+
+.action.back.customization {
+    .resetAction();
+    .actionLink();
+    position: absolute;
+    top: 57px;
+    right: 0;
+}
+
+/*
+    CMS
+-------------------------------------- */
+img[align="left"] {
+    margin: 0 22px 22px 0;
+}
+
+img[align="right"] {
+    margin: 0 0 22px 22px;
+}
+
+.home.main.slider {
+    img {
+        width: 100%;
+        display: block;
+    }
+}
+
+/*
+    Magento_Customer
+-------------------------------------- */
+.customer.welcome {
+    display: inline-block !important;
+    position: relative;
+    z-index: 1;
+    cursor: pointer;
+    .menu > ul {
+        font-weight: 600;
+        font-size: @baseFontSizeMiddle;
+        margin: 0;
+        position: absolute;
+        top: 100%;
+        margin-left: -11px;
+        float: left;
+        right: 0;
+        text-align: left;
+        background: @primary1;
+        border: 1px solid darken(@headerBg, 5%);
+        visibility: hidden;
+        opacity: 0;
+        .transition(visibility 0s linear .2s);
+        li {
+            margin: 15px;
+            display: block;
+            white-space: nowrap;
+        }
+    }
+    &.active {
+        z-index: 9999;
+        .menu > ul {
+            visibility: visible;
+            opacity: 1;
+            .transitionDelay(0s);
+        }
+    }
+    .header .content & .customer.name {
+        font-weight: 400;
+        span {
+            color: @primary5;
+            .iconAfter(@content: @icon-arrow-bottom-filled, @font: "icons");
+            &:after {
+                line-height: @base-font-size;
+            }
+        }
+        &:focus span,
+        &:hover span,
+        &.active span {
+            color: @primary6;
+            outline: 0;
+        }
+        &.active span:after {
+            content: @icon-arrow-up-filled;
+        }
+    }
+    & + li {
+        display: none;
+    }
+}
+
+.customer.welcome + li {
+    display: none !important;
+}
+
+.login.container {
+    .clearfix();
+    background: @primary1;
+    padding: 40px;
+    position: relative;
+    z-index: 1;
+    padding-bottom: 150px;
+    .block {
+        .box-sizing();
+        float: left;
+        width: 50%;
+        > .title {
+            margin-bottom: 25px;
+        }
+        .actions {
+            .box-sizing();
+            text-align: right;
+            position: absolute;
+            bottom: 140px;
+            width: 50%;
+            padding: 0 40px;
+            .secondary {
+                margin-bottom: -2em;
+                margin-top: 0.8em;
+                line-height: 1.2em;
+                float: right;
+            }
+        }
+        &.login {
+            padding-right: 90px;
+            .actions {
+                margin-left: -90px;
+            }
+        }
+        &.new {
+            padding-left: 40px;
+            .actions {
+                margin-left: -40px;
+            }
+            &:before {
+                content: '';
+                border-left: 1px solid;
+                .borderColor(@primary1);
+                position: absolute;
+                top: 40px;
+                margin-left: -40px;
+                bottom: 60px;
+            }
+        }
+    }
+    .action.login,
+    .action.create {
+        &:extend(.primary.action all);
+    }
+}
+
+.form.login {
+    .fieldset.login {
+        .formFieldset();
+        .formInline(40%);
+        margin: 0;
+        padding: 0;
+        border: 0;
+        .field {
+            .fieldStyle();
+            .label {
+                padding-top: 7px;
+                padding-right: 10px;
+                text-align: right;
+            }
+        }
+    }
+}
+
+.action.reload {
+    .resetAction();
+    position: absolute;
+    background: #fff;
+    padding: 2px;
+    span {
+        // TODO: add 'reload' icon to mui
+        .iconAfter(@content: @icon-info, @size: 22px, @font: "icons");
+        .iconHideText(22px);
+        color: @secondary1;
+        text-shadow: 0px 1px rgba(0, 0, 0, 0.4);
+    }
+}
+
+/*
+    Registration
+-------------------------------------- */
+.form.send.friend,
+.form.address.edit,
+.form.edit.account,
+.form.search.advanced,
+.form.orders.search,
+.form.contact,
+.form.password.forget,
+.form.create.account,
+.form.wishlist.share,
+.form.password.reset,
+.form.paypal.review {
+    .fieldset {
+        .box-sizing();
+        .formCols();
+        .formFieldset();
+        width: 690px;
+        background: @primary1;
+        padding: 30px 10px 30px 30px;
+        border: 0;
+        margin: 0 0 40px;
+        position: relative;
+        z-index: 1;
+        .legend {
+            float: left;
+            line-height: 1.2;
+            font-size: 20px;
+            font-weight: @baseFontWeight;
+            padding-bottom: 20px;
+            width: 100%;
+            padding: 0 40px 20px 0;
+            background: #fff;
+            margin: -30px -10px 30px -30px;
+            & + br {
+                display: block;
+                clear: both;
+            }
+        }
+        > .field {
+            .formField();
+            .fieldStyle();
+            > .label {
+                display: block;
+                padding: 0 0 5px;
+            }
+            margin-bottom: 20px;
+        }
+        > .field.note,
+        .field.street,
+        .field.choice.newsletter {
+            width: 100%;
+        }
+        .field.fullname {
+            width: 100%;
+            .fields.group-5 .field {
+                width: 20%;
+            }
+        }
+        .field.dob {
+            .fields.group .field {
+                width: 33%;
+                position: relative;
+                z-index: 1;
+                .label {
+                    position: absolute;
+                    bottom: 0;
+                    font-size: @baseFontSizeMiddle;
+                    line-height: 16px;
+                }
+                input {
+                    margin-bottom: 16px;
+                }
+            }
+        }
+    }
+    .action.save,
+    .action.submit,
+    .action.add {
+        &:extend(.primary.action all);
+    }
+    .actions {
+        .clearfix();
+        .primary {
+            float: right;
+        }
+        .secondary {
+            float: left;
+        }
+        width: 690px;
+    }
+    .fieldset.create.account {
+        &:after {
+            content: attr(data-hasrequired);
+            display: block;
+            position: absolute;
+            top: 100%;
+            left: 0;
+            padding: 10px 0 0;
+            letter-spacing: normal;
+            word-spacing: normal;
+            color: @secondary1;
+        }
+    }
+}
+
+.form.send.friend {
+    .fieldset.recipients {
+        .fields {
+            .clearfix();
+            margin-bottom: 30px;
+            position: relative;
+            z-index: 1;
+            .field {
+                .box-sizing();
+                width: 50%;
+                padding-right: 20px;
+                float: left;
+            }
+            .action.delete {
+                position: absolute;
+                right: 0;
+                top: 50%;
+            }
+        }
+    }
+    .actions > .primary {
+        .action.submit {
+            float: right;
+            margin-left: 10px;
+        }
+        float: right;
+        text-align: right;
+        .action.add {
+            &:extend(.secondary.action all)
+        ;
+        }
+        .limit {
+            margin: 0;
+            display: inline-block;
+        }
+    }
+}
+
+.form.address.edit .field.company,
+.form.edit.account .field.password.current,
+.form.edit.account .field.choice {
+    margin-right: 30%;
+}
+
+.form.address.edit .field.note.default,
+.form.address.edit .field.choice.set,
+.form.wishlist.share .field.emails,
+.form.wishlist.share .field.text,
+.form.wishlist.share .field.choice {
+    width: 100%;
+}
+
+// Move to other place
+.form.search.advanced,
+.form.orders.search,
+.form.contact {
+    .box-sizing();
+    background: @primary1;
+    padding: 40px;
+    .fieldset {
+        width: auto;
+        background: none;
+        margin-bottom: 0;
+        .legend {
+            background: none;
+        }
+    }
+    .actions {
+        width: auto;
+        padding-right: 30px;
+        text-align: right;
+    }
+    .action {
+        &:extend(.primary.action all);
+    }
+    .fields.range {
+        .field:first-child {
+            .control {
+                padding-right: 30px;
+                position: relative;
+                &:after {
+                    content: '\2014';
+                    display: inline-block;
+                    margin-right: 0;
+                    position: absolute;
+                    right: 6px;
+                    top: 5px;
+                    text-align: center;
+                    width: 25px;
+                }
+            }
+        }
+    }
+}
+
+.form.contact {
+    .fieldset {
+        .field {
+            float: left;
+            width: 40%;
+            margin-right: 60%;
+            &.comment {
+                width: 55%;
+                margin-left: -55%;
+                margin-right: 0;
+                float: none;
+                textarea {
+                    min-height: 13.2em;
+                }
+            }
+        }
+    }
+}
+
+/*
+    Review paypal express checkout order
+-------------------------------------- */
+.paypal.review.view {
+    .paypal.subtitle.caption {
+        margin-bottom: 25px;
+        .action {
+            margin-left: 10px;
+        }
+        strong {
+            font-size: 20px;
+            font-weight: 200;
+            line-height: 1.2;
+        }
+    }
+    .form.paypal.review {
+        .fieldset {
+            width: 100%;
+            &.shipping.address {
+                float: right;
+                width: 49%;
+            }
+            &.billing.address {
+                float: left;
+                width: 49%;
+            }
+            &.shipping.method {
+                clear: both;
+            }
+            .nested {
+                margin-top: 10px;
+            }
+        }
+    }
+    .actions {
+        margin-top: 35px;
+        .action.update {
+            &:extend(.secondary.action all)
+        ;
+            margin-left: 10px;
+        }
+    }
+    .data.table.paypal.review.items {
+        width: 100%;
+        td,
+        th {
+            padding: 10px 20px;
+            text-align: left;
+            &.col.total {
+                text-align: right;
+            }
+        }
+        th {
+            font-size: 16px;
+            font-weight: 400;
+        }
+        tbody tr:nth-child(odd) td {
+            background: @primary1;
+        }
+        tfoot tr:first-child td {
+            border-top: 3px solid @primary2;
+            padding-top: 15px;
+        }
+    }
+}
+
+/*
+    MISC
+-------------------------------------- */
+.action.back {
+    span:before {
+        content: '\00AB\00A0';
+    }
+}
+
+/*
+    Magento_Customer
+    Account
+-------------------------------------- */
+.col2-left-layout.account {
+    .column.main {
+        .column(9);
+    }
+    .column.left {
+        .column(3);
+    }
+}
+
+.block.account.nav {
+    .title {
+        font-size: 18px;
+    }
+    .item {
+        margin-bottom: 10px;
+        &.current {
+            color: @secondary1;
+        }
+    }
+    .item strong {
+        font-weight: 400;
+    }
+}
+
+.my-account {
+    .pager {
+        .amount,
+        .limiter {
+            display: inline-block;
+        }
+    }
+    .form {
+        .fieldset > .legend {
+            margin: 0 0 30px;
+        }
+    }
+    > .actions,
+    .form > .actions,
+    .block > .actions {
+        .clearfix();
+        margin: 30px 0 0;
+        > .primary {
+            float: right;
+        }
+        > .secondary {
+            float: left;
+        }
+    }
+
+    .data.table {
+        width: 100%;
+        td,
+        th {
+            padding: 10px 20px;
+            text-align: left;
+            &.col.actions {
+                white-space: nowrap;
+                .action:last-child {
+                    margin-left: 20px;
+                }
+            }
+            em {
+                font-style: normal;
+            }
+        }
+        th {
+            font-size: 16px;
+            font-weight: @baseFontWeight;
+        }
+        tr:nth-child(odd) td {
+            background: @primary1;
+        }
+    }
+}
+
+.block.dashboard {
+    .title .action,
+    .subtitle .action {
+        font-weight: @baseFontWeight;
+        font-size: @baseFontSize;
+        margin-left: 20px;
+        text-decoration: underline;
+        display: inline-block;
+        text-transform: lowercase;
+        span {
+        }
+        &:first-letter {
+            text-transform: uppercase;
+        }
+    }
+    .box {
+        .box-sizing();
+        float: left;
+        width: 50%;
+        line-height: 1.666;
+        address {
+            font-style: normal;
+        }
+    }
+    .content {
+        .clearfix();
+    }
+}
+
+.block.dashboard:not(.welcome):not(.orders) {
+    .content {
+        background: @primary1;
+        padding: 30px;
+    }
+    .subtitle {
+        font-size: 18px;
+        font-weight: @baseFontWeightLighter;
+        display: block;
+        margin-bottom: 20px;
+    }
+}
+
+.data.table.orders {
+    td,
+    th {
+        &.col.total {
+            text-align: right;
+        }
+    }
+}
+
+/*
+    Address book
+-------------------------------------- */
+.block.addresses:not(.dashboard) {
+    .box-sizing();
+    float: left;
+    .title .action,
+    .subtitle .action {
+        font-weight: @baseFontWeight;
+        font-size: @baseFontSize;
+        margin-left: 20px;
+        text-decoration: underline;
+        display: inline-block;
+        text-transform: lowercase;
+        &:first-letter {
+            text-transform: uppercase;
+        }
+    }
+    .content {
+        background: @primary1;
+        padding: 30px;
+    }
+    .subtitle {
+        font-size: 18px;
+        font-weight: @baseFontWeightLighter;
+        display: block;
+        margin-bottom: 20px;
+    }
+    .box {
+        &:first-child {
+            margin-bottom: 30px;
+        }
+    }
+    address {
+        line-height: 1.666;
+        font-style: normal;
+    }
+    &.default {
+        float: left;
+        width: 60%;
+    }
+    &.list {
+        float: right;
+        width: 35%;
+        .item {
+            margin-bottom: 30px;
+        }
+        .item.actions {
+            margin-top: 15px;
+        }
+        .action {
+            margin-right: 10px;
+        }
+    }
+}
+
+.customer-address-index .column.main .actions {
+    clear: left;
+}
+
+/*
+    My Account -> My Product Reviews
+-------------------------------------- */
+.data.table.reviews {
+    .product.name {
+        margin: 0;
+    }
+}
+
+/*
+    My Account -> My Wishlist
+-------------------------------------- */
+.data.table.wishlist {
+    @optionsBg: rgba(0, 0, 0, .8);
+    @optionsColor: #fff;
+
+    margin-bottom: 15px;
+
+    thead th {
+        padding-top: 0;
+        padding-bottom: 10px;
+        text-align: left;
+        font-weight: @baseFontWeight;
+        font-size: @baseFontSizeBigger;
+    }
+
+    td,
+    th {
+        padding: 16px 10px 10px;
+        vertical-align: top;
+    }
+
+    td:first-child,
+    th:first-child {
+        padding-left: 20px;
+    }
+
+    td:last-child,
+    th:last-child {
+        padding-right: 20px;
+    }
+
+    tbody tr:nth-child(even) {
+        background: @primary1;
+    }
+
+    textarea {
+        width: 100%;
+    }
+
+    .box.tocart .qty {
+        width: 50px;
+    }
+
+    & + .actions {
+        .primary {
+            margin-bottom: 15px;
+            .action.share,
+            .action.update {
+                &:extend(.primary.action all);
+                padding: 5px 11px;
+            }
+            .action.update {
+                margin-left: 5px;
+            }
+        }
+    }
+
+    .col.photo {
+        width: 100px;
+    }
+    .col.actions {
+        width: 200px;
+    }
+
+    .item-options {
+        background: @optionsBg;
+        color: @optionsColor;
+        display: none;
+        position: absolute;
+        border-radius: 5px;
+        padding: 10px;
+        right: 100%;
+        top: 50%;
+        margin-top: -20px;
+        margin-right: 15px;
+        max-width: 200px;
+        min-width: 100px;
+        > p {
+            margin-top: 0;
+        }
+        dl {
+            margin: 0;
+            dt {
+                display: inline;
+                float: left;
+                clear: left;
+                font-weight: 600;
+                &:after {
+                    content: ':';
+                    margin-right: 5px;
+                }
+            }
+            dd {
+                margin: 0;
+            }
+        }
+    }
+
+    .truncated {
+        .truncated_full_value {
+            position: relative;
+            &.show {
+                &:before {
+                    content: '';
+                    border-left: 10px solid @optionsBg;
+                    border-top: 10px solid transparent;
+                    border-bottom: 10px solid transparent;
+                    height: 0;
+                    width: 0;
+                    overflow: hidden;
+                    display: block;
+                    position: absolute;
+                    top: 3px;
+                    margin-top: 0;
+                    left: -15px;
+                    z-index: 2;
+                }
+                .item-options {
+                    display: block;
+                }
+            }
+        }
+        .details {
+            font-size: @baseFontSizeMiddle;
+            border-bottom: 1px dotted @link;
+            cursor: help;
+        }
+    }
+}
+
+/*
+    Page -> Advanced Search
+-------------------------------------- */
+.form.search.advanced {
+    .range.price.fields.group {
+        .field {
+            .box-sizing();
+            .column(6);
+            padding-right: 0;
+        }
+        .field:first-child input {
+            width: 96%;
+        }
+    }
+    .range.dates.fields.group {
+        .field {
+            .box-sizing();
+            .column(6);
+            padding-right: 0;
+            .control {
+                padding-right: 20px;
+            }
+        }
+        .field:first-child .control {
+            padding-right: 50px;
+            .ui-datepicker-trigger {
+                right: 32px;
+            }
+        }
+    }
+    .group.price {
+        .addon {
+            .addafter {
+                color: @textColor;
+                border: none;
+                background: none;
+            }
+        }
+    }
+}
+
+/*
+    Popular Search Terms
+-------------------------------------- */
+.search.terms {
+    .resetList();
+    .item {
+        display: inline-block;
+        margin-right: 3px;
+    }
+}
+
+/*
+    My Account -> My orders
+-------------------------------------- */
+.order.details {
+    .clearfix();
+
+    .status {
+        margin: 0 0 .5em;
+        line-height: 1.2;
+        font-weight: 400;
+        font-size: 30px;
+        float: left;
+    }
+
+    .subtitle.caption,
+    .title {
+        strong {
+            line-height: 1.2;
+            font-weight: 200;
+            font-size: 20px;
+        }
+        .action {
+            margin-left: 10px;
+        }
+    }
+
+    .subtitle.caption {
+        margin-bottom: 45px;
+    }
+
+    .order.toolbar {
+        clear: none;
+        float: right;
+
+        .action {
+            margin-left: 10px;
+        }
+    }
+
+    .block.order {
+        float: left;
+        width: 48%;
+        padding-right: 2%;
+
+        &.billing.address {
+            clear: left;
+        }
+        .content {
+            background: @primary1;
+            padding: 30px;
+        }
+    }
+
+    .order.info {
+        clear: both;
+
+        > dt {
+            line-height: 1.2;
+            font-weight: 200;
+            font-size: 20px;
+        }
+
+        > dd {
+            margin: 10px 0 0 0;
+            background: @primary1;
+            padding: 30px;
+
+            .items {
+                .clearfix();
+                .item {
+                    float: left;
+                    margin-right: 15px;
+                }
+            }
+        }
+    }
+
+    .additional.details {
+        margin-bottom: 45px;
+        .order.comments {
+            background: @primary1;
+            padding: 30px;
+        }
+        .subtitle.caption {
+            font-size: 20px;
+            font-weight: 200;
+            line-height: 1.2;
+            margin-bottom: 15px;
+        }
+        &.gift {
+            .gift.message {
+                background: @primary1;
+                padding: 30px;
+                dt {
+                    margin: 0;
+                }
+                dd {
+                    margin: 0 0 0 40px;
+                }
+            }
+        }
+    }
+}
+
+.order.details.items {
+    .order.toolbar {
+        margin: 5px 0 0 0;
+    }
+    .order.title {
+        margin-bottom: 10px;
+    }
+    h3.product-name {
+        margin: 0;
+    }
+    .action.show {
+        text-decoration: none;
+        .iconAfter(@content: @icon-arrow-up-filled, @size: 12px, @font: "icons");
+        &.expanded:after {
+            content: @icon-arrow-bottom-filled;
+        }
+    }
+}
+
+.shipping-tracking-popup {
+    .action.close {
+        &:extend(.secondary.action all);
+        text-indent: 0;
+
+        span {
+            width: auto;
+            text-indent: 0;
+            &:after {
+                content: "";
+                display: none;
+            }
+        }
+    }
+}
+
+.data.table.order {
+    margin-bottom: 45px;
+    width: 100%;
+
+    thead th {
+        padding: 0 10px;
+    }
+
+    thead tr:last-child th {
+        padding-bottom: 10px;
+    }
+
+    td.col.qty {
+        width: 90px;
+        text-align: left;
+    }
+
+    td.col.price,
+    td.col.subtotal {
+        text-align: left;
+    }
+    td {
+        padding: 16px 10px 10px;
+        vertical-align: top;
+
+        h4 {
+            margin: 0;
+        }
+    }
+    td:first-child,
+    th:first-child {
+        padding-left: 20px;
+    }
+    td:last-child,
+    th:last-child {
+        padding-right: 20px;
+    }
+    tbody:nth-child(even) tr {
+        background: @primary1;
+    }
+    th {
+        text-align: left;
+        font-weight: 400;
+        font-size: 14px;
+        vertical-align: top;
+    }
+    tr:first-child th {
+        font-weight: 400;
+        font-size: 16px;
+    }
+    .item-options {
+        margin: 5px 0;
+
+        dt {
+            font-weight: 400;
+            display: inline;
+            margin-right: 10px;
+            float: left;
+            clear: left;
+
+            &:after {
+                content: ': ';
+            }
+        }
+        dd {
+            font-weight: 200;
+            margin: 0 0 5px 10px;
+            padding: 0;
+        }
+    }
+
+    tfoot tr:first-child td {
+        border-top: 3px solid @primary2;
+        padding-top: 15px;
+    }
+
+    &.tracking {
+        th, td {
+            padding: 0;
+        }
+        .label {
+            width: 40%;
+        }
+    }
+}
+
+/*
+    My Account -> Billing agreements
+-------------------------------------- */
+.billing.agreements {
+    .data.table {
+        margin-bottom: 40px;
+    }
+    .form.new.agreement {
+        .formCols(30%);
+
+        .fieldset {
+            margin: 0;
+            > .legend {
+                margin: 0 0 20px;
+            }
+        }
+
+        .action.create {
+            padding-top: 7px;
+            padding-bottom: 6px;
+        }
+    }
+}
+
+/*
+    Overlay popup
+-------------------------------------- */
+.window.overlay {
+    background: @primeBlackOpacity;
+    display: none;
+    min-height: 100%;
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    z-index: 990;
+    &.active {
+        display: block;
+    }
+}
+
+.popup {
+    background: @primary7;
+    left: 50%;
+    top: 40%;
+    position: absolute;
+    margin: -85px 0 0 -250px;
+    width: 500px;
+    z-index: 1000;
+    position: fixed;
+    display: none;
+    &.active {
+        display: block;
+    }
+    .close span {
+        .iconHideText();
+    }
+    .title {
+        font-size: 18px;
+        margin: 0 0 30px;
+    }
+}
diff --git a/app/design/frontend/magento_plushe/less/styles/base.less b/app/design/frontend/magento_plushe/less/styles/base.less
new file mode 100644
index 00000000000..eeff2fad496
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/styles/base.less
@@ -0,0 +1,429 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+// #General reset
+//  For resetting default browser styles of standard html elements ClearLess library provides normalize or reset solution. Here we use **normalize**. It sets default parameters to certain values.
+//
+//  **If the property of an element is not set directly in this document, it is inherited from normalize** (http://github.com/necolas/normalize.css)
+//
+//  #General settings
+//
+//  Applying custom font
+//
+//  Setting font for html, body, button, input, select, textarea
+//
+//  Reseting elements styles: nav ul, nav ol
+//
+
+.font-face( "sourcesanspro", "@{baseDir}/fonts/sourcesanspro/sourcesanspro-200-normal-webfont", 200, normal, true );
+.font-face( "sourcesanspro", "@{baseDir}/fonts/sourcesanspro/sourcesanspro-200-normal-webfont", 200, normal, true );
+.font-face( "sourcesanspro", "@{baseDir}/fonts/sourcesanspro/sourcesanspro-400-normal-webfont", 400, normal, true );
+.font-face( "sourcesanspro", "@{baseDir}/fonts/sourcesanspro/sourcesanspro-600-normal-webfont", 600, normal, true );
+.font-face( "sourcesanspro", "@{baseDir}/fonts/sourcesanspro/sourcesanspro-700-normal-webfont", 700, normal, true );
+.font-face( "marvel", "@{baseDir}/fonts/marvel/marvel-400-normal-webfont", 400, normal, true );
+
+.font-face( "icons", "@{baseDir}/fonts/icons/icons", 400, normal, true );
+
+@baseDir: ~".."; //default
+
+html, body, button, input, select, textarea {
+    font: @baseFontWeight @baseFontSize/@baseLineHeight @baseFont;
+    color: @baseColor;
+}
+
+nav ul, nav ol {
+    .resetList();
+}
+
+//  # Headings
+//
+//  ```html
+//  <h1>Heading 1</h1>
+//
+//  <h2>Heading 2</h2>
+//
+//  <h3>Heading 3</h3>
+//
+//  <h4>Heading 4</h4>
+//
+//  <h5>Heading 5</h5>
+//
+//  <h6>Heading 6</h6>
+//  ```
+//
+
+h1 {
+    color: @h1color;
+    font: @h1font;
+}
+
+h2 {
+    color: @h2color;
+    font: @h2font;
+}
+
+h3 {
+    color: @h3color;
+    font: @h3font;
+}
+
+h4 {
+    color: @h4color;
+    font: @h4font;
+}
+
+h5 {
+    color: @h5color;
+    font: @h5font;
+}
+
+h6 {
+    color: @h6color;
+    font: @h6font;
+}
+
+// #Links
+//
+//  ```html
+//  <a href="#">Link</a>
+//  <a class=":visited" href="#">Visited link</a>
+//  <a class=":hover" href="#">Hovered link</a>
+//  <a class=":active" href="#">Active link</a>
+//  ```
+//
+
+a {
+    color: @link;
+    text-decoration: none;
+    &:visited {
+        color: @link;
+    }
+    &:hover,
+    &:active {
+        color: @linkHover;
+    }
+}
+
+//  #Inline markup
+//
+//  #abbr
+//
+//  ```html
+//  The <abbr>abbr element</abbr> and <abbr title="Title text">abbr element with title</abbr> examples
+//  ```
+
+
+//  #b
+//
+//  ```html
+//  The <b>b element</b> example
+//  ```
+
+//  #strong
+//
+//  ```html
+//  The <strong>strong element</strong> example
+//  ```
+
+//  #em
+//
+//  ```html
+//  The <em>em element</em> example
+//  ```
+//
+
+//  #i
+//
+//  ```html
+//  The <i>i element</i> example
+//  ```
+//
+
+//  #cite
+//
+//  ```html
+//  The <cite>cite element</cite> example
+//  ```
+//
+
+//  #code
+//
+//  ```html
+//  The <code>code element</code> example
+//  ```
+//
+
+//  #del
+//
+//  ```html
+//  The <del>del element</del> example
+//  ```
+//
+
+//  #s
+//
+//  ```html
+//  The <s>s element</s> example
+//  ```
+//
+
+//  #img
+//
+//  ```html
+//  The img element <img src="http://lorempixel.com/16/16/abstract" alt="example"> example
+//  ```
+//
+
+//  #mark
+//
+//  ```html
+//  The <mark>mark element</mark> example
+//  ```
+//
+
+//  #q
+//
+//  ```html
+//  The <q>q element <q>inside</q> a q element</q> example
+//  ```
+//
+
+q {
+    &:before {
+        content: "\201c";
+    }
+    &:after {
+        content: "\201d";
+    }
+    q {
+        &:before {
+            content: "\2018";
+        }
+        &:after {
+            content: "\2019";
+        }
+    }
+}
+
+//  #small
+//
+//  ```html
+//  The <small>small element</small> example
+//  ```
+//
+
+//  #sub
+//
+//  ```html
+//  The <sub>subscript element</sub> example
+//  ```
+//
+
+//  #sup
+//
+//  ```html
+//  The <sup>superscript element</sup> example
+//  ```
+//
+
+//  #u
+//
+//  ```html
+//  The <u>u element</u> example
+//  ```
+//
+
+// #Paragraph
+//
+//  ```html
+//  <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi luctus. Duis lobortis. Nulla nec velit. Mauris pulvinar erat non massa. Suspendisse tortor turpis, porta nec, tempus vitae, iaculis semper, pede.</p>
+//  <p>Cras vel libero id lectus rhoncus porta. Suspendisse convallis felis ac enim. Vivamus tortor nisl, lobortis in, faucibus et, tempus at, dui.</p>
+//  ```
+//
+
+// #Ordered list
+//
+//  ```html
+//  <ol>
+//      <li>Item 1</li>
+//      <li>Item 2</li>
+//      <li>Item 3
+//          <ol>
+//              <li>Item 1</li>
+//              <li>Item 2</li>
+//              <li>Item 3</li>
+//          </ol>
+//      </li>
+//      <li>Item 4</li>
+//  </ol>
+//  ```
+//
+
+// #Unordered list
+//
+//  ```html
+//  <ul>
+//      <li>Item 1</li>
+//      <li>Item 2</li>
+//      <li>Item 3
+//          <ol>
+//              <li>Item 1</li>
+//              <li>Item 2</li>
+//              <li>Item 3</li>
+//          </ol>
+//      </li>
+//      <li>Item 4</li>
+//  </ul>
+//  ```
+//
+
+// #Descriptions
+//
+//  ```html
+//    <dl>
+//        <dt>Title 1</dt>
+//        <dd>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi luctus. Duis lobortis. Nulla nec velit. Mauris pulvinar erat non massa. Suspendisse tortor turpis, porta nec, tempus vitae, iaculis semper, pede. Cras vel libero id lectus rhoncus porta. Suspendisse convallis felis ac enim. Vivamus tortor nisl, lobortis in, faucibus et, tempus at, dui. Nunc risus. Proin scelerisque augue. Nam ullamcorper. Phasellus id massa. Pellentesque nisl. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc augue. Aenean sed justo non leo vehicula laoreet. Praesent ipsum libero, auctor ac, tempus nec, tempor nec, justo.</dd>
+//        <dt>Title 2</dt>
+//        <dd>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi luctus. Duis lobortis. Nulla nec velit. Mauris pulvinar erat non massa. Suspendisse tortor turpis, porta nec, tempus vitae, iaculis semper, pede. Cras vel libero id lectus rhoncus porta. Suspendisse convallis felis ac enim. Vivamus tortor nisl, lobortis in, faucibus et, tempus at, dui. Nunc risus. Proin scelerisque augue. Nam ullamcorper. Phasellus id massa. Pellentesque nisl. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc augue. Aenean sed justo non leo vehicula laoreet. Praesent ipsum libero, auctor ac, tempus nec, tempor nec, justo.</dd>
+//    </dl>
+//  ```
+//
+
+// #Table
+//
+//  ```html
+//    <table>
+//        <thead>
+//            <tr>
+//                <th>#</th>
+//                <th>Column 1</th>
+//                <th>Column 2</th>
+//                <th>Column 3</th>
+//            </tr>
+//        </thead>
+//        <tbody>
+//            <tr>
+//                <td>1</td>
+//                <td>Cell 4</td>
+//                <td>Cell 5</td>
+//                <td>Cell 6</td>
+//            </tr>
+//            <tr>
+//                <td>2</td>
+//                <td>Cell 7</td>
+//                <td>Cell 8</td>
+//                <td>Cell 9</td>
+//            </tr>
+//            <tr>
+//                <td>3</td>
+//                <td>Cell 10</td>
+//                <td>Cell 11</td>
+//                <td>Cell 12</td>
+//            </tr>
+//            <tr>
+//                <td>4</td>
+//                <td>Cell 13</td>
+//                <td>Cell 14</td>
+//                <td>Cell 15</td>
+//            </tr>
+//            <tr>
+//                <td>5</td>
+//                <td>Cell 16</td>
+//                <td>Cell 17</td>
+//                <td>Cell 18</td>
+//            </tr>
+//        </tbody>
+//    </table>
+//  ```
+//
+
+table {
+    th {
+        border-right: 1px solid @primary2;
+        font-size: @baseFontSizeBigger;
+        padding: 7px 10px;
+        &:last-child {
+            border-right: 0;
+        }
+    }
+    td {
+        border-right: 1px solid @primary2;
+        padding: 7px 10px;
+        vertical-align: top;
+        &:last-child {
+            border-right: 0;
+        }
+    }
+    tbody tr:nth-child(odd) td {
+        background: @primary1;
+    }
+}
+
+// #Blockquote
+//
+//  ```html
+//  <blockquote>
+//    <p>The cite element represents the title of a work (e.g. a book, a paper, an essay, a poem, a score, a song, a script, a film, a TV show, a game, a sculpture, a painting, a theatre production, a play, an opera, a musical, an exhibition, a legal case report, etc). This can be a work that is being quoted or referenced in detail (i.e. a citation), or it can just be a work that is mentioned in passing.</p>
+//    <p>A person's name is not the title of a work — even if people call that person a piece of work — and the element must therefore not be used to mark up people's names. (In some cases, the b element might be appropriate for names; e.g. in a gossip article where the names of famous people are keywords rendered with a different style to draw attention to them. In other cases, if an element is really needed, the span element can be used.)</p>
+//    <cite>http://www.w3.org/html/wg/drafts/html/master/text-level-semantics.html</cite>
+//  </blockquote>
+//  ```
+//
+
+blockquote {
+    margin: 10px 20px 10px 40px;
+    &:before {
+        color: @primary4;
+        content: "\201C";
+        display: block;
+        font-family: Georgia, serif;
+        font-size: 60px;
+        font-style: italic;
+        position: absolute;
+        left: 15px;
+        top: 10px;
+    }
+    cite {
+        color: @primary4;
+        font-style: italic;
+        font-size: @baseFontSizeMiddle;
+        margin: 1em 0;
+    }
+}
+
+// #HR
+//
+//  ```html
+//  <hr>
+//  ```
+//
+
+hr {
+    background: @primary3;
+    border: 0;
+    color: @primary3;
+    height: 1px;
+    margin: 1em 0;
+}
diff --git a/app/design/frontend/magento_plushe/less/styles/magento.less b/app/design/frontend/magento_plushe/less/styles/magento.less
new file mode 100644
index 00000000000..79fd72340b5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/styles/magento.less
@@ -0,0 +1,1549 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+//  #Mixins
+//
+//  Common mixins used for styling magento elements
+//
+
+.pagerLabel() {
+    font-weight: @baseFontWeight;
+    line-height: 25px;
+    margin-right: 5px;
+}
+
+//  #Search form
+//
+//  ```html
+//    <div class="block search">
+//        <div class="title"><strong>Search</strong></div>
+//        <div class="content search">
+//        <form class="form minisearch">
+//            <div class="field search">
+//                <label for="search" class="label">Search</label>
+//                <div class="control">
+//                    <input type="text" class="input-text" placeholder="Search entire store here..." value="" name="q">
+//                    <a href="#" class="action advanced">Advanced Search</a>
+//                </div>
+//            </div>
+//            <div class="actions">
+//                <button class="action search" type="submit"><span>Search</span></button>
+//            </div>
+//        </form>
+//        </div>
+//    </div>
+//  ```
+//
+
+.block.search {
+    input {
+        border-radius: 3px 0 0 3px;
+        border-right: 0;
+        float: left;
+        width: 100%;
+        &:focus + {
+            border-color: @primary3;
+        }
+    }
+    .field .control {
+        width: 260px;
+    }
+    .label,
+    > .title,
+    .action.advanced {
+        display: none;
+    }
+    .action.search {
+        background: @primary7;
+        border: 1px solid @primary3;
+        border-radius: 0 3px 3px 0;
+        color: @primary3;
+        float: left;
+        padding: 7px;
+        &:hover {
+            color: @primary6;
+        }
+        span {
+            .iconAfter(@icon-magnifying-glass, 16px, 0, 'icons');
+            .iconHideText(16px);
+        }
+        .search.autocomplete {
+            display: none !important;
+        }
+    }
+    ::-webkit-input-placeholder {
+        color: @primary4;
+    }
+    :-moz-placeholder {
+        color: @primary4;
+    }
+    ::-moz-placeholder {
+        color: @primary4;
+    }
+    :-ms-input-placeholder {
+        color: @primary4;
+    }
+}
+
+//  #Newsletter sign up form
+//
+//  ```html
+//    <div class="block newsletter">
+//        <div class="title"><strong>Newsletter</strong></div>
+//        <div class="content">
+//            <form>
+//                <div class="field newsletter">
+//                    <label for="newsletter" class="label">Sign Up for Our Newsletter:</label>
+//                    <div class="control">
+//                        <input type="text" placeholder="Enter your email address" name="email">
+//                    </div>
+//                    <div class="actions">
+//                        <button type="submit" title="Subscribe" class="action subscribe">
+//                            <span>Subscribe</span>
+//                        </button>
+//                    </div>
+//                </div>
+//            </form>
+//        </div>
+//    </div>
+//  ```
+//
+
+.block.newsletter {
+    > .title {
+        display: none;
+    }
+    .label {
+        display: block;
+        font-size: @baseFontSizeBigger;
+        line-height: 1.2;
+        margin-bottom: 10px;
+    }
+    .control {
+        .box-sizing();
+        float: left;
+        padding-right: 45px;
+        width: 100%;
+    }
+    input[type="text"] {
+        width: 100%;
+    }
+    .actions {
+        float: right;
+        margin-left: -45px;
+        padding-left: 10px;
+    }
+    .action.subscribe {
+        .box-sizing();
+        background: @primaryActionBg;
+        border-radius: 3px;
+        border: 1px solid @primaryActionBg;
+        padding: 7px;
+        vertical-align: top;
+        &:hover {
+            background: @primaryActionBgH;
+        }
+        span {
+            .iconAfter(@icon-envelope, 16px, 0, "icons");
+            .iconHideText(16px);
+            color: @primary7;
+        }
+    }
+}
+
+//  #Mage Catalog
+//
+//  #Breadcrumbs
+//
+//  ```html
+//    <div class="breadcrumbs">
+//        <ul class="items">
+//            <li class="item">
+//                <a href="#">Home</a>
+//            </li>
+//            <li class="item">
+//                <a href="#">Level 1</a>
+//            </li>
+//            <li class="item">
+//                <strong>Level 2</strong>
+//            </li>
+//        </ul>
+//    </div>
+//  ```
+//
+
+.breadcrumbs {
+    font-size: @baseFontSizeMiddle;
+    .items {
+        margin: 0;
+        padding: 0;
+    }
+    .item {
+        display: inline;
+        font-weight: @baseFontWeightLighter;
+        &:before {
+            content: " / ";
+        }
+        &:first-child:before {
+            content: "";
+        }
+    }
+    strong {
+        font-weight: @baseFontWeight;
+    }
+}
+
+// #Pager
+//
+//  ```html
+//    <div class="pages">
+//        <strong class="label">Page</strong>
+//        <ol class="items">
+//            <li class="item"><a href="#" class="action previous"><span>Previous</span></a></li>
+//            <li class="item"><a href="#"><span>1</span></a></li>
+//            <li class="item current"><strong><span>2</span></strong></li>
+//            <li class="item"><a href="#"><span>3</span></a></li>
+//            <li class="item"><a title="Next" href="#" class="action next"><span>Next</span></a></li>
+//        </ol>
+//    </div>
+//  ```
+//
+
+.pages {
+    ol {
+        .resetList();
+    }
+    .item {
+        display: inline-block;
+    }
+    a {
+        padding: 0 3px;
+    }
+    strong {
+        color: @secondary1;
+        font-weight: normal;
+        padding: 0 3px;
+    }
+    > .label {
+        display: none;
+    }
+    .action {
+        &.previous {
+            .iconAfter(@icon-arrow-left-thick, 16px, 0, "icons");
+            .iconHideText(16px);
+            display: inline-block;
+        }
+        &.next {
+            .iconAfter(@icon-arrow-right-thick, 16px, 0, "icons");
+            .iconHideText(16px);
+            display: inline-block;
+        }
+        color: @primary3;
+        &:hover {
+            color: darken(@primary3, 20%);
+        }
+    }
+}
+
+// #View switcher
+//
+//  ```html
+//    <div class="modes">
+//        <strong class="label">View as</strong>
+//        <strong class="mode active grid">
+//            <span>Grid</span>
+//        </strong>
+//        <a href="#" class="mode list">
+//            <span>List</span>
+//        </a>
+//        <strong class="label">View as</strong>
+//        <a href="#" class="mode grid">
+//            <span>Grid</span>
+//        </a>
+//        <strong class="mode active list">
+//            <span>List</span>
+//        </strong>
+//    </div>
+//  ```
+//
+
+.modes {
+    .label {
+        display: none;
+    }
+    .mode {
+        border: 1px solid @primary3;
+        color: @primary3;
+        display: inline-block;
+        margin: 0 3px;
+        overflow: hidden;
+        padding: 4px;
+        &.active {
+            background: @primary3;
+            border-color: @primary3;
+            cursor: default;
+            color: @primary7;
+            span {
+                color: @primary7;
+            }
+            &:hover {
+                background: @primary3;
+                border-color: @primary3;
+                color: @primary7;
+                span {
+                    color: @primary7;
+                }
+            }
+        }
+        &:hover {
+            background: @primary4;
+            border-color: @primary4;
+            color: @primary7;
+            span {
+                color: @primary7;
+            }
+        }
+        &.grid {
+            .iconAfter(@icon-grid, 13px, 0, "icons");
+            .iconHideText(13px);
+            display: inline-block;
+        }
+        &.list {
+            .iconAfter(@icon-list, 13px, 0, "icons");
+            .iconHideText(13px);
+            display: inline-block;
+        }
+    }
+}
+
+// #"Sort by" switcher
+//
+//  ```html
+//    <div class="sorter">
+//        <label for="sorter" class="label">Sort By</label>
+//        <select data-mage-redirect="{'event':'change'}" id="sorter">
+//            <option selected="selected" value="">Position</option>
+//            <option value="">Name</option>
+//            <option value="">Price</option>
+//        </select>
+//        <a class="action sort desc" title="Set Ascending Direction" href="#">
+//            <span>Set Ascending Direction</span>
+//        </a>
+//        <a class="action sort asc" title="Set Descending Direction" href="#">
+//            <span>Set Descending Direction</span>
+//        </a>
+//    </div>
+//  ```
+//
+
+.sorter {
+    .label {
+        .pagerLabel();
+    }
+    select {
+        padding: 0;
+    }
+    .action.sort {
+        &.desc {
+            .iconAfter(@icon-arrow-down-thick, 13px, 0, "icons");
+            .iconHideText(13px);
+            display: inline-block;
+        }
+        &.asc {
+            .iconAfter(@icon-arrow-up-thick, 13px, 0, "icons");
+            .iconHideText(13px);
+            display: inline-block;
+        }
+    }
+}
+
+// #Pager limiter
+//
+//  ```html
+//    <div class="limiter">
+//        <strong class="label">Show</strong>
+//        <select data-mage-redirect="{'event':'change'}" id="limiter">
+//            <option selected="selected" value="">5</option>
+//            <option value="">10</option>
+//            <option value="">15</option>
+//            <option value="">All</option>
+//        </select>
+//        <span class="text">per page</span>
+//    </div>
+//  ```
+//
+
+.limiter {
+    .label {
+        .pagerLabel();
+    }
+    select {
+        padding: 0;
+    }
+    .text {
+        display: none;
+    }
+}
+
+// #Tags
+//
+//  ```html
+//    <ul class="tags items cloud">
+//        <li class="tag item">
+//            <a class="tag text" href="#" style="font-size:75%;">widget</a>
+//            <span class="amount">34</span>
+//        </li>
+//        <li class="tag item">
+//            <a class="tag text" href="#" style="font-size:75%;">plugin</a>
+//            <span class="amount">6</span>
+//        </li>
+//        <li class="tag item">
+//            <a class="tag text" href="#" style="font-size:145%;">admin</a>
+//            <span class="amount">2</span>
+//        </li>
+//        <li class="tag item">
+//            <a class="tag text" href="#" style="font-size:75%;">sidebar</a>
+//            <span class="amount">4</span>
+//        </li>
+//        <li class="tag item">
+//            <a class="tag text" href="#" style="font-size:110%;">comments</a>
+//            <span class="amount">1</span>
+//        </li>
+//    </ul>
+//  ```
+//
+
+.tags.items.cloud {
+    .resetList();
+    margin: 0 0 20px;
+    .item {
+        .resetList();
+        display: inline-block;
+        margin: 0 0 5px 5px;
+        &:first-child {
+            margin-left: 0;
+        }
+    }
+    .amount {
+        margin-left: 3px;
+        &:before {
+            content: '(';
+        }
+        &:after {
+            content: ')';
+        }
+    }
+}
+
+// #Ratings
+//
+//  ```html
+//    <div class="field ratings">
+//        <label class="label"><span>How do you rate this product?</span></label>
+//        <div class="control">
+//            <div class="nested">
+//                <div class="field rating">
+//                    <label class="label"><span>Price</span></label>
+//                    <div class="control">
+//                        <input type="radio" name="ratings[3]" id="Price_1" value="11">
+//                        <label class="rating-1" for="Price_1" title="1 star">
+//                            <span>1 star</span>
+//                        </label>
+//                        <input type="radio" name="ratings[3]" id="Price_2" value="12">
+//                        <label class="rating-2" for="Price_2" title="2 stars">
+//                            <span>2 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[3]" id="Price_3" value="13">
+//                        <label class="rating-3" for="Price_3" title="3 stars">
+//                            <span>3 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[3]" id="Price_4" value="14">
+//                        <label class="rating-4" for="Price_4" title="4 stars">
+//                            <span>4 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[3]" id="Price_5" value="15">
+//                        <label class="rating-5" for="Price_5" title="5 stars">
+//                            <span>5 stars</span>
+//                        </label>
+//                    </div>
+//                </div>
+//                <div class="field rating">
+//                    <label class="label"><span>Value</span></label>
+//                    <div class="control">
+//                        <input type="radio" name="ratings[2]" id="Value_1" value="6">
+//                        <label class="rating-1" for="Value_1" title="1 star">
+//                            <span>1 star</span>
+//                        </label>
+//                        <input type="radio" name="ratings[2]" id="Value_2" value="7">
+//                        <label class="rating-2" for="Value_2" title="2 stars">
+//                            <span>2 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[2]" id="Value_3" value="8">
+//                        <label class="rating-3" for="Value_3" title="3 stars">
+//                            <span>3 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[2]" id="Value_4" value="9">
+//                        <label class="rating-4" for="Value_4" title="4 stars">
+//                            <span>4 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[2]" id="Value_5" value="10">
+//                        <label class="rating-5" for="Value_5" title="5 stars">
+//                            <span>5 stars</span>
+//                        </label>
+//                    </div>
+//                </div>
+//                <div class="field rating">
+//                    <label class="label"><span>Quality</span></label>
+//                    <div class="control">
+//                        <input type="radio" name="ratings[1]" id="Quality_1" value="1">
+//                        <label class="rating-1" for="Quality_1" title="1 star">
+//                            <span>1 star</span>
+//                        </label>
+//                        <input type="radio" name="ratings[1]" id="Quality_2" value="2">
+//                        <label class="rating-2" for="Quality_2" title="2 stars">
+//                            <span>2 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[1]" id="Quality_3" value="3">
+//                        <label class="rating-3" for="Quality_3" title="3 stars">
+//                            <span>3 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[1]" id="Quality_4" value="4">
+//                        <label class="rating-4" for="Quality_4" title="4 stars">
+//                            <span>4 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[1]" id="Quality_5" value="5">
+//                        <label class="rating-5" for="Quality_5" title="5 stars">
+//                            <span>5 stars</span>
+//                        </label>
+//                    </div>
+//                </div>
+//            </div>
+//        </div>
+//    </div>
+//  ```
+//
+
+.field.ratings {
+    @starSize: 16px;
+    border-bottom: 1px solid;
+    .borderColor(@primary1);
+    padding-bottom: 15px;
+    margin-bottom: 30px;
+    overflow: hidden;
+    position: relative;
+    z-index: 1;
+    .nested {
+        display: table;
+    }
+    .field.rating {
+        display: table-row;
+        > .label {
+            display: table-cell;
+            vertical-align: top;
+            padding: 6px 0;
+        }
+        .control {
+            padding: 5px 10px;
+            display: table-cell;
+            z-index: 1;
+            &:before {
+                letter-spacing: 0.2em;
+                position: absolute;
+                z-index: 1;
+                display: block;
+                float: left;
+                font-family: "icons";
+                content: "\e009\e009\e009\e009\e009";
+                font-style: normal;
+                font-size: @starSize;
+                color: fade(@secondary1, 30%);
+                speak: none;
+                font-weight: normal;
+                -webkit-font-smoothing: antialiased;
+            }
+            input:focus + label:before,
+            input:checked + label:before {
+                color: @secondary1;
+                opacity: 1;
+            }
+            input[type="radio"] {
+                position: absolute;
+                margin-left: -999em;
+            }
+            label {
+                position: absolute;
+                display: block;
+                span {
+                    display: none;
+                }
+                &:before {
+                    letter-spacing: 0.2em;
+                    font-family: "icons";
+                    font-style: normal;
+                    font-size: @starSize;
+                    speak: none;
+                    font-weight: normal;
+                    -webkit-font-smoothing: antialiased;
+                    opacity: 0;
+                }
+                &:hover {
+                    &:before {
+                        color: @secondary1;
+                        opacity: 1;
+                    }
+                    & ~ label:before {
+                        opacity: 0 !important;
+                    }
+                }
+                cursor: pointer;
+            }
+            .rating-1 {
+                z-index: 6;
+                &:before {
+                    content: "\e009";
+                }
+            }
+            .rating-2 {
+                z-index: 5;
+                &:before {
+                    content: "\e009\e009";
+                }
+            }
+            .rating-3 {
+                z-index: 4;
+                &:before {
+                    content: "\e009\e009\e009";
+                }
+            }
+            .rating-4 {
+                z-index: 3;
+                &:before {
+                    content: "\e009\e009\e009\e009";
+                }
+            }
+            .rating-5 {
+                z-index: 2;
+                &:before {
+                    content: "\e009\e009\e009\e009\e009";
+                }
+            }
+        }
+    }
+}
+
+//  #Login form
+//  The login form's design differs from default form layout: labels are in the same line as inputs (in default form layout labels and corresponding inputs are in different lines) The code is the same, it differs only with styles.
+//
+//  ```html
+//    <fieldset class="fieldset login">
+//        <div class="field email required">
+//            <label for="email" class="label"><span>Email Address</span></label>
+//            <div class="control">
+//                <input type="text" class="input-text" value="" name="login[username]">
+//            </div>
+//        </div>
+//        <div class="field password required">
+//            <label class="label" for="pass"><span>Password</span></label>
+//            <div class="control">
+//                <input type="password" class="input-text" name="login[password]">
+//            </div>
+//        </div>
+//        <div class="actions">
+//            <div class="primary">
+//                <button id="send2" name="send" class="action login" type="submit"><span>Login</span></button>
+//            </div>
+//            <div class="secondary"><a href="#" class="action remind"><span>Forgot Your Password?</span></a></div>
+//        </div>
+//    </fieldset>
+//  ```
+//
+
+.fieldset {
+    &.login {
+        margin: 0;
+        padding: 0;
+        > .field {
+            .clearfix();
+            > .label {
+                .box-sizing();
+                float: left;
+                margin: 0;
+                padding-right: 10px;
+                padding-top: 7px;
+                text-align: right;
+                width: 40%;
+            }
+            > .control {
+                float: left;
+                margin: 0;
+                width: 60%;
+            }
+        }
+        .actions {
+            text-align: right;
+            .action.login {
+                &:extend(.primary.action all);
+            }
+            .secondary {
+                margin-top: 0.8em;
+            }
+        }
+    }
+}
+
+// #Loader
+//
+//  ```html
+//  <div class="loader"></div>
+//  ```
+//
+
+.loader {
+    background: url("@{baseDir}/images/loader.gif") no-repeat 50% 50%;
+    .size(20px);
+}
+
+//  #Button with loader
+//
+//  ```html
+//  <button class="action mySecondaryButton loading">Loading</button>
+//  ```
+//
+
+.action.mySecondaryButton {
+    &:extend(.secondary.action all);
+    &.loading {
+        padding-right: 30px;
+        position: relative;
+        &:after {
+            background: url("@{baseDir}/images/loader.gif") no-repeat 50% 50%;
+            .size(16px);
+            content: "";
+            margin: -8px 0 0;
+            position: absolute;
+            right: 7px;
+            top: 50%;
+        }
+    }
+}
+
+//  #Text block under loader
+//
+//  ```html
+//  <div class="textUnderLoader loading">
+//      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sed lobortis magna, quis tincidunt elit. Donec molestie scelerisque ligula, ut eleifend nisl laoreet nec. Vivamus dapibus urna id risus porttitor cursus.</p>
+//      <p>Etiam lorem leo, accumsan quis est sit amet, tempus pellentesque ante. Donec rutrum convallis lacus, ac iaculis nulla scelerisque a. Pellentesque malesuada, mi eu condimentum volutpat, mi turpis congue sapien, et ornare nunc nunc vitae nibh. Duis scelerisque purus a sapien ultrices tempor. Sed nec blandit mauris, vel volutpat dolor.</p>
+//      <p>Vestibulum viverra tempus mi a accumsan. Nunc congue quis leo sed scelerisque. Fusce scelerisque magna nulla, sed malesuada nunc congue vel. Donec placerat malesuada bibendum. Nam bibendum nunc at neque consequat placerat. Aenean eu rutrum sapien. Vivamus vel mi urna. Suspendisse sit amet elit nunc.</p>
+//  </div>
+//  ```
+//
+
+.textUnderLoader {
+    background: @primary1;
+    border: 1px solid @primary3;
+    padding: 10px 20px;
+    &.loading {
+        position: relative;
+        &:before {
+            background: @primary7;
+            opacity: 0.7;
+            content: "";
+            position: absolute;
+            top: 0;
+            left: 0;
+            right: 0;
+            bottom: 0;
+        }
+        &:after {
+            background: url("@{baseDir}/images/loader.gif") no-repeat 50% 50%;
+            .size(16px);
+            content: "";
+            margin: -8px 0 0 -8px;
+            position: absolute;
+            left: 50%;
+            top: 50%;
+        }
+    }
+}
+
+//  #Mage Checkout
+//
+//  #Checkout address form
+//  The checkout address form has specific logical fields grouping. Here styles are provided to separate the logical groups. The code is the same, it differs only with styles.
+//
+//  ```html
+//    <div class="opc wrapper">
+//        <form data-hasrequired="* Required Fields" class="form billing">
+//            <div class="field addresses">
+//                <label for="billing-address-select" class="label"><span>Select a billing address from your address book or enter a new address.</span></label>
+//                <div class="control">
+//                    <select class="address-select" name="billing_address_id">
+//                        <option value="">New Address</option>
+//                    </select>
+//                </div>
+//            </div>
+//            <fieldset class="fieldset address">
+//                <div class="field name-firstname required">
+//                    <label for="billing:firstname" class="label"><span>First Name</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[firstname]">
+//                    </div>
+//                </div>
+//                <div class="field name-lastname required">
+//                    <label for="billing:lastname" class="label"><span>Last Name</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[lastname]">
+//                    </div>
+//                </div>
+//                <div class="field company">
+//                    <label for="billing:company" class="label"><span>Company</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[company]">
+//                    </div>
+//                </div>
+//                <div class="field street required">
+//                    <label for="billing:street1" class="label"><span>Address</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[street][]">
+//                        <div class="nested">
+//                            <div class="field additional no-label">
+//                                <div class="control">
+//                                    <input type="text" class="input-text " value="" name="billing[street][]">
+//                                </div>
+//                            </div>
+//                        </div>
+//                    </div>
+//                </div>
+//                <div class="field city required">
+//                    <label for="billing:city" class="label"><span>City</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[city]">
+//                    </div>
+//                </div>
+//                <div class="field region required">
+//                    <label for="billing:region_id" class="label"><span>State/Province</span></label>
+//                    <div class="control">
+//                        <select name="billing[region_id]" defaultvalue="43">
+//                            <option value="">Please select region, state or province</option>
+//                            <option title="Alabama" value="1">Alabama</option>
+//                            <option title="Alaska" value="2">Alaska</option>
+//                            <option title="Arizona" value="4">Arizona</option>
+//                        </select>
+//                    </div>
+//                </div>
+//                <div class="field zip required">
+//                    <label for="billing:postcode" class="label"><span>Zip/Postal Code</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[postcode]">
+//                    </div>
+//                </div>
+//                <div class="field country required">
+//                    <label for="billing:country_id" class="label"><span>Country</span></label>
+//                    <div class="control">
+//                        <select class="validate-select" name="billing[country_id]">
+//                            <option value=""></option>
+//                            <option value="GB">United Kingdom</option>
+//                            <option value="US">United States</option>
+//                        </select>
+//                    </div>
+//                </div>
+//                <div class="field telephone required">
+//                    <label for="billing:telephone" class="label"><span>Telephone</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[telephone]">
+//                    </div>
+//                </div>
+//                <div class="field fax">
+//                    <label for="billing:fax" class="label"><span>Fax</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[fax]">
+//                    </div>
+//                </div>
+//                <div class="field save choice">
+//                    <input type="checkbox" class="checkbox" value="1" name="billing[save_in_address_book]">
+//                    <label for="billing:save_in_address_book" class="label"><span>Save in address book</span></label>
+//                </div>
+//            </fieldset>
+//            <div class="field choice">
+//                <input type="radio" class="radio" checked="checked" value="1" name="billing[use_for_shipping]">
+//                <label for="billing:use_for_shipping_yes" class="label"><span>Ship to this address</span></label>
+//            </div>
+//            <div class="field choice">
+//                <input type="radio" class="radio" value="0" name="billing[use_for_shipping]">
+//                <label for="billing:use_for_shipping_no" class="label"><span>Ship to different address</span></label>
+//            </div>
+//            <div id="billing-buttons-container" class="actions buttons-set form-buttons btn-only">
+//                <div class="primary">
+//                    <button class="button action continue" type="button"><span>Continue</span></button>
+//                </div>
+//            </div>
+//        </form>
+//    </div>
+//  ```
+//
+
+.opc {
+    .fieldset {
+        margin: 20px 0;
+        .formCols();
+    }
+    .field {
+        margin-bottom: 10px;
+    }
+    .field.fullname + .field.company,
+    .field.name-lastname + .field.company,
+    .field.country,
+    .field.taxvat {
+        margin: 0 40% 30px 0;
+    }
+    .actions .primary .action {
+        &:extend(.primary.action all);
+    }
+    .form {
+        &:extend(.hasRequired all);
+    }
+}
+
+//  #Payment method credit card form
+//  This form differs from the standard layout by its code and by design. Here labels are in the same line as inputs. It is necessary to replace the code by the new one.
+//
+//  ```html
+//    <ul class="form-list">
+//        <li>
+//            <label for="ccsave_cc_type" class="required"><em>*</em>Credit Card Type</label>
+//            <div class="input-box">
+//                <select id="ccsave_cc_type" name="payment[cc_type]">
+//                    <option value="">--Please Select--</option>
+//                    <option value="AE">American Express</option>
+//                    <option value="VI">Visa</option>
+//                    <option value="MC">MasterCard</option>
+//                    <option value="DI">Discover</option>
+//                </select>
+//            </div>
+//        </li>
+//        <li>
+//            <label for="ccsave_cc_number" class="required"><em>*</em>Credit Card Number</label>
+//            <div class="input-box">
+//                <input type="text" name="payment[cc_number]" class="input-text" value="">
+//            </div>
+//        </li>
+//        <li>
+//            <label for="ccsave_expiration" class="required"><em>*</em>Expiration Date</label>
+//            <div class="input-box">
+//                <div class="v-fix">
+//                    <select name="month" class="month">
+//                        <option value="" selected="selected">Month</option>
+//                        <option value="1">01 - January</option>
+//                        <option value="2">02 - February</option>
+//                        <option value="3">03 - March</option>
+//                        <option value="4">04 - April</option>
+//                        <option value="5">05 - May</option>
+//                        <option value="6">06 - June</option>
+//                        <option value="7">07 - July</option>
+//                        <option value="8">08 - August</option>
+//                        <option value="9">09 - September</option>
+//                        <option value="10">10 - October</option>
+//                        <option value="11">11 - November</option>
+//                        <option value="12">12 - December</option>
+//                    </select>
+//                </div>
+//                <div class="v-fix">
+//                    <select name="year" class="year">
+//                        <option value="" selected="selected">Year</option>
+//                        <option value="2013">2013</option>
+//                        <option value="2014">2014</option>
+//                        <option value="2015">2015</option>
+//                        <option value="2016">2016</option>
+//                        <option value="2017">2017</option>
+//                        <option value="2018">2018</option>
+//                        <option value="2019">2019</option>
+//                        <option value="2020">2020</option>
+//                        <option value="2021">2021</option>
+//                        <option value="2022">2022</option>
+//                        <option value="2023">2023</option>
+//                    </select>
+//                </div>
+//            </div>
+//        </li>
+//    </ul>
+//  ```
+//
+
+.form-list {
+    .resetList();
+    .required {
+        em {
+            display: none;
+        }
+        &:first-child:after {
+            color: @requiredField;
+            content: '*';
+        }
+    }
+    > li {
+        .clearfix();
+        margin: 0 0 10px;
+        .field {
+            .clearfix();
+            margin: 10px 0 0;
+            &:first-child {
+                margin: 0;
+            }
+        }
+        > label,
+        .field > label {
+            .box-sizing();
+            clear: left;
+            float: left;
+            padding: 7px 10px 0 0;
+            text-align: right;
+            width: 30%;
+        }
+        .input-box {
+            float: left;
+            width: 70%;
+            > input,
+            > select,
+            > textarea {
+                width: 100%;
+            }
+            > .v-fix {
+                float: left;
+                margin: 0 10px 0 0;
+            }
+        }
+    }
+}
+
+//  #Shopping Cart
+//  #Shopping cart estimation settings
+//  The shopping card estimation settings design differs from standard form layout by the code and by the design. Here the code and the styles are provided.
+//
+//  ```html
+//    <div class="cart summary">
+//
+//        <div class="block shipping active">
+//            <div class="title active"><strong>Estimate Shipping and Tax</strong></div>
+//            <div class="content">
+//            <form>
+//                <fieldset class="fieldset estimate">
+//                    <p class="field note">Enter your destination to get a shipping estimate.</p>
+//                    <div class="field country">
+//                        <label for="country" class="label"><span>Country</span></label>
+//                        <div class="control">
+//                            <select name="country_id" id="country" class="validate-select" title="Country">
+//                                <option value=""></option>
+//                                <option value="GB">United Kingdom</option>
+//                                <option value="US">United States</option>
+//                            </select>
+//                        </div>
+//                    </div>
+//                    <div class="field region">
+//                        <label for="region_id" class="label"><span>State/Province</span></label>
+//                        <div class="control">
+//                            <select name="region_id" title="State/Province" class="required-entry" defaultvalue="43">
+//                                <option value=""></option>
+//                                <option value="1" title="Alabama">Alabama</option>
+//                                <option value="2" title="Alaska">Alaska</option>
+//                                <option value="4" title="Arizona">Arizona</option>
+//                            </select>
+//                        </div>
+//                    </div>
+//                    <div class="field city">
+//                        <label for="city" class="label"><span>City</span></label>
+//                        <div class="control">
+//                            <input class="input-text" type="text" name="estimate_city" value="">
+//                        </div>
+//                    </div>
+//                    <div class="field postcode">
+//                        <label for="postcode" class="label"><span>Zip/Postal Code</span></label>
+//                        <div class="control">
+//                            <input class="input-text validate-postcode required-entry" type="text" name="estimate_postcode" value="">
+//                        </div>
+//                    </div>
+//                    <div class="actions">
+//                        <button type="submit" class="action quote"><span>Get a Quote</span></button>
+//                    </div>
+//                </fieldset>
+//            </form>
+//            <form>
+//                <fieldset class="fieldset rates">
+//                    <dl class="items methods">
+//                        <dt class="item title"><span>Flat Rate</span></dt>
+//                        <dd class="item options">
+//                            <div class="field choice item">
+//                                <input type="radio" class="radio" value="flatrate_flatrate" name="estimate_method">
+//                                <label for="s_method_flatrate_flatrate" class="label">
+//                                    <span>Fixed</span>
+//                                    <span class="price">$15.00</span>
+//                                </label>
+//                            </div>
+//                        </dd>
+//                    </dl>
+//                    <div class="actions">
+//                        <button value="Update Total" name="do" class="action update" type="submit"><span>Update Total</span></button>
+//                    </div>
+//                </fieldset>
+//            </form>
+//        </div>
+//
+//        <div class="block discount active">
+//            <div class="title active"><strong>Discount Codes</strong></div>
+//            <div class="content">
+//                <form>
+//                    <fieldset class="fieldset coupon">
+//                        <div class="field">
+//                            <label class="label" for="coupon_code"><span>Enter your coupon code if you have one.</span></label>
+//
+//                            <div class="control">
+//                                <input type="text" value="" name="coupon_code" class="input-text">
+//                            </div>
+//                        </div>
+//                        <div class="actions">
+//                            <div class="primary">
+//                                <button value="Apply Coupon" type="button" class="action apply">
+//                                    <span>Apply Coupon</span>
+//                                </button>
+//                            </div>
+//                        </div>
+//                    </fieldset>
+//                </form>
+//                </div>
+//            </div>
+//        </div>
+//
+//
+//    </div>
+//  ```
+//
+
+.cart.summary {
+    .fieldset {
+        border: 0;
+        font-size: @baseFontSizeMiddle;
+        padding: 0;
+        margin: 0;
+        .field {
+            margin: 0 0 10px;
+            &:not(.choice) {
+                .label {
+                    padding: 0 0 5px;
+                    display: block;
+                }
+            }
+        }
+        .action:not(.check) {
+            &:extend(.primary.action all);
+            padding: 6px 11px 5px;
+            span {
+                font-size: @baseFontSizeMiddle;
+                line-height: @baseFontSizeMiddle;
+            }
+        }
+        &.coupon,
+        &.estimate {
+            .actions {
+                display: table-cell;
+                width: 1%;
+                white-space: nowrap;
+                vertical-align: bottom;
+            }
+        }
+        &.coupon .field,
+        .field.postcode {
+            display: table-cell;
+            padding-right: 10px;
+            vertical-align: bottom;
+            width: 99%;
+            div.mage-error {
+                position: absolute;
+            }
+        }
+        &.rates {
+            padding-top: 25px;
+            .actions {
+                text-align: right;
+            }
+        }
+    }
+    .title {
+        cursor: pointer;
+        line-height: @baseFontSizeBigger;
+        margin: 0;
+        padding: 10px 5px;
+    }
+    .content {
+        padding: 15px 15px 20px;
+    }
+    input[type="text"] {
+        padding: 0 5px;
+        font-size: 12px;
+        height: 30px;
+    }
+    select {
+        padding: 5px 5px 4px;
+        font-size: 12px;
+    }
+    .items.methods {
+        dt {
+            font-weight: @baseFontWeightBolder;
+        }
+        dd {
+            margin: 10px 10px 25px;
+        }
+    }
+}
+
+//  #Popup
+//  ```html
+//        <div class="popup">
+//            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sed lobortis magna, quis tincidunt elit. Donec molestie scelerisque ligula, ut eleifend nisl laoreet nec. Vivamus dapibus urna id risus porttitor cursus.</p>
+//            <p>Etiam lorem leo, accumsan quis est sit amet, tempus pellentesque ante. Donec rutrum convallis lacus, ac iaculis nulla scelerisque a. Pellentesque malesuada, mi eu condimentum volutpat, mi turpis congue sapien, et ornare nunc nunc vitae nibh. Duis scelerisque purus a sapien ultrices tempor. Sed nec blandit mauris, vel volutpat dolor.</p>
+//            <p>Vestibulum viverra tempus mi a accumsan. Nunc congue quis leo sed scelerisque. Fusce scelerisque magna nulla, sed malesuada nunc congue vel. Donec placerat malesuada bibendum. Nam bibendum nunc at neque consequat placerat. Aenean eu rutrum sapien. Vivamus vel mi urna. Suspendisse sit amet elit nunc.</p>
+//            <span data-dismiss="popup" class="close"></span>
+//        </div>
+//        <br>
+//        <br>
+//        <div class="popup system">
+//            <header class="header">
+//                Popup header
+//            </header>
+//            <div class="content">
+//                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sed lobortis magna, quis tincidunt elit. Donec molestie scelerisque ligula, ut eleifend nisl laoreet nec. Vivamus dapibus urna id risus porttitor cursus.</p>
+//                <p>Etiam lorem leo, accumsan quis est sit amet, tempus pellentesque ante. Donec rutrum convallis lacus, ac iaculis nulla scelerisque a. Pellentesque malesuada, mi eu condimentum volutpat, mi turpis congue sapien, et ornare nunc nunc vitae nibh. Duis scelerisque purus a sapien ultrices tempor. Sed nec blandit mauris, vel volutpat dolor.</p>
+//                <p>Vestibulum viverra tempus mi a accumsan. Nunc congue quis leo sed scelerisque. Fusce scelerisque magna nulla, sed malesuada nunc congue vel. Donec placerat malesuada bibendum. Nam bibendum nunc at neque consequat placerat. Aenean eu rutrum sapien. Vivamus vel mi urna. Suspendisse sit amet elit nunc.</p>
+//            </div>
+//            <footer class="footer">
+//                <div class="actions">
+//                    <button type="button" class="action submit">OK</button>
+//                    <button type="button" class="action cancel">Cancel</button>
+//                </div>
+//            </footer>
+//            <span data-dismiss="popup" class="close"></span>
+//        </div>
+//    </div>
+//
+//    <div class="wrapper">
+//        <div class="fade">
+//            <div class="popup">
+//                <header class="header">
+//                    Popup header
+//                </header>
+//                <div class="content">
+//                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sed lobortis magna, quis tincidunt elit. Donec molestie scelerisque ligula, ut eleifend nisl laoreet nec. Vivamus dapibus urna id risus porttitor cursus.</p>
+//                    <p>Etiam lorem leo, accumsan quis est sit amet, tempus pellentesque ante. Donec rutrum convallis lacus, ac iaculis nulla scelerisque a. Pellentesque malesuada, mi eu condimentum volutpat, mi turpis congue sapien, et ornare nunc nunc vitae nibh. Duis scelerisque purus a sapien ultrices tempor. Sed nec blandit mauris, vel volutpat dolor.</p>
+//                    <p>Vestibulum viverra tempus mi a accumsan. Nunc congue quis leo sed scelerisque. Fusce scelerisque magna nulla, sed malesuada nunc congue vel. Donec placerat malesuada bibendum. Nam bibendum nunc at neque consequat placerat. Aenean eu rutrum sapien. Vivamus vel mi urna. Suspendisse sit amet elit nunc.</p>
+//                </div>
+//                <footer class="footer">
+//                    Some footer text
+//                    <div class="actions">
+//                        <button type="button" class="action submit">OK</button>
+//                        <button type="button" class="action cancel">Cancel</button>
+//                    </div>
+//                </footer>
+//                <span class="close" data-dismiss="popup"></span>
+//            </div>
+//        </div>
+//    </div>
+//  ```
+//
+
+.popup {
+    background: @primary2;
+    border: 1px solid @primary3;
+    display: inline-block;
+    padding: 20px;
+    position: relative;
+    .close {
+        color: @primary4;
+        cursor: pointer;
+        position: absolute;
+        right: 5px;
+        top: 3px;
+        .iconBefore(@icon-close-thick, 12px, 0, "icons");
+        &:hover {
+            color: @primary6;
+        }
+    }
+    .fade & {
+        background: @pageMainBg;
+        box-shadow: 0 0 10px 0 @primary4;
+    }
+    > .header,
+    > .content {
+        margin: 0 0 5px;
+    }
+    > .header {
+        font-size: @baseFontSizeBigger;
+        font-weight: @baseFontWeightBolder;
+    }
+    .actions {
+        margin: 15px 0 0;
+        .action.submit {
+            &:extend(.primary.action all);
+            margin-right: 10px;
+        }
+        .action.cancel {
+            &:extend(.secondary.action all);
+        }
+    }
+    &.system {
+        background: @pageMainBg;
+        padding: 0;
+        > .header {
+            background: @primary2;
+            border-bottom: 1px solid @primary3;
+            border-radius: 5px 5px 0 0;
+            cursor: move;
+            padding: 10px 20px;
+        }
+        > .content {
+            padding: 20px;
+        }
+        > .footer {
+            border-top: 1px solid @primary3;
+            padding: 10px 20px;
+        }
+        .actions {
+            margin: 0;
+        }
+        .close {
+            right: 8px;
+            top: 8px;
+        }
+    }
+}
+
+.fade {
+    background-color: @primeBlackOpacity;
+    position: relative;
+    left: 0;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    padding: 10%;
+}
+
+
+//  #CSS tooltip
+//
+//  ####Accepted parameters
+//  **.tooltipSimple(*[background]*, *[color]*, *[fontSize]*, *[margin]*, *[padding]*, *[maxWidth]*, *[cursor]*);**
+//
+//  Tooltip can be added to any element
+//  ```html
+//  Projects in Sublime Text capture the full contents of the workspace,
+//  <span class="tooltip">
+//  <strong>Your content</strong>
+//  <div class="tooltip-content">Tooltip content</div>
+//  </span>
+//  including modified and unsaved files.
+//  You can switch between projects in a manner similar to Goto Anything,
+//  and the switch is instant, with no save prompts - all your modifications will be restored next time the project is opened.
+//  ```
+//
+
+//  #Radiobutton tooltip
+//
+//  ```html
+//  <div class="field choice tooltip">
+//  <input type="radio" class="radio" checked="" value="1" name="inputRadio">
+//  <label for="inputRadio" class="label"><span>Radiobutton choice</span></label>
+//  <div class="tooltip-content">Tooltip content</div>
+//  </div>
+//  ```
+
+.tooltip {
+    .tooltipCSS(rgba(0,0,0,.5), #fff, 16px, 10px 0 0, 8px, 500px, help);
+}
+
+//  #JS tooltip:
+//
+//  ####Accepted parameters
+//  **.tooltipJS(*[background]*, *[color]*, *[fontSize]*, *[padding]*, *[maxWidth]*);**
+//
+//  ####Add attributes to the tag:
+//
+//  **tooltip**="text tooltip"
+//
+//  **tooltip-position**="n, nw, ne, w, e, s, sw, se"
+//
+//  ```html
+//  <div class="example-tooltips">
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='nw'</strong>" tooltip-position="nw">
+//      <span>&#8598;</span>
+//    </button>
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='n'</strong>" tooltip-position="n">
+//      <span>&#8593;</span>
+//    </button>
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='ne'</strong>" tooltip-position="ne">
+//      <span>&#8599;</span>
+//    </button>
+//    <div class="separator"></div>
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='w'</strong>" tooltip-position="w">
+//      <span>&#8592;</span>
+//    </button>
+//    <button tooltip="Default tooltip content from <strong class='example-tooltip-elem'>'tooltip'</strong> attribute">
+//      <span>Default</span>
+//    </button>
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='e'</strong>" tooltip-position="e">
+//      <span>&#8594;</span>
+//    </button>
+//    <div class="separator"></div>
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='sw'</strong>" tooltip-position="sw">
+//      <span>&#8601;</span>
+//    </button>
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='s'</strong>" tooltip-position="s">
+//      <span>&#8595;</span>
+//    </button>
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='se'</strong>" tooltip-position="se">
+//      <span>&#8600;</span>
+//    </button>
+//  <div>
+//  ```
+
+.tipsy {
+    .tooltipJS(rgba(0,0,0,.9), #fff);
+}
+
+//  #Tooltip mixins:
+.tooltipCSS(@background: @primeBlackOpacity, @color: @primary7, @fontSize: 16px, @margin: 10px 0 0, @padding: 4px 8px, @maxWidth: 200px, @cursor: help) {
+    display: inline-block;
+    vertical-align: middle;
+    line-height: 1.1;
+    cursor: @cursor;
+    .tooltip-content {
+        display: none;
+        position: absolute;
+        max-width: @maxWidth;
+        margin: @margin;
+        padding: @padding;
+        background: @background;
+        color: @color;
+        border-radius: 3px;
+        z-index: 20;
+        &:before {
+            content: '';
+            position: absolute;
+            width: 0;
+            height: 0;
+            top: -5px;
+            left: 20px;
+            border-left: 5px solid transparent;
+            border-right: 5px solid transparent;
+            border-bottom: 5px solid @background;
+        }
+    }
+    &:hover > .tooltip-content {
+        display: block;
+    }
+}
+
+.tooltipJS(@background: @primeBlackOpacity, @color: @primary7, @fontSize: 16px, @padding: 5px, @maxWidth: 200px) {
+    position: absolute;
+    left: 0;
+    top: 0;
+    display: none;
+    padding: @padding;
+    font-size: @fontSize;
+    z-index: 9999;
+    .tipsy-inner {
+        padding: 5px 8px 4px;
+        background-color: @background;
+        color: @color;
+        max-width: @maxWidth;
+        border-radius: 3px;
+    }
+    .tipsy-arrow {
+        position: absolute;
+        width: 0;
+        height: 0;
+        border-left: 5px solid transparent;
+        border-right: 5px solid transparent;
+        border-bottom: 5px solid @background;
+    }
+    &.tipsy-s .tipsy-arrow {
+        top: 0;
+        left: 50%;
+        margin-left: -4px;
+    }
+    &.tipsy-se .tipsy-arrow {
+        top: 0;
+        left: 10px;
+    }
+    &.tipsy-sw .tipsy-arrow {
+        top: 0;
+        right: 10px;
+    }
+    &.tipsy-n .tipsy-arrow,
+    &.tipsy-ne .tipsy-arrow,
+    &.tipsy-nw .tipsy-arrow {
+        bottom: 0;
+        border-left: 5px solid transparent;
+        border-right: 5px solid transparent;
+        border-top: 5px solid @background;
+        border-bottom: none;
+    }
+    &.tipsy-n .tipsy-arrow {
+        left: 50%;
+        margin-left: -4px;
+    }
+    &.tipsy-ne .tipsy-arrow {
+        left: 10px;
+    }
+    &.tipsy-nw .tipsy-arrow {
+        right: 10px;
+    }
+    &.tipsy-w .tipsy-arrow,
+    &.tipsy-e .tipsy-arrow {
+        top: 50%;
+        margin-top: -4px;
+        border-top: 5px solid transparent;
+        border-bottom: 5px solid transparent;
+    }
+    &.tipsy-w .tipsy-arrow {
+        right: 0;
+        border-right: none;
+        border-left: 5px solid @background;
+    }
+    &.tipsy-e .tipsy-arrow {
+        left: 0;
+        border-right: 5px solid @background;
+        border-left: none;
+    }
+}
+
+
+.example-tooltips {/*presentation styles*/
+    padding: 70px;
+    text-align: center;
+}
+
+.example-tooltips button {/*presentation styles*/
+    width: 70px;
+    height: 70px;
+    font-size: 18px;
+    margin: 10px 5px;
+}
diff --git a/app/design/frontend/magento_plushe/less/vars.less b/app/design/frontend/magento_plushe/less/vars.less
new file mode 100644
index 00000000000..6d3b1a25522
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/vars.less
@@ -0,0 +1,131 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+// Primary colors
+@primary1: #f8f8f8;
+@primary2: #e5e5e5;
+@primary3: #c2c2c2;
+@primary4: #999;
+@primary5: #837d75;
+@primary6: #675f55;
+@primary7: #fff;
+@primeBlack: #7f7f7f;
+@primeBlackOpacity: rgba(0, 0, 0, 0.5);
+@commonBg: #fff;
+
+// Secondary colors
+@secondary1: #da370a;
+@secondary2: #55c2e6;
+
+// Buttons
+@primaryActionBg: @secondary1;
+@primaryActionBgH: darken(@secondary1, 10%);
+@primaryActionColor: #fff;
+
+@secondaryActionBg: @primary3;
+@secondaryActionBgH: darken(@primary3, 10%);
+@secondaryActionColor: #fff;
+
+@actionFont: 600 14px/16px;
+
+// Layout
+@LayoutMaxWidth: 1025px;
+@LayoutMinWidth: 1025px;
+
+// Links
+@link: #332e29;
+@linkHover: @secondary1;
+
+// Base font
+@baseFont: "sourcesanspro";
+@baseFontSizeBigger: 16px;
+@base-font-size: 14px; // re-declarate base font size for clearLess
+@baseFontSize: 14px;
+@baseFontSizeMiddle: 12px;
+@baseFontSizeSmall: 10px;
+@baseFontWeight: 400;
+@baseFontWeightLighter: 200;
+@baseFontWeightBolder: 700;
+@baseLineHeight: 1.33;
+@baseColor: @primary6;
+
+@pageMainBg: #fff;
+@headerBg: #d6d7d2;
+@headerBgImage: url("@{baseDir}/images/header-bg.jpg");
+@pageBottomBg: @pageMainBg;
+@footerBg: @pageMainBg;
+@textColor: @primary6;
+@linksColor: @primary6;
+@gutter-width: 0;
+@using-ieclasses: false;
+
+// Headings:
+// H1
+@h1font: 200 30px/1.2 @baseFont;
+@h1color: @primary6;
+
+// H2
+@h2font: 400 20px/1.2 @baseFont;
+@h2color: @primary6;
+
+// H3
+@h3font: 600 18px/1.2 @baseFont;
+@h3color: @primary6;
+
+// H4
+@h4font: 600 16px/1.2 @baseFont;
+@h4color: @primary6;
+
+// H5
+@h5font: 600 14px/1.2 @baseFont;
+@h5color: @primary6;
+
+// H6
+@h6font: 600 12px/1.2 @baseFont;
+@h6color: @primary6;
+
+// Forms
+@legendFontSize: 20px;
+@fieldBg: #fff;
+
+// Required fields and validation
+@requiredField:   #da370a;
+@nonValidHilight: #da370a;
+@validHilight:    #42b649;
+
+// Messages colors
+@messageIconColor: #fff;
+// Success message
+@messageSuccessColor:  #1b6720;
+@messageSuccessBg:     #d3edd5;
+@messageSuccessIconBg: #42b649;
+// Error message
+@messageErrorColor:  #911c00;
+@messageErrorBg:     #ffd9d0;
+@messageErrorIconBg: #ff3200;
+// Notice message, Info message
+@messageNoticeColor:  #926e00;
+@messageNoticeBg:     #ffedb8;
+@messageNoticeIconBg: #ffc000;
diff --git a/app/design/frontend/magento_plushe/media/preview.jpg b/app/design/frontend/magento_plushe/media/preview.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c15840788eda96da49e92c32fe285a3130126ea0
GIT binary patch
literal 113913
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

literal 0
HcmV?d00001

diff --git a/app/design/frontend/magento_plushe/theme.xml b/app/design/frontend/magento_plushe/theme.xml
new file mode 100644
index 00000000000..a1b34af9cc9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/theme.xml
@@ -0,0 +1,33 @@
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Magento
+ * @package     Design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<theme>
+    <title>Magento Plushe</title>
+    <version>1.0.0.0</version>
+    <media>
+        <preview_image>media/preview.jpg</preview_image>
+    </media>
+</theme>
diff --git a/app/design/frontend/magento_plushe/view.xml b/app/design/frontend/magento_plushe/view.xml
new file mode 100644
index 00000000000..bdad3bdb43e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/view.xml
@@ -0,0 +1,298 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Magento
+ * @package     Design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<view>
+    <vars module="Magento_Catalog">
+        <var name="product_small_image_sidebar_size">100</var>  <!-- Override for small product image -->
+        <var name="product_base_image_size">275</var>           <!-- Override for base product image -->
+        <var name="product_base_image_icon_size">48</var>       <!-- Base product image icon size -->
+
+        <var name="product_list_image_size">166</var>           <!-- New Product image size used in product list -->
+        <var name="product_zoom_image_size">370</var>           <!-- New Product image size used for zooming -->
+
+        <var name="product_image_white_borders">0</var>
+
+        <var name="review_page_product_image:type">small_image</var>
+        <var name="review_page_product_image:width">285</var>
+        <var name="review_page_product_image:ratio">1</var>
+        <var name="review_page_product_image:height">285</var>
+
+        <var name="customer_account_product_review_page:type">image</var>
+        <var name="customer_account_product_review_page:width">285</var>
+        <var name="customer_account_product_review_page:ratio">1</var>
+        <var name="customer_account_product_review_page:height">285</var>
+
+        <var name="category_page_list:type">small_image</var>
+        <var name="category_page_list:width">180</var>
+        <var name="category_page_list:ratio">1</var>
+        <var name="category_page_list:height">230</var>
+
+        <var name="category_page_grid:type">small_image</var>
+        <var name="category_page_grid:width">180</var>
+        <var name="category_page_grid:ratio">1</var>
+        <var name="category_page_grid:height">230</var>
+
+        <var name="product_comparison_list:type">small_image</var>
+        <var name="product_comparison_list:width">140</var>
+        <var name="product_comparison_list:ratio">1</var>
+        <var name="product_comparison_list:height">140</var>
+
+        <var name="related_products_list:type">small_image</var>
+        <var name="related_products_list:width">140</var>
+        <var name="related_products_list:ratio">1</var>
+        <var name="related_products_list:height">140</var>
+
+        <var name="upsell_products_list:type">small_image</var>
+        <var name="upsell_products_list:width">140</var>
+        <var name="upsell_products_list:ratio">1</var>
+        <var name="upsell_products_list:height">140</var>
+
+        <var name="product_page_main_image:type">image</var>
+        <var name="product_page_main_image:width">400</var>
+        <var name="product_page_main_image:ratio">1</var>
+        <var name="product_page_main_image:height">495</var>
+
+        <var name="product_page_main_image_default:type">image</var>
+        <var name="product_page_main_image_default:width">400</var>
+        <var name="product_page_main_image_default:ratio">1</var>
+        <var name="product_page_main_image_default:height">495</var>
+
+        <var name="product_page_more_views:type">thumbnail</var>
+        <var name="product_page_more_views:width">90</var>
+        <var name="product_page_more_views:ratio">1</var>
+        <var name="product_page_more_views:height">90</var>
+
+        <var name="side_column_widget_product_thumbnail:type">thumbnail</var>
+        <var name="side_column_widget_product_thumbnail:width">50</var>
+        <var name="side_column_widget_product_thumbnail:ratio">1</var>
+        <var name="side_column_widget_product_thumbnail:height">50</var>
+
+        <var name="new_products_content_widget_list:type">small_image</var>
+        <var name="new_products_content_widget_list:width">166</var>
+        <var name="new_products_content_widget_list:ratio">1</var>
+        <var name="new_products_content_widget_list:height">166</var>
+
+        <var name="new_products_content_widget_grid:type">small_image</var>
+        <var name="new_products_content_widget_grid:width">166</var>
+        <var name="new_products_content_widget_grid:ratio">1</var>
+        <var name="new_products_content_widget_grid:height">166</var>
+
+        <var name="recently_compared_products_images_names_widget:type">thumbnail</var>
+        <var name="recently_compared_products_images_names_widget:width">50</var>
+        <var name="recently_compared_products_images_names_widget:ratio">1</var>
+        <var name="recently_compared_products_images_names_widget:height">50</var>
+
+        <var name="recently_viewed_products_images_names_widget:type">small_image</var>
+        <var name="recently_viewed_products_images_names_widget:width">50</var>
+        <var name="recently_viewed_products_images_names_widget:ratio">1</var>
+        <var name="recently_viewed_products_images_names_widget:height">50</var>
+
+        <var name="recently_compared_products_images_only_widget:type">thumbnail</var>
+        <var name="recently_compared_products_images_only_widget:width">76</var>
+        <var name="recently_compared_products_images_only_widget:ratio">1</var>
+        <var name="recently_compared_products_images_only_widget:height">76</var>
+
+        <var name="recently_viewed_products_images_only_widget:type">small_image</var>
+        <var name="recently_viewed_products_images_only_widget:width">76</var>
+        <var name="recently_viewed_products_images_only_widget:ratio">1</var>
+        <var name="recently_viewed_products_images_only_widget:height">76</var>
+
+        <var name="bundled_product_customization_page:type">thumbnail</var>
+        <var name="bundled_product_customization_page:width">140</var>
+        <var name="bundled_product_customization_page:ratio">1</var>
+        <var name="bundled_product_customization_page:height">140</var>
+
+        <var name="recently_compared_products_grid_content_widget:type">small_image</var>
+        <var name="recently_compared_products_grid_content_widget:width">135</var>
+        <var name="recently_compared_products_grid_content_widget:ratio">1</var>
+        <var name="recently_compared_products_grid_content_widget:height">135</var>
+
+        <var name="recently_compared_products_list_content_widget:type">small_image</var>
+        <var name="recently_compared_products_list_content_widget:width">166</var>
+        <var name="recently_compared_products_list_content_widget:ratio">1</var>
+        <var name="recently_compared_products_list_content_widget:height">166</var>
+
+        <var name="recently_viewed_products_grid_content_widget:type">small_image</var>
+        <var name="recently_viewed_products_grid_content_widget:width">135</var>
+        <var name="recently_viewed_products_grid_content_widget:ratio">1</var>
+        <var name="recently_viewed_products_grid_content_widget:height">135</var>
+
+        <var name="recently_viewed_products_list_content_widget:type">small_image</var>
+        <var name="recently_viewed_products_list_content_widget:width">166</var>
+        <var name="recently_viewed_products_list_content_widget:ratio">1</var>
+        <var name="recently_viewed_products_list_content_widget:height">166</var>
+
+        <var name="customer_shared_wishlist:type">small_image</var>
+        <var name="customer_shared_wishlist:width">113</var>
+        <var name="customer_shared_wishlist:ratio">1</var>
+        <var name="customer_shared_wishlist:height">113</var>
+
+        <var name="wishlist_thumbnail:type">small_image</var>
+        <var name="wishlist_thumbnail:width">113</var>
+        <var name="wishlist_thumbnail:ratio">1</var>
+        <var name="wishlist_thumbnail:height">113</var>
+
+        <var name="wishlist_sidebar_block:type">thumbnail</var>
+        <var name="wishlist_sidebar_block:width">50</var>
+        <var name="wishlist_sidebar_block:ratio">1</var>
+        <var name="wishlist_sidebar_block:height">50</var>
+
+        <var name="shared_wishlist_email:type">small_image</var>
+        <var name="shared_wishlist_email:width">135</var>
+        <var name="shared_wishlist_email:ratio">1</var>
+        <var name="shared_wishlist_email:height">135</var>
+
+        <var name="customer_account_my_tags_tag_view:type">small_image</var>
+        <var name="customer_account_my_tags_tag_view:width">100</var>
+        <var name="customer_account_my_tags_tag_view:ratio">1</var>
+        <var name="customer_account_my_tags_tag_view:height">100</var>
+
+        <var name="cart_cross_sell_products:type">thumbnail</var>
+        <var name="cart_cross_sell_products:width">140</var>
+        <var name="cart_cross_sell_products:ratio">1</var>
+        <var name="cart_cross_sell_products:height">140</var>
+
+        <var name="gift_messages_checkout_thumbnail:type">thumbnail</var>
+        <var name="gift_messages_checkout_thumbnail:width">75</var>
+        <var name="gift_messages_checkout_thumbnail:ratio">1</var>
+        <var name="gift_messages_checkout_thumbnail:height">75</var>
+
+        <var name="gift_messages_checkout_small_image:type">small_image</var>
+        <var name="gift_messages_checkout_small_image:width">75</var>
+        <var name="gift_messages_checkout_small_image:ratio">1</var>
+        <var name="gift_messages_checkout_small_image:height">75</var>
+
+        <var name="mini_cart_product_thumbnail:type">thumbnail</var>
+        <var name="mini_cart_product_thumbnail:width">78</var>
+        <var name="mini_cart_product_thumbnail:ratio">1</var>
+        <var name="mini_cart_product_thumbnail:height">78</var>
+
+        <var name="new_products_images_only_widget:type">small_image</var>
+        <var name="new_products_images_only_widget:width">78</var>
+        <var name="new_products_images_only_widget:ratio">1</var>
+        <var name="new_products_images_only_widget:height">78</var>
+
+        <var name="cart_page_product_thumbnail:type">thumbnail</var>
+        <var name="cart_page_product_thumbnail:width">80</var>
+        <var name="cart_page_product_thumbnail:ratio">1</var>
+        <var name="cart_page_product_thumbnail:height">80</var>
+
+        <var name="product_stock_alert_email_product_image:type">small_image</var>
+        <var name="product_stock_alert_email_product_image:width">76</var>
+        <var name="product_stock_alert_email_product_image:ratio">1</var>
+        <var name="product_stock_alert_email_product_image:height">76</var>
+    </vars>
+    <vars module="Magento_Bundle">
+        <var name="product_summary_image_size">58</var>         <!-- New Product image size used for summary block-->
+    </vars>
+    <vars module="Magento_DesignEditor">
+        <var name="store-name:font-picker">"marvel"</var>
+        <var name="store-name:color-picker">#837d75</var>
+        <var name="store-name:logo-uploader"></var>
+        <var name="header-background:color-picker">#d6d7d2</var>
+        <var name="header-background:image-uploader">header-bg.jpg</var>
+        <var name="header-background:tile">repeat</var>
+
+        <var name="menu-background">#f8f8f8</var>
+        <var name="menu-stroke">#c2c2c2</var>
+        <var name="menu-links">#675f55</var>
+        <var name="menu-links-hover">#f47a1f</var>
+
+        <var name="header-links">#837d75</var>
+        <var name="header-links-hover">#675f55</var>
+        <var name="header-scroll-bar-background">#ffffff</var>
+        <var name="header-scroll-bar-handle">#e5e5e5</var>
+        <var name="search-field">#ffffff</var>
+        <var name="search-field-text">#675f55</var>
+        <var name="search-field-stroke">#c2c2c2</var>
+
+        <var name="page-background:color-picker">#ffffff</var>
+        <var name="page-background:image-uploader"></var>
+        <var name="page-background:tile">no-repeat</var>
+
+        <var name="form-background">#f8f8f8</var>
+        <var name="form-stroke">#c2c2c2</var>
+        <var name="form2-background">#e5e5e5</var>
+        <var name="form2-stroke">#c2c2c2</var>
+
+        <var name="form-field-stroke">#c2c2c2</var>
+        <var name="form-field-stroke-clicked">#999999</var>
+        <var name="image-stroke-keylines">#e5e5e5</var>
+        <var name="scroll-bar-background">#f8f8f8</var>
+        <var name="scroll-bar-handle">#c2c2c2</var>
+
+        <var name="radio-checkbox-icon">#675f55</var>
+        <var name="radio-checkbox-background">#e5e5e5</var>
+        <var name="radio-checkbox-stroke">#999999</var>
+
+        <var name="button-background">#f47a1f</var>
+        <var name="button-text">#ffffff</var>
+        <var name="button-hover">#ff953b</var>
+        <var name="icons">#c2c2c2</var>
+        <var name="icons-hover">#999999</var>
+        <var name="icons2">#837d75</var>
+
+        <var name="accents">#55c2e6</var>
+        <var name="size-swatches">#f8f8f8</var>
+        <var name="size-swatches-unavailable">#e5e5e5</var>
+        <var name="size-swatches-hover">#675f55</var>
+
+        <var name="tooltip-text">#675f55</var>
+        <var name="tooltip-box">#ffffff</var>
+        <var name="tooltip-stroke">#c2c2c2</var>
+        <var name="tooltip2-text">#ffffff</var>
+        <var name="tooltip2-box">#000000</var>
+        <var name="tooltip2-stroke">#c2c2c2</var>
+
+        <var name="error-box">#ff3200</var>
+        <var name="error-icon">#ffffff</var>
+        <var name="success-box">#d3edd5</var>
+        <var name="success-icon">#ffffff</var>
+        <var name="notice-box">#ffedb8</var>
+        <var name="notice-icon">#ffffff</var>
+
+        <var name="banner-text:font-picker">"marvel", Arial, sans-serif</var>
+        <var name="banner-text:color-picker">#675f55</var>
+        <var name="page-headings:font-picker">"sourcesanspro", Arial, sans-serif</var>
+        <var name="page-headings:color-picker">#675f55</var>
+        <var name="menu:font-picker">"sourcesanspro", Arial, sans-serif</var>
+        <var name="menu:color-picker">#675f55</var>
+
+        <var name="body-text:font-picker">"sourcesanspro", Arial, sans-serif</var>
+        <var name="body-text:color-picker">#675f55</var>
+
+        <var name="buttons:font-picker">"sourcesanspro", Arial, sans-serif</var>
+        <var name="buttons:color-picker">#ffffff</var>
+
+        <var name="text-links">#675f55</var>
+        <var name="text-links-hover">#f47a1f</var>
+        <var name="text-links-active">#f47a1f</var>
+        <var name="text-links-product">#675f55</var>
+        <var name="small-links">#675f55</var>
+        <var name="small-links-hover">#c2c2c2</var>
+    </vars>
+</view>
diff --git a/app/etc/di.xml b/app/etc/di.xml
index 1546dee34ea..3d1c255a248 100644
--- a/app/etc/di.xml
+++ b/app/etc/di.xml
@@ -24,33 +24,48 @@
  */
 -->
 <config>
-    <preference for="Magento\Core\Model\Db\UpdaterInterface" type="Magento\Core\Model\Db\Updater" />
+    <preference for="Magento\App\RequestInterface" type="Magento\App\Request\Http" />
+    <preference for="Magento\App\Request\PathInfoProcessorInterface" type="Magento\Core\App\Request\PathInfoProcessor" />
+    <preference for="Magento\App\ResponseInterface" type="Magento\App\Response\Http" />
+    <preference for="Magento\App\RouterListInterface" type="Magento\App\RouterList" />
+    <preference for="Magento\App\FrontControllerInterface" type="Magento\App\FrontController" />
+    <preference for="Magento\App\UpdaterInterface" type="Magento\App\Updater" />
     <preference for="Magento\Core\Model\AppInterface" type="Magento\Core\Model\App\Proxy" />
     <preference for="Magento\Core\Model\CacheInterface" type="Magento\Core\Model\Cache\Proxy" />
     <preference for="Magento\Core\Model\Cache\StateInterface" type="Magento\Core\Model\Cache\State" />
     <preference for="Magento\Core\Model\Cache\TypeListInterface" type="Magento\Core\Model\Cache\TypeList" />
     <preference for="Magento\Core\Model\Store\ConfigInterface" type="Magento\Core\Model\Store\Config" />
     <preference for="Magento\Core\Model\StoreManagerInterface" type="Magento\Core\Model\StoreManager" />
-    <preference for="Magento\Core\Model\View\DesignInterface" type="Magento\Core\Model\View\Design" />
+    <preference for="Magento\View\DesignInterface" type="Magento\Core\Model\View\Design" />
+    <preference for="Magento\View\Design\ThemeInterface" type="Magento\Core\Model\Theme" />
+    <preference for="Magento\View\ConfigInterface" type="Magento\Core\Model\View\Config" />
     <preference for="Magento\Core\Model\LocaleInterface" type="Magento\Core\Model\Locale" />
-    <preference for="Magento\Core\Model\UrlInterface" type="Magento\Core\Model\Url" />
-    <preference for="Magento\Core\Model\Event\InvokerInterface" type="Magento\Core\Model\Event\Invoker\InvokerDefault" />
+    <preference for="Magento\UrlInterface" type="Magento\Core\Model\Url" />
     <preference for="Magento\Data\Collection\Db\FetchStrategyInterface" type="Magento\Data\Collection\Db\FetchStrategy\Query" />
-    <preference for="Magento\Config\ScopeInterface" type="Magento\Core\Model\Config\Scope" />
+    <preference for="Magento\Config\ScopeInterface" type="Magento\Config\Scope" />
     <preference for="Magento\Config\FileResolverInterface" type="Magento\Core\Model\Config\FileResolver" />
     <preference for="Magento\Config\CacheInterface" type="Magento\Core\Model\Cache\Type\Config" />
     <preference for="Magento\Config\ValidationStateInterface" type="Magento\Core\Model\Config\ValidationState" />
-    <preference for="Magento\Core\Model\ModuleListInterface" type="Magento\Core\Model\ModuleList" />
-    <preference for="Magento\Core\Model\Event\ConfigInterface" type="Magento\Core\Model\Event\Config" />
+    <preference for="Magento\App\ModuleListInterface" type="Magento\App\ModuleList" />
+    <preference for="Magento\Event\ConfigInterface" type="Magento\Event\Config" />
+    <preference for="Magento\Event\InvokerInterface" type="Magento\Event\Invoker\InvokerDefault" />
     <preference for="Magento\Interception\PluginList" type="Magento\Interception\PluginList\PluginList" />
-    <type name="Magento\Core\Model\App\State">
+    <preference for="Magento\Event\ManagerInterface" type="Magento\Event\Manager\Proxy" />
+    <preference for="Magento\View\LayoutInterface" type="Magento\Core\Model\Layout" />
+    <preference for="Magento\View\Layout\ProcessorInterface" type="Magento\Core\Model\Layout\Merge" />
+    <type name="Magento\App\State">
         <param name="installDate">
-            <value type="argument">Magento\Core\Model\App\State::PARAM_INSTALL_DATE</value>
+            <value type="argument">Magento\App\State::PARAM_INSTALL_DATE</value>
         </param>
         <param name="mode">
             <value type="argument">Magento\Core\Model\App::PARAM_MODE</value>
         </param>
     </type>
+    <type name="Magento\Core\App\FrontController\Plugin\Install">
+        <param name="cache">
+            <instance type="Magento\Core\Model\Cache\Type\Config" />
+        </param>
+    </type>
     <type name="Magento\Core\Model\Config\ValidationState">
         <param name="appMode">
             <value type="argument">Magento\Core\Model\App::PARAM_MODE</value>
@@ -64,7 +79,7 @@
             <value type="argument">Magento\Core\Model\App::PARAM_CUSTOM_LOCAL_CONFIG</value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Module\Declaration\Reader\Filesystem">
+    <type name="Magento\App\Module\Declaration\Reader\Filesystem">
         <param name="allowedModules">
             <value type="argument">Magento\Core\Model\App::PARAM_ALLOWED_MODULES</value>
         </param>
@@ -87,14 +102,6 @@
             <value type="argument">Magento\Core\Model\App::PARAM_RUN_TYPE</value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Cache">
-        <param name="cacheTypes">
-            <instance type="Magento\Core\Model\Cache\Types\Proxy" />
-        </param>
-        <param name="config">
-            <instance type="Magento\Core\Model\Config\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Core\Model\Config">
         <param name="storage">
             <instance type="Magento\Core\Model\Config\Storage" />
@@ -105,11 +112,6 @@
             <instance type="Magento\Core\Model\Config\Loader\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Event\Config">
-        <param name="config">
-            <instance type="Magento\Core\Model\Config\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Core\Model\Translate">
         <param name="cache">
             <instance type="Magento\Core\Model\Cache\Type\Translate" />
@@ -131,16 +133,6 @@
         </param>
     </type>
     <type name="Magento\Data\Structure" shared="false" />
-    <type name="Magento\HTTP\Handler\Composite">
-        <param name="handlers">
-            <value>
-                <app>
-                    <sortOrder>50</sortOrder>
-                    <class>Magento\Core\Model\App\Handler</class>
-                </app>
-            </value>
-        </param>
-    </type>
     <type name="Magento\Core\Model\DataService\Path\Composite">
         <param name="items">
             <value>
@@ -149,42 +141,16 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Core\Helper\Url">
-        <param name="translate">
-            <instance type="Magento\Core\Model\Translate\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Design">
-        <param name="eventDispatcher">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Core\Model\View\Design">
         <param name="storeManager">
             <instance type="Magento\Core\Model\StoreManager\Proxy" />
         </param>
     </type>
     <type name="Magento\Acl" shared="false" />
-    <type name="Magento\Core\Model\Context">
-        <param name="eventDispatcher">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\ModuleManager">
-        <param name="config">
-            <instance type="Magento\Core\Model\Config\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Core\Model\ObjectManager\ConfigLoader">
         <param name="cache">
             <instance type="Magento\Core\Model\Cache\Type\Config"/>
         </param>
-        <param name="modulesReader">
-            <instance type="Magento\Core\Model\Config\Modules\Reader\Proxy" />
-        </param>
-        <param name="mode">
-            <value type="argument">Magento\Core\Model\App::PARAM_MODE</value>
-        </param>
     </type>
     <type name="Magento\Core\Model\ObjectManager\ConfigCache">
         <param name="cacheFrontend">
@@ -211,11 +177,6 @@
         <param name="cacheId">
             <value>interception</value>
         </param>
-        <param name="scopePriorityScheme">
-            <value>
-                <first>global</first>
-            </value>
-        </param>
     </type>
     <type name="Magento\Interception\PluginList\PluginList">
         <param name="cache">
@@ -241,6 +202,14 @@
             <value type="argument">Magento\Core\Model\Resource::PARAM_TABLE_PREFIX</value>
         </param>
     </type>
+    <type name="Magento\Config\Scope">
+        <param name="defaultScope">
+            <value>global</value>
+        </param>
+        <param name="areaList">
+            <instance type="Magento\App\AreaListProxy" />
+        </param>
+    </type>
     <type name="Magento\Core\Model\Url">
         <param name="session">
             <instance type="Magento\Core\Model\Session\Proxy" />
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Application.php b/dev/tests/integration/framework/Magento/TestFramework/Application.php
index f32d6277683..27a5696660f 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/Application.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/Application.php
@@ -135,12 +135,12 @@ class Application
         $generationDir = "$installDir/generation";
         $this->_initParams = array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::CONFIG      => $this->_installEtcDir,
-                \Magento\Core\Model\Dir::VAR_DIR     => $installDir,
-                \Magento\Core\Model\Dir::MEDIA       => "$installDir/media",
-                \Magento\Core\Model\Dir::STATIC_VIEW => "$installDir/pub_static",
-                \Magento\Core\Model\Dir::PUB_VIEW_CACHE => "$installDir/pub_cache",
-                \Magento\Core\Model\Dir::GENERATION => $generationDir,
+                \Magento\App\Dir::CONFIG      => $this->_installEtcDir,
+                \Magento\App\Dir::VAR_DIR     => $installDir,
+                \Magento\App\Dir::MEDIA       => "$installDir/media",
+                \Magento\App\Dir::STATIC_VIEW => "$installDir/pub_static",
+                \Magento\App\Dir::PUB_VIEW_CACHE => "$installDir/pub_cache",
+                \Magento\App\Dir::GENERATION => $generationDir,
             ),
             \Magento\Core\Model\App::PARAM_MODE => $appMode
         );
@@ -212,14 +212,14 @@ class Application
             ));
 
             $objectManager->addSharedInstance($config, 'Magento\Core\Model\Config\Primary');
-            $objectManager->addSharedInstance($config->getDirectories(), 'Magento\Core\Model\Dir');
+            $objectManager->addSharedInstance($config->getDirectories(), 'Magento\App\Dir');
             $objectManager->configure(array(
                 'preferences' => array(
                     'Magento\Core\Model\Cookie' => 'Magento\TestFramework\Cookie'
                 )
             ));
             $objectManager->loadPrimaryConfig($this->_primaryConfig);
-            $verification = $objectManager->get('Magento\Core\Model\Dir\Verification');
+            $verification = $objectManager->get('Magento\App\Dir\Verification');
             $verification->createAndVerifyDirectories();
             $objectManager->configure(
                 $objectManager->get('Magento\Core\Model\ObjectManager\ConfigLoader')->load('global')
@@ -232,7 +232,9 @@ class Application
                     'type' => 'Magento\TestFramework\Db\ConnectionAdapter'
                 ),
                 'preferences' => array(
-                    'Magento\Core\Model\Cookie' => 'Magento\TestFramework\Cookie'
+                    'Magento\Core\Model\Cookie' => 'Magento\TestFramework\Cookie',
+                    'Magento\App\RequestInterface' => 'Magento\TestFramework\Request',
+                    'Magento\App\ResponseInterface' => 'Magento\TestFramework\Response',
                 ),
             ));
         }
@@ -241,8 +243,8 @@ class Application
             ->setCache($objectManager->get('Magento\Core\Model\CacheInterface'));
 
         /** Register event observer of Integration Framework */
-        /** @var \Magento\Core\Model\Event\Config\Data $eventConfigData */
-        $eventConfigData = $objectManager->get('Magento\Core\Model\Event\Config\Data');
+        /** @var \Magento\Event\Config\Data $eventConfigData */
+        $eventConfigData = $objectManager->get('Magento\Event\Config\Data');
         $eventConfigData->merge(
             array('core_app_init_current_store_after' =>
                 array('integration_tests' =>
@@ -254,8 +256,8 @@ class Application
                 )
             )
         );
-        /** @var \Magento\Core\Model\Dir\Verification $verification */
-        $verification = $objectManager->get('Magento\Core\Model\Dir\Verification');
+        /** @var \Magento\App\Dir\Verification $verification */
+        $verification = $objectManager->get('Magento\App\Dir\Verification');
         $verification->createAndVerifyDirectories();
 
         $this->loadArea(\Magento\TestFramework\Application::DEFAULT_APP_AREA);
@@ -276,15 +278,13 @@ class Application
 
     /**
      * Run application normally, but with encapsulated initialization options
-     *
-     * @param \Magento\TestFramework\Request $request
-     * @param \Magento\TestFramework\Response $response
      */
-    public function run(\Magento\TestFramework\Request $request, \Magento\TestFramework\Response $response)
+    public function run()
     {
-        $composer = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $handler = $composer->get('Magento\HTTP\Handler\Composite');
-        $handler->handle($request, $response);
+        $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+        $config = new \Magento\Core\Model\Config\Primary(BP, array());
+        $entryPoint = new \Magento\Core\Model\EntryPoint\Http($config, $objectManager);
+        $entryPoint->processRequest();
     }
 
     /**
@@ -341,8 +341,8 @@ class Application
         $this->initialize();
 
         /* Run all install and data-install scripts */
-        /** @var $updater \Magento\Core\Model\Db\Updater */
-        $updater = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Db\Updater');
+        /** @var $updater \Magento\App\Updater */
+        $updater = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Updater');
         $updater->updateScheme();
         $updater->updateData();
 
@@ -370,8 +370,8 @@ class Application
         /* Switch an application to installed mode */
         $this->initialize();
         //hot fix for \Magento\Catalog\Model\Product\Attribute\Backend\SkuTest::testGenerateUniqueLongSku
-        /** @var $appState \Magento\Core\Model\App\State */
-        $appState = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App\State');
+        /** @var $appState \Magento\App\State */
+        $appState = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\State');
         $appState->setInstallDate(date('r', strtotime('now')));
     }
 
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Cookie.php b/dev/tests/integration/framework/Magento/TestFramework/Cookie.php
index 3fce9302cd2..e475842f533 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/Cookie.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/Cookie.php
@@ -35,19 +35,19 @@ class Cookie extends \Magento\Core\Model\Cookie
     /**
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\ResponseInterface $response
      */
     public function __construct(
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Controller\Request\Http $request = null,
-        \Magento\Core\Controller\Response\Http $response = null
+        \Magento\App\RequestInterface $request = null,
+        \Magento\App\ResponseInterface $response = null
     ) {
         $this->_storeManager = $storeManager;
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $request = $request ?: $objectManager->get('Magento\Core\Controller\Request\Http');
-        $response = $response ?: $objectManager->get('Magento\Core\Controller\Response\Http');
+        $request = $request ?: $objectManager->get('Magento\App\RequestInterface');
+        $response = $response ?: $objectManager->get('Magento\App\ResponseInterface');
         parent::__construct($request, $response, $coreStoreConfig, $storeManager);
     }
 
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Helper/Bootstrap.php b/dev/tests/integration/framework/Magento/TestFramework/Helper/Bootstrap.php
index e8a3e3992a0..b0ed7bbadae 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/Helper/Bootstrap.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/Helper/Bootstrap.php
@@ -140,15 +140,12 @@ class Bootstrap
     }
 
     /**
-     * Perform the full request processing by the application instance optionally passing parameters to be overridden.
+     * Perform the full request processing by the application instance.
      * Intended to be used by the controller tests.
-     *
-     * @param \Magento\TestFramework\Request $request
-     * @param \Magento\TestFramework\Response $response
      */
-    public function runApp(\Magento\TestFramework\Request $request, \Magento\TestFramework\Response $response)
+    public function runApp()
     {
-        $this->_bootstrap->getApplication()->run($request, $response);
+        $this->_bootstrap->getApplication()->run();
     }
 
     /**
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Helper/Config.php b/dev/tests/integration/framework/Magento/TestFramework/Helper/Config.php
index cbc499e291b..d52283543d9 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/Helper/Config.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/Helper/Config.php
@@ -41,7 +41,7 @@ class Config
     {
         $result = array();
         $moduleList = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\ModuleListInterface');
+            ->get('Magento\App\ModuleListInterface');
         foreach ($moduleList->getModules() as $module) {
             $result[] = $module['name'];
         }
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Request.php b/dev/tests/integration/framework/Magento/TestFramework/Request.php
index 7928395d335..bb91af0d326 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/Request.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/Request.php
@@ -30,7 +30,7 @@
  */
 namespace Magento\TestFramework;
 
-class Request extends \Magento\Core\Controller\Request\Http
+class Request extends \Magento\App\Request\Http
 {
     /**
      * Server super-global mock
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Response.php b/dev/tests/integration/framework/Magento/TestFramework/Response.php
index e5f6dfed77b..2ac3e623fcc 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/Response.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/Response.php
@@ -34,7 +34,7 @@ namespace Magento\TestFramework;
  * @package Magento\TestFramework
  * @SuppressWarnings(PHPMD.LongVariable)
  */
-class Response extends \Magento\Core\Controller\Response\Http
+class Response extends \Magento\App\Response\Http
 {
     /**
      * @inherit
@@ -58,6 +58,5 @@ class Response extends \Magento\Core\Controller\Response\Http
 
     public function sendResponse()
     {
-        $this->_eventManager->dispatch('http_response_send_before', array('response'=>$this));
     }
 }
diff --git a/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractConfigFiles.php b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractConfigFiles.php
index bcfb0879268..d914765ffb2 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractConfigFiles.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractConfigFiles.php
@@ -72,8 +72,8 @@ abstract class AbstractConfigFiles extends \PHPUnit_Framework_TestCase
                 )
             );
 
-            $dirs = $this->_objectManager->get('Magento\Core\Model\Dir');
-            $modulesDir = $dirs->getDir(\Magento\Core\Model\Dir::MODULES);
+            $dirs = $this->_objectManager->get('Magento\App\Dir');
+            $modulesDir = $dirs->getDir(\Magento\App\Dir::MODULES);
             $this->_schemaFile = $modulesDir . $this->_getXsdPath();
         }
     }
@@ -148,7 +148,7 @@ abstract class AbstractConfigFiles extends \PHPUnit_Framework_TestCase
     public function getXmlConfigFiles()
     {
         return glob(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('app')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('app')
                 . $this->_getConfigFilePathGlob()
         );
     }
diff --git a/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractController.php b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractController.php
index 76f0fd72b9a..b7fce6df776 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractController.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractController.php
@@ -77,13 +77,10 @@ abstract class AbstractController extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_assertSessionErrors = false;
-        $this->_objectManager = \Magento\TestFramework\ObjectManager::getInstance();
-        $this->_objectManager->configure(array(
-            'preferences' => array(
-                'Magento\Core\Controller\Request\Http' => 'Magento\TestFramework\Request',
-                'Magento\Core\Controller\Response\Http' => 'Magento\TestFramework\Response'
-            )
-        ));
+        $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();;
+        $this->_objectManager->removeSharedInstance('Magento\App\ResponseInterface');
+        $this->_objectManager->removeSharedInstance('Magento\App\RequestInterface');
+
     }
 
     protected function tearDown()
@@ -112,18 +109,18 @@ abstract class AbstractController extends \PHPUnit_Framework_TestCase
     public function dispatch($uri)
     {
         $this->getRequest()->setRequestUri($uri);
-        $this->_getBootstrap()->runApp($this->getRequest(), $this->getResponse());
+        $this->_getBootstrap()->runApp();
     }
 
     /**
      * Request getter
      *
-     * @return \Magento\TestFramework\Request
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
         if (!$this->_request) {
-            $this->_request = $this->_objectManager->get('Magento\TestFramework\Request');
+            $this->_request = $this->_objectManager->get('Magento\App\RequestInterface');
         }
         return $this->_request;
     }
@@ -131,12 +128,12 @@ abstract class AbstractController extends \PHPUnit_Framework_TestCase
     /**
      * Response getter
      *
-     * @return \Magento\TestFramework\Response
+     * @return \Magento\App\ResponseInterface
      */
     public function getResponse()
     {
         if (!$this->_response) {
-            $this->_response = $this->_objectManager->get('Magento\TestFramework\Response');
+            $this->_response = $this->_objectManager->get('Magento\App\ResponseInterface');
         }
         return $this->_response;
     }
diff --git a/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractIntegrity.php b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractIntegrity.php
index 9eff02d9c7b..028635761a1 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractIntegrity.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractIntegrity.php
@@ -84,7 +84,7 @@ abstract class AbstractIntegrity extends \PHPUnit_Framework_TestCase
         /** @var $themeCollection \Magento\Core\Model\Theme\Collection */
         $themeCollection = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\Resource\Theme\Collection');
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themeCollection as $theme) {
             $themeItems[$theme->getId()] = $theme;
         }
diff --git a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ApplicationTest.php b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ApplicationTest.php
index b254dde834d..4aa324bc239 100644
--- a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ApplicationTest.php
+++ b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ApplicationTest.php
@@ -38,7 +38,7 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
     {
         $dbInstance = $this->getMockForAbstractClass('Magento\TestFramework\Db\AbstractDb', array(), '', false);
         $installDir = '/install/dir';
-        $appMode = \Magento\Core\Model\App\State::MODE_DEVELOPER;
+        $appMode = \Magento\App\State::MODE_DEVELOPER;
 
         $object = new \Magento\TestFramework\Application(
             $dbInstance,
@@ -59,7 +59,7 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
         $this->assertArrayHasKey(\Magento\Core\Model\App::PARAM_MODE, $initParams,
             'Application mode is not configured');
         $this->assertEquals(
-            \Magento\Core\Model\App\State::MODE_DEVELOPER,
+            \Magento\App\State::MODE_DEVELOPER,
             $initParams[\Magento\Core\Model\App::PARAM_MODE],
             'Wrong application mode configured'
         );
diff --git a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/CookieTest.php b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/CookieTest.php
index 79949584d61..f8308c9e807 100644
--- a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/CookieTest.php
+++ b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/CookieTest.php
@@ -48,11 +48,12 @@ class CookieTest extends \PHPUnit_Framework_TestCase
             $coreStoreConfig,
             $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false),
             new \Magento\TestFramework\Request(
-                $this->getMock('Magento\Core\Model\StoreManager', [], [], '', false),
-                $this->getMock('Magento\Backend\Helper\Data', [], [], '', false)
+                $this->getMock('Magento\App\RouterListInterface'),
+                'http://example.com',
+                $this->getMock('Magento\App\Request\PathInfoProcessorInterface')
             ),
             new \Magento\TestFramework\Response(
-                $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false)
+                $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false)
             )
         );
     }
diff --git a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/Helper/BootstrapTest.php b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/Helper/BootstrapTest.php
index 2e6d4d0ce60..8ea05427755 100644
--- a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/Helper/BootstrapTest.php
+++ b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/Helper/BootstrapTest.php
@@ -54,8 +54,8 @@ class BootstrapTest extends \PHPUnit_Framework_TestCase
      */
     protected $_fixtureInitParams = array(
         \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-            \Magento\Core\Model\Dir::CONFIG     => __DIR__,
-            \Magento\Core\Model\Dir::VAR_DIR    => __DIR__,
+            \Magento\App\Dir::CONFIG     => __DIR__,
+            \Magento\App\Dir::VAR_DIR    => __DIR__,
         ),
     );
 
@@ -191,14 +191,7 @@ class BootstrapTest extends \PHPUnit_Framework_TestCase
 
     public function testRunApp()
     {
-        $requestMock = $this->getMock('Magento\TestFramework\Request', array(), array(), '', false);
-        $responseMock = $this->getMock('Magento\TestFramework\Response', array(), array(), '', false);
-
-        $this->_application
-            ->expects($this->once())
-            ->method('run')
-            ->with($requestMock, $responseMock)
-        ;
-        $this->_object->runApp($requestMock, $responseMock);
+        $this->_application->expects($this->once())->method('run');
+        $this->_object->runApp();
     }
 }
diff --git a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ObjectManagerTest.php b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ObjectManagerTest.php
index b7394864f66..788dc275056 100644
--- a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ObjectManagerTest.php
+++ b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ObjectManagerTest.php
@@ -48,8 +48,8 @@ class ObjectManagerTest extends \PHPUnit_Framework_TestCase
         $instanceConfig = new \Magento\TestFramework\ObjectManager\Config();
         $primaryConfig = $this->getMock('Magento\Core\Model\Config\Primary', array(), array(), '', false);
         $primaryConfig->expects($this->any())->method('getParams')->will($this->returnValue(array()));
-        $dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
-        $verification = $this->getMock('Magento\Core\Model\Dir\Verification', array(), array(), '', false);
+        $dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
+        $verification = $this->getMock('Magento\App\Dir\Verification', array(), array(), '', false);
         $cache = $this->getMock('Magento\Core\Model\CacheInterface');
         $configLoader = $this->getMock('Magento\Core\Model\ObjectManager\ConfigLoader', array(), array(), '', false);
         $configLoader->expects($this->once())->method('load')->will($this->returnValue(array()));
@@ -62,7 +62,7 @@ class ObjectManagerTest extends \PHPUnit_Framework_TestCase
         $model = new \Magento\TestFramework\ObjectManager(
             $primaryConfig, $instanceConfig,
             array(
-                'Magento\Core\Model\Dir\Verification' => $verification,
+                'Magento\App\Dir\Verification' => $verification,
                 'Magento\Core\Model\Cache\Type\Config' => $cache,
                 'Magento\Core\Model\ObjectManager\ConfigLoader' => $configLoader,
                 'Magento\Core\Model\ObjectManager\ConfigCache' => $configCache,
diff --git a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/RequestTest.php b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/RequestTest.php
index 7f79f37301b..6a81be56265 100644
--- a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/RequestTest.php
+++ b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/RequestTest.php
@@ -37,8 +37,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_model = new \Magento\TestFramework\Request(
-            $this->getMock('Magento\Core\Model\StoreManager', ['__wakeup'], [], '', false),
-            $this->getMock('Magento\Backend\Helper\Data', [], [], '', false)
+            $this->getMock('Magento\App\RouterListInterface', array(), array(), '', false)
         );
     }
 
diff --git a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ResponseTest.php b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ResponseTest.php
index 41473ce22d4..09214ed5478 100644
--- a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ResponseTest.php
+++ b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ResponseTest.php
@@ -32,7 +32,7 @@ class ResponseTest extends \PHPUnit_Framework_TestCase
     public function testCanSendHeaders()
     {
         $response = new \Magento\TestFramework\Response(
-            $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false)
+            $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false)
         );
         $this->assertTrue($response->canSendHeaders());
         $this->assertTrue($response->canSendHeaders(false));
diff --git a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/TestCase/ControllerAbstractTest.php b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/TestCase/ControllerAbstractTest.php
index 9d196ca7e20..0ac47a15e2e 100644
--- a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/TestCase/ControllerAbstractTest.php
+++ b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/TestCase/ControllerAbstractTest.php
@@ -46,12 +46,9 @@ class ControllerAbstractTest extends \Magento\TestFramework\TestCase\AbstractCon
         ;
         $session = new \Magento\Object(array('messages' => $messagesCollection));
         $request = new \Magento\TestFramework\Request(
-            $this->getMock('Magento\Core\Model\StoreManager', [], [], '', false),
-            $this->getMock('Magento\Backend\Helper\Data', [], [], '', false)
-        );
-        $response = new \Magento\TestFramework\Response(
-            $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false)
+            $this->getMock('Magento\App\RouterListInterface', array(), array(), '', false)
         );
+        $response = new \Magento\TestFramework\Response();
 
         $this->_objectManager = $this->getMock(
             'Magento\TestFramework\ObjectManager', array('get', 'create'), array(), '', false
@@ -59,8 +56,8 @@ class ControllerAbstractTest extends \Magento\TestFramework\TestCase\AbstractCon
         $this->_objectManager->expects($this->any())
             ->method('get')
             ->will($this->returnValueMap(array(
-                array('Magento\TestFramework\Request', $request),
-                array('Magento\TestFramework\Response', $response),
+                array('Magento\App\RequestInterface', $request),
+                array('Magento\App\ResponseInterface', $response),
                 array('Magento\Core\Model\Session', $session),
             )));
     }
@@ -126,7 +123,7 @@ class ControllerAbstractTest extends \Magento\TestFramework\TestCase\AbstractCon
     public function testAssertRedirect()
     {
         /*
-         * Prevent calling \Magento\Core\Controller\Response\Http::setRedirect() because it dispatches event,
+         * Prevent calling \Magento\App\Response\Http::setRedirect() because it dispatches event,
          * which requires fully initialized application environment intentionally not available
          * for unit tests
          */
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Attribute/Set/Toolbar/AddTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Attribute/Set/Toolbar/AddTest.php
index 8249d297d2c..dd6c8726f3f 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Attribute/Set/Toolbar/AddTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Attribute/Set/Toolbar/AddTest.php
@@ -35,7 +35,7 @@ class AddTest extends \PHPUnit_Framework_TestCase
     public function testToHtmlFormId()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
 
         $block = $layout->addBlock('Magento\Adminhtml\Block\Catalog\Product\Attribute\Set\Toolbar\Add', 'block');
         $block->setArea('adminhtml')->unsetChild('setForm');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/OptionTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/OptionTest.php
index 0963b50f4c7..81e11184211 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/OptionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/OptionTest.php
@@ -34,7 +34,7 @@ class OptionTest extends \PHPUnit_Framework_TestCase
 {
     public function testGetOptionValuesCaching()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Options\Option');
         /** @var $productWithOptions \Magento\Catalog\Model\Product */
         $productWithOptions = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Type/SelectTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Type/SelectTest.php
index 504cfe9ea38..b5a1ad6dc4c 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Type/SelectTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Type/SelectTest.php
@@ -35,7 +35,7 @@ class SelectTest extends \PHPUnit_Framework_TestCase
     public function testToHtmlFormId()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Options\Type_Select */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Options\Type\Select', 'select');
         $html = $block->getPriceTypeSelectHtml();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config/MatrixTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config/MatrixTest.php
index 11164d17846..baf77d4275d 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config/MatrixTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config/MatrixTest.php
@@ -43,7 +43,7 @@ class MatrixTest extends \PHPUnit_Framework_TestCase
         $objectManager->get('Magento\Core\Model\Registry')
             ->register('current_product', \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Catalog\Model\Product')->load(1));
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text', 'head');
         /** @var $usedAttribute \Magento\Catalog\Model\Entity\Attribute */
         $usedAttribute = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
@@ -54,7 +54,7 @@ class MatrixTest extends \PHPUnit_Framework_TestCase
             );
         $attributeOptions = $usedAttribute->getSource()->getAllOptions(false);
         /** @var $block \Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Config_Matrix */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock(preg_replace('/Test$/', '', __CLASS__));
 
         $variations = $block->getVariations();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/ConfigTest.php
index e85fef2daa5..82f474152bd 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/ConfigTest.php
@@ -42,7 +42,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
         $objectManager->get('Magento\Core\Model\Registry')
             ->register('current_product', $objectManager->create('Magento\Catalog\Model\Product'));
         /** @var $block \Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Config */
-        $block = $objectManager->get('Magento\Core\Model\Layout')
+        $block = $objectManager->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Config');
         $this->assertEquals(array(), $block->getSelectedAttributes());
     }
@@ -57,14 +57,14 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')
             ->register('current_product', $objectManager->create('Magento\Catalog\Model\Product')->load(1));
-        $objectManager->get('Magento\Core\Model\Layout')->createBlock('Magento\Core\Block\Text', 'head');
+        $objectManager->get('Magento\View\LayoutInterface')->createBlock('Magento\Core\Block\Text', 'head');
         $usedAttribute = $objectManager->get('Magento\Catalog\Model\Entity\Attribute')->loadByCode(
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Eav\Model\Config')
                 ->getEntityType('catalog_product')->getId(),
             'test_configurable'
         );
         /** @var $block \Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Config */
-        $block = $objectManager->get('Magento\Core\Model\Layout')
+        $block = $objectManager->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Config');
         $selectedAttributes = $block->getSelectedAttributes();
         $this->assertEquals(array($usedAttribute->getId()), array_keys($selectedAttributes));
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/SettingsTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/SettingsTest.php
index ffaef757f40..b1f4ba55737 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/SettingsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/SettingsTest.php
@@ -57,7 +57,7 @@ class SettingsTest extends \PHPUnit_Framework_TestCase
 
         $context = $objectManager->create('Magento\Backend\Block\Template\Context', array('urlBuilder' => $urlModel));
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = $objectManager->get('Magento\Core\Model\Layout');
+        $layout = $objectManager->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Settings */
         $block = $layout->createBlock(
             'Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Settings',
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/TabsTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/TabsTest.php
index f16b59b3e53..4424a309dd8 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/TabsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/TabsTest.php
@@ -39,10 +39,10 @@ class TabsTest extends \PHPUnit_Framework_TestCase
     public function testPrepareLayout()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
-        $objectManager->get('Magento\Core\Model\Config\Scope')
+        $objectManager->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         /** @var $product \Magento\Catalog\Model\Product */
         $product = $objectManager->create('Magento\Catalog\Model\Product');
@@ -50,7 +50,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
         $objectManager->get('Magento\Core\Model\Registry')->register('product', $product);
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = $objectManager->get('Magento\Core\Model\Layout');
+        $layout = $objectManager->get('Magento\View\LayoutInterface');
         $layout->addBlock('Magento\Core\Block\Text', 'head');
         $layout->setArea('nonexisting'); // prevent block templates rendering
         /** @var $block \Magento\Adminhtml\Block\Catalog\Product\Edit\Tabs */
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/EditTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/EditTest.php
index 0a5a2aaaf15..55139cb21f4 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/EditTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/EditTest.php
@@ -50,7 +50,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')->register('current_product', $product);
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Catalog\Product\Edit');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery/ContentTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery/ContentTest.php
index 6ebb9740710..2579bf435a8 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery/ContentTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery/ContentTest.php
@@ -35,7 +35,7 @@ class ContentTest extends \PHPUnit_Framework_TestCase
     public function testGetUploader()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Catalog\Product\Helper\Form\Gallery\Content */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Catalog\Product\Helper\Form\Gallery\Content', 'block');
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Options/AjaxTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Options/AjaxTest.php
index 707219bc935..41c13382db5 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Options/AjaxTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Options/AjaxTest.php
@@ -40,7 +40,7 @@ class AjaxTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Catalog\Product\Options\Ajax');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/DesignTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/DesignTest.php
index 98286908cd6..f065f2a10bc 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/DesignTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/DesignTest.php
@@ -40,10 +40,10 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     {
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
-        $objectManager->get('Magento\Core\Model\Config\Scope')
+        $objectManager->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $objectManager->get('Magento\Core\Model\Registry')
             ->register('cms_page', $objectManager->create('Magento\Cms\Model\Page'));
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Dashboard/GraphTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Dashboard/GraphTest.php
index 3f3197c633c..8fd9077f8ca 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Dashboard/GraphTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Dashboard/GraphTest.php
@@ -40,7 +40,7 @@ class GraphTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Dashboard\Graph');
         $this->_block->setDataHelperName('Magento\Adminhtml\Helper\Dashboard\Order');
     }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/Queue/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/Queue/Edit/FormTest.php
index 5f1197eee24..73936e9674d 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/Queue/Edit/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/Queue/Edit/FormTest.php
@@ -38,11 +38,11 @@ class FormTest extends \PHPUnit_Framework_TestCase
      */
     public function testPrepareForm()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Config\Scope')
+            ->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Adminhtml\Block\Newsletter\Queue\Edit\Form');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/SubscriberTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/SubscriberTest.php
index 114f1155615..85bdb121a2f 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/SubscriberTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/SubscriberTest.php
@@ -35,7 +35,7 @@ class SubscriberTest extends \PHPUnit_Framework_TestCase
     public function testGetShowQueueAdd()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Newsletter\Subscriber */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Newsletter\Subscriber', 'block');
         /** @var $childBlock \Magento\Core\Block\Template */
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeadTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeadTest.php
index 38275e41997..4dbab16ae67 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeadTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeadTest.php
@@ -33,7 +33,7 @@ class HeadTest extends \PHPUnit_Framework_TestCase
     {
         $this->assertInstanceOf(
             'Magento\Adminhtml\Block\Page\Head',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Adminhtml\Block\Page\Head')
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeaderTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeaderTest.php
index 801ddd8cc0f..5100a6c818d 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeaderTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeaderTest.php
@@ -41,7 +41,7 @@ class HeaderTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Page\Header');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Catalog/Edit/Tab/MainTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Catalog/Edit/Tab/MainTest.php
index 12823bacd0a..68eead7ccb7 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Catalog/Edit/Tab/MainTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Catalog/Edit/Tab/MainTest.php
@@ -41,7 +41,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
     {
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $rule = $objectManager->create('Magento\CatalogRule\Model\Rule');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/LabelsTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/LabelsTest.php
index 2b5542a0b29..5486fb59eed 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/LabelsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/LabelsTest.php
@@ -33,7 +33,7 @@ class LabelsTest extends \PHPUnit_Framework_TestCase
     {
         $this->assertInstanceOf(
             'Magento\Adminhtml\Block\Promo\Quote\Edit\Tab\Labels',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Adminhtml\Block\Promo\Quote\Edit\Tab\Labels')
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/MainTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/MainTest.php
index 74780a9d14b..c68ca6b29a4 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/MainTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/MainTest.php
@@ -40,7 +40,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
     public function testPrepareForm()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $objectManager->get('Magento\Core\Model\Registry')
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Rating/Edit/Tab/FormTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Rating/Edit/Tab/FormTest.php
index 6b5b7bf2fcf..bddd226d6fe 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Rating/Edit/Tab/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Rating/Edit/Tab/FormTest.php
@@ -33,7 +33,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
     {
         $this->assertInstanceOf(
             'Magento\Adminhtml\Block\Rating\Edit\Tab\Form',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Adminhtml\Block\Rating\Edit\Tab\Form')
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Filter/FormTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Filter/FormTest.php
index 0b63e845f16..6315c59eb76 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Filter/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Filter/FormTest.php
@@ -38,7 +38,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
      */
     public function testPrepareForm()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Core\Model\Layout');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Bestsellers/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Bestsellers/GridTest.php
index ff62debbb48..4472f31e9d6 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Bestsellers/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Bestsellers/GridTest.php
@@ -40,7 +40,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Report\Sales\Bestsellers\Grid');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Coupons/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Coupons/GridTest.php
index 12426583a96..f7befb8871b 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Coupons/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Coupons/GridTest.php
@@ -40,7 +40,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
      */
     protected function _createBlock($reportType = null)
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Report\Sales\Coupons\Grid');
 
         $filterData = new \Magento\Object();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Invoiced/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Invoiced/GridTest.php
index 5c07b54d889..5e39ca592de 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Invoiced/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Invoiced/GridTest.php
@@ -40,7 +40,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
      */
     protected function _createBlock($reportType = null)
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Report\Sales\Invoiced\Grid');
 
         $filterData = new \Magento\Object();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Refunded/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Refunded/GridTest.php
index 5a6e7a85959..ad6d42391ae 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Refunded/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Refunded/GridTest.php
@@ -40,7 +40,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
      */
     protected function _createBlock($reportType = null)
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Report\Sales\Refunded\Grid');
 
         $filterData = new \Magento\Object();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Sales/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Sales/GridTest.php
index 4d2c521fe09..e6d091edb27 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Sales/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Sales/GridTest.php
@@ -40,7 +40,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
      */
     protected function _createBlock($reportType = null)
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Report\Sales\Sales\Grid');
 
         $filterData = new \Magento\Object();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Shipping/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Shipping/GridTest.php
index c35c0a142e1..7f1de78a63a 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Shipping/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Shipping/GridTest.php
@@ -40,7 +40,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
      */
     protected function _createBlock($reportType = null)
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Report\Sales\Shipping\Grid');
 
         $filterData = new \Magento\Object();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Tax/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Tax/GridTest.php
index ef54d95c59c..db75c6a0635 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Tax/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Tax/GridTest.php
@@ -40,7 +40,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
      */
     protected function _createBlock($reportType = null)
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Report\Sales\Tax\Grid');
 
         $filterData = new \Magento\Object();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Items/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Items/AbstractTest.php
index f0274d482d0..09f4998df14 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Items/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Items/AbstractTest.php
@@ -35,7 +35,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     public function testGetItemExtraInfoHtml()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Sales\Items\AbstractItems */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Sales\Items\AbstractItems', 'block');
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Order/Create/Form/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Order/Create/Form/AbstractTest.php
index 63051266b44..c78a8840864 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Order/Create/Form/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Order/Create/Form/AbstractTest.php
@@ -39,7 +39,7 @@ class AbstractTest
     public function testAddAttributesToForm()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $arguments = array(
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Account/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Account/Edit/FormTest.php
index 1dcbe0fe832..5a3db2399e6 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Account/Edit/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Account/Edit/FormTest.php
@@ -43,7 +43,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
         $session->setUser($user);
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
 
         /** @var \Magento\Adminhtml\Block\System\Account\Edit\Form */
         $block = $layout->createBlock('Magento\Adminhtml\Block\System\Account\Edit\Form');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Design/Edit/Tab/GeneralTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Design/Edit/Tab/GeneralTest.php
index 21e74ed8313..be96f0e31b8 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Design/Edit/Tab/GeneralTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Design/Edit/Tab/GeneralTest.php
@@ -39,7 +39,7 @@ class GeneralTest extends \PHPUnit_Framework_TestCase
     public function testPrepareForm()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $objectManager->get('Magento\Core\Model\Registry')
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/DeleteTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/DeleteTest.php
index 30d0004cec9..0fe5ae4b226 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/DeleteTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/DeleteTest.php
@@ -35,7 +35,7 @@ class DeleteTest extends \PHPUnit_Framework_TestCase
     public function testGetHeaderText()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\System\Store\Delete */
         $block = $layout->createBlock('Magento\Adminhtml\Block\System\Store\Delete', 'block');
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/GroupTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/GroupTest.php
index 3e1b1807e52..341cfae72b6 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/GroupTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/GroupTest.php
@@ -55,7 +55,7 @@ class GroupTest extends \PHPUnit_Framework_TestCase
         }
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = $objectManager->get('Magento\Core\Model\Layout');
+        $layout = $objectManager->get('Magento\View\LayoutInterface');
 
         $this->_block = $layout->createBlock('Magento\Adminhtml\Block\System\Store\Edit\Form\Group');
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/StoreTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/StoreTest.php
index b34e609ab9c..017c46e267e 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/StoreTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/StoreTest.php
@@ -55,7 +55,7 @@ class StoreTest extends \PHPUnit_Framework_TestCase
         }
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = $objectManager->get('Magento\Core\Model\Layout');
+        $layout = $objectManager->get('Magento\View\LayoutInterface');
 
         $this->_block = $layout->createBlock('Magento\Adminhtml\Block\System\Store\Edit\Form\Store');
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/WebsiteTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/WebsiteTest.php
index 1c3276be4da..3a61acaa263 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/WebsiteTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/WebsiteTest.php
@@ -54,7 +54,7 @@ class WebsiteTest extends \PHPUnit_Framework_TestCase
         }
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = $objectManager->get('Magento\Core\Model\Layout');
+        $layout = $objectManager->get('Magento\View\LayoutInterface');
 
         $this->_block = $layout->createBlock('Magento\Adminhtml\Block\System\Store\Edit\Form\Website');
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/EditTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/EditTest.php
index 5a13b118267..7a6422efe79 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/EditTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/EditTest.php
@@ -64,7 +64,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
         $this->_initStoreTypesInRegistry($registryData);
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\System\Store\Edit */
         $block = $layout->createBlock('Magento\Adminhtml\Block\System\Store\Edit', 'block');
         $block->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
@@ -115,7 +115,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
         $this->_initStoreTypesInRegistry($registryData);
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\System\Store\Edit */
         $block = $layout->createBlock('Magento\Adminhtml\Block\System\Store\Edit', 'block');
         $block->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Variable/EditTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Variable/EditTest.php
index 44f7b7d0046..08e8402de4e 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Variable/EditTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Variable/EditTest.php
@@ -51,9 +51,9 @@ class EditTest extends \PHPUnit_Framework_TestCase
             ->save();
 
         $objectManager->get('Magento\Core\Model\Registry')->register('current_variable', $variable);
-        $objectManager->get('Magento\Core\Controller\Request\Http')
+        $objectManager->get('Magento\App\RequestInterface')
             ->setParam('variable_id', $variable->getId());
-        $block = $objectManager->get('Magento\Core\Model\Layout')
+        $block = $objectManager->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\System\Variable\Edit', 'variable');
         $this->assertArrayHasKey('variable-delete_button', $block->getLayout()->getAllBlocks());
     }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Tax/Rate/ImportExportTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Tax/Rate/ImportExportTest.php
index beb463d3e0a..3b3dd3f0559 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Tax/Rate/ImportExportTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Tax/Rate/ImportExportTest.php
@@ -35,7 +35,7 @@ class ImportExportTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Tax\Rate\ImportExport')
             ->setArea('adminhtml');
     }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/TemplateTest.php
index 2cc243834d6..b651f0e7a48 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/TemplateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/TemplateTest.php
@@ -36,7 +36,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
     {
         $this->assertInstanceOf(
             'Magento\Backend\Block\Template',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Adminhtml\Block\Template')
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/TreeTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/TreeTest.php
index 67e80147f5b..72da1904378 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/TreeTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/TreeTest.php
@@ -47,7 +47,7 @@ class TreeTest extends \PHPUnit_Framework_TestCase
         parent::setUp();
 
         $this->_treeBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Layout')
+            ->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Urlrewrite\Catalog\Category\Tree');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Edit/FormTest.php
index e656c33e42f..40bba41da65 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Edit/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Edit/FormTest.php
@@ -42,7 +42,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
     protected function _getFormInstance($args = array())
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Urlrewrite\Catalog\Edit\Form */
         $block = $layout->createBlock(
             'Magento\Adminhtml\Block\Urlrewrite\Catalog\Edit\Form', 'block', array('data' => $args)
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Product/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Product/GridTest.php
index b8d2907de72..da55945ba15 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Product/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Product/GridTest.php
@@ -39,7 +39,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
     public function testPrepareGrid()
     {
         /** @var $gridBlock \Magento\Adminhtml\Block\Urlrewrite\Catalog\Product\Grid */
-        $gridBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $gridBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Urlrewrite\Catalog\Product\Grid');
         $gridBlock->toHtml();
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit/FormTest.php
index 68756908fe8..80862a4f2d3 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit/FormTest.php
@@ -42,7 +42,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
     protected function _getFormInstance($args = array())
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Edit\Form */
         $block = $layout->createBlock(
             'Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Edit\Form', 'block', array('data' => $args)
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/GridTest.php
index 3af726ce3f0..2968ce70603 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/GridTest.php
@@ -39,7 +39,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
     public function testPrepareGrid()
     {
         /** @var \Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Grid $gridBlock */
-        $gridBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $gridBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Grid');
         $gridBlock->toHtml();
 
@@ -67,7 +67,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
     public function testPrepareGridForMultipleStores()
     {
         /** @var \Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Grid $gridBlock */
-        $gridBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $gridBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Grid');
         $gridBlock->toHtml();
         $this->assertInstanceOf('Magento\Backend\Block\Widget\Grid\Column', $gridBlock->getColumn('store_id'),
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Edit/FormTest.php
index 415425e6997..ba2e5bd5e82 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Edit/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Edit/FormTest.php
@@ -42,7 +42,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
     protected function _getFormInstance($args = array())
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Urlrewrite\Edit\Form */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Urlrewrite\Edit\Form', 'block', array('data' => $args));
         $block->setTemplate(null);
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Form/ContainerTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Form/ContainerTest.php
index 66c464e8f83..b6fb60bcc8b 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Form/ContainerTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Form/ContainerTest.php
@@ -36,7 +36,7 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         // Create block with blocking _prepateLayout(), which is used by block to instantly add 'form' child
         /** @var $block \Magento\Adminhtml\Block\Widget\Form\Container */
         $block = $this->getMock('Magento\Adminhtml\Block\Widget\Form\Container', array('_prepareLayout'),
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Grid/Massaction/ItemTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Grid/Massaction/ItemTest.php
index e18846ef8ac..2bed5b20805 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Grid/Massaction/ItemTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Grid/Massaction/ItemTest.php
@@ -35,7 +35,7 @@ class ItemTest extends \PHPUnit_Framework_TestCase
     public function testGetAdditionalActionBlock()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Widget\Grid\Massaction\Item */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Widget\Grid\Massaction\Item', 'block');
         $expected = $layout->addBlock('Magento\Core\Block\Template', 'additional_action', 'block');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/GridTest.php
index 0d349f0c387..40e2e428d4b 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/GridTest.php
@@ -35,7 +35,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
     public function testGetMassactionBlock()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Widget\Grid */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Widget\Grid', 'block');
         $child = $layout->addBlock('Magento\Core\Block\Template', 'massaction', 'block');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/TabsTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/TabsTest.php
index c30972a7b41..a5b23e43de3 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/TabsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/TabsTest.php
@@ -45,7 +45,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
         $objectManager->get('Magento\Core\Model\Registry')->register('current_widget_instance', $widgetInstance);
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Widget\Tabs */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Widget\Tabs', 'block');
         $layout->addBlock('Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Tab\Main', 'child_tab', 'block');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/Catalog/Product/AttributeTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/Catalog/Product/AttributeTest.php
index 246dda8df4b..6d3869318f6 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/Catalog/Product/AttributeTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/Catalog/Product/AttributeTest.php
@@ -113,7 +113,7 @@ class AttributeTest extends \Magento\Backend\Utility\Controller
         // emulate admin store and design
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\StoreManagerInterface')
             ->setCurrentStore(\Magento\Core\Model\AppInterface::ADMIN_STORE_ID);
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme(1);
         /** @var \Magento\Core\Model\Translate $translate */
         $translate = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/App/FrontControllerTest.php b/dev/tests/integration/testsuite/Magento/App/FrontControllerTest.php
new file mode 100644
index 00000000000..b707dcb2213
--- /dev/null
+++ b/dev/tests/integration/testsuite/Magento/App/FrontControllerTest.php
@@ -0,0 +1,91 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Magento
+ * @subpackage  integration_tests
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\App;
+
+/**
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+class FrontControllerTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\ObjectManager
+     */
+    protected $_objectManager;
+
+    /**
+     * @var \Magento\App\FrontController
+     */
+    protected $_model;
+
+    protected function setUp()
+    {
+        $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+        $this->_model = $this->_objectManager->create('Magento\App\FrontController');
+    }
+
+    public function testSetGetDefault()
+    {
+        $this->_model->setDefault('test', 'value');
+        $this->assertEquals('value', $this->_model->getDefault('test'));
+
+        $default = array('some_key' => 'some_value');
+        $this->_model->setDefault($default);
+        $this->assertEquals($default, $this->_model->getDefault());
+    }
+
+    public function testGetRequest()
+    {
+        $this->assertNull($this->_model->getRequest());
+    }
+
+    public function testGetResponse()
+    {
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')->setResponse(
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+                ->get('Magento\App\ResponseInterface')
+        );
+        if (!\Magento\TestFramework\Helper\Bootstrap::canTestHeaders()) {
+            $this->markTestSkipped('Can\'t test get response without sending headers');
+        }
+        $this->assertInstanceOf('Magento\App\ResponseInterface', $this->_model->getResponse());
+    }
+
+    public function testDispatch()
+    {
+        if (!\Magento\TestFramework\Helper\Bootstrap::canTestHeaders()) {
+            $this->markTestSkipped('Cant\'t test dispatch process without sending headers');
+        }
+        $_SERVER['HTTP_HOST'] = 'localhost';
+        $this->_objectManager->get('Magento\Config\Scope')->setCurrentScope('frontend');
+        $request = $this->_objectManager->create('Magento\App\Request\Http');
+        /* empty action */
+        $request->setRequestUri('core/index/index');
+        $this->_model->dispatch($request);
+        $this->assertEmpty($this->_model->getResponse()->getBody());
+        $this->assertEquals($request, $this->_model->getRequest());
+    }
+}
diff --git a/dev/tests/integration/testsuite/Magento/Authorizenet/Block/Directpost/IframeTest.php b/dev/tests/integration/testsuite/Magento/Authorizenet/Block/Directpost/IframeTest.php
index d190cb24991..aaea940c9ba 100644
--- a/dev/tests/integration/testsuite/Magento/Authorizenet/Block/Directpost/IframeTest.php
+++ b/dev/tests/integration/testsuite/Magento/Authorizenet/Block/Directpost/IframeTest.php
@@ -36,7 +36,7 @@ class IframeTest extends \PHPUnit_Framework_TestCase
     {
         $xssString = '</script><script>alert("XSS")</script>';
         /** @var $block \Magento\Authorizenet\Block\Directpost\Iframe */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Authorizenet\Block\Directpost\Iframe');
         $block->setTemplate('directpost/iframe.phtml');
         $block->setParams(array(
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormStub.php b/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormStub.php
index eceee165e99..46eed65f44e 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormStub.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormStub.php
@@ -76,7 +76,7 @@ class FormStub extends \Magento\Backend\Block\System\Config\Form
             $this->_configRoot = $this->_configRootStub;
         }
         $this->_fieldRenderer = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Layout')->createBlock(
+            ->get('Magento\View\LayoutInterface')->createBlock(
                 'Magento\Backend\Block\System\Config\Form\Field'
             );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormTest.php
index 04867722be3..82de257d0f2 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormTest.php
@@ -53,7 +53,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
         /** @var $layout \Magento\Core\Model\Layout */
         $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\Layout', array('area' => 'adminhtml'));
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         /** @var $block \Magento\Backend\Block\System\Config\Form */
         $block = $layout->createBlock('Magento\Backend\Block\System\Config\Form', 'block');
@@ -80,14 +80,14 @@ class FormTest extends \PHPUnit_Framework_TestCase
     public function testInitFieldsUseDefaultCheckbox($section, $group, $field, array $configData, $expectedUseDefault)
     {
         $this->markTestIncomplete('MAGETWO-9058');
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $form = $this->_formFactory->create();
         $fieldset = $form->addFieldset($section->getId() . '_' . $group->getId(), array());
 
         /* @TODO Eliminate stub by proper mock / config fixture usage */
         /** @var $block \Magento\Backend\Block\System\Config\FormStub */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\System\Config\FormStub');
         $block->setScope(\Magento\Backend\Block\System\Config\Form::SCOPE_WEBSITES);
         $block->setStubConfigData($configData);
@@ -134,14 +134,14 @@ class FormTest extends \PHPUnit_Framework_TestCase
     public function testInitFieldsUseConfigPath($section, $group, $field, array $configData, $expectedUseDefault)
     {
         $this->markTestIncomplete('MAGETWO-9058');
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $form = $this->_formFactory->create();
         $fieldset = $form->addFieldset($section->getId() . '_' . $group->getId(), array());
 
         /* @TODO Eliminate stub by proper mock / config fixture usage */
         /** @var $block \Magento\Backend\Block\System\Config\FormStub */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\System\Config\FormStub');
         $block->setScope(\Magento\Backend\Block\System\Config\Form::SCOPE_DEFAULT);
         $block->setStubConfigData($configData);
@@ -165,7 +165,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
             \Magento\Core\Model\App::PARAM_BAN_CACHE => true,
         ));
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Config\Scope')
+            ->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
             ->loadAreaPart(\Magento\Core\Model\App\Area::AREA_ADMINHTML, \Magento\Core\Model\App\Area::PART_CONFIG);
@@ -212,20 +212,20 @@ class FormTest extends \PHPUnit_Framework_TestCase
     public function testInitFormAddsFieldsets()
     {
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Controller\Response\Http')->headersSentThrowsException = false;
+            ->get('Magento\App\ResponseInterface')->headersSentThrowsException = false;
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
             'Magento\Core\Controller\Front\Action',
             array(
                 'request' => \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                    ->get('Magento\Core\Controller\Request\Http'),
+                    ->get('Magento\App\Request\Http'),
                 'response' => \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
                     ->get('Magento\Core\Model\App')->getResponse()
             )
         );
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Controller\Request\Http')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\RequestInterface')
             ->setParam('section', 'general');
         /** @var $block \Magento\Backend\Block\System\Config\Form */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\System\Config\Form');
         $block->initForm();
         $expectedIds = array(
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/TemplateTest.php
index 912a04fc959..93c9370ae85 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/TemplateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/TemplateTest.php
@@ -42,7 +42,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\Template');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/ContainerTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/ContainerTest.php
index 202b4529374..bd8413c402c 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/ContainerTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/ContainerTest.php
@@ -32,7 +32,7 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
     public function testPseudoConstruct()
     {
         /** @var $block \Magento\Backend\Block\Widget\Container */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\Widget\Container', '',
                 array('data' => array(
                     \Magento\Backend\Block\Widget\Container::PARAM_CONTROLLER => 'one',
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/FormTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/FormTest.php
index 3b1df3ce6b6..29982f371d0 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/FormTest.php
@@ -40,7 +40,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
     public function testSetFieldset()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $layout = $objectManager->create('Magento\Core\Model\Layout');
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ColumnSetTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ColumnSetTest.php
index dc1df20dd0c..e8df531d5da 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ColumnSetTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ColumnSetTest.php
@@ -63,7 +63,7 @@ class ColumnSetTest extends \PHPUnit_Framework_TestCase
 
         $context = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Block\Template\Context', array('layout' => $this->_layoutMock));
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock(
                 'Magento\Backend\Block\Widget\Grid\ColumnSet', '', array('context' => $context)
             );
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ContainerTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ContainerTest.php
index 8573fe09044..35a5034c9a6 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ContainerTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ContainerTest.php
@@ -32,7 +32,7 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
     public function testPseudoConstruct()
     {
         /** @var $block \Magento\Backend\Block\Widget\Grid\Container */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\Widget\Grid\Container', '', array(
                 'data' => array(
                     \Magento\Backend\Block\Widget\Container::PARAM_CONTROLLER => 'widget',
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ExtendedTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ExtendedTest.php
index ba4e31255c4..ae399d84871 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ExtendedTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ExtendedTest.php
@@ -38,7 +38,7 @@ class ExtendedTest extends \PHPUnit_Framework_TestCase
     protected $_block;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layoutMock;
 
@@ -47,7 +47,7 @@ class ExtendedTest extends \PHPUnit_Framework_TestCase
         parent::setUp();
 
         $this->_layoutMock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Layout');
+            ->get('Magento\View\LayoutInterface');
         $context = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Backend\Block\Template\Context', array('layout' => $this->_layoutMock));
         $this->_block = $this->_layoutMock->createBlock(
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php
index ad090e4f0e9..f014623bc3d 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php
@@ -40,7 +40,7 @@ class MassactionTest extends \PHPUnit_Framework_TestCase
     protected $_block;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -53,7 +53,7 @@ class MassactionTest extends \PHPUnit_Framework_TestCase
         $this->_setFixtureTheme();
 
         $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Layout', array('area' => 'adminhtml'));
+            ->create('Magento\View\LayoutInterface', array('area' => 'adminhtml'));
         $this->_layout->getUpdate()->load('layout_test_grid_handle');
         $this->_layout->generateXml();
         $this->_layout->generateElements();
@@ -70,7 +70,7 @@ class MassactionTest extends \PHPUnit_Framework_TestCase
             \Magento\Core\Model\App::PARAM_RUN_CODE => 'admin',
             \Magento\Core\Model\App::PARAM_RUN_TYPE => 'store',
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => __DIR__ . '/../../_files/design'
+                \Magento\App\Dir::THEMES => __DIR__ . '/../../_files/design'
             ),
         ));
     }
@@ -84,7 +84,7 @@ class MassactionTest extends \PHPUnit_Framework_TestCase
     public function testMassactionDefaultValues()
     {
         /** @var $blockEmpty \Magento\Backend\Block\Widget\Grid\Massaction */
-        $blockEmpty = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $blockEmpty = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\Widget\Grid\Massaction');
         $this->assertEmpty($blockEmpty->getItems());
         $this->assertEquals(0, $blockEmpty->getCount());
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/GridTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/GridTest.php
index 159697c4e1a..2ad1ec80e84 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/GridTest.php
@@ -38,7 +38,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
     protected $_block;
 
     /**
-     * @var \Magento\Core\Model\Layout|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\View\LayoutInterface|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_layoutMock;
 
@@ -65,7 +65,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
         $this->_layoutMock->expects($this->any())->method('createBlock')
             ->with('Magento\Backend\Block\Widget\Button')
             ->will($this->returnValue(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Layout')->createBlock('Magento\Backend\Block\Widget\Button')));
+                ->get('Magento\View\LayoutInterface')->createBlock('Magento\Backend\Block\Widget\Button')));
         $this->_layoutMock->expects($this->any())->method('helper')
             ->with('Magento\Core\Helper\Data')
             ->will($this->returnValue(
@@ -73,7 +73,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
             ));
 
 
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\Widget\Grid');
         $this->_block->setLayout($this->_layoutMock);
         $this->_block->setNameInLayout('grid');
@@ -90,7 +90,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
             $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false),
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Block\Template\Context', array(
-                'dirs' => new \Magento\Core\Model\Dir(__DIR__),
+                'dirs' => new \Magento\App\Dir(__DIR__),
                 'filesystem' => new \Magento\Filesystem(new \Magento\Filesystem\Adapter\Local),
             )),
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/AbstractActionTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/AbstractActionTest.php
index bd332d920d4..3e4f5236571 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Controller/AbstractActionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/AbstractActionTest.php
@@ -40,7 +40,7 @@ class AbstractActionTest extends \Magento\Backend\Utility\Controller
      */
     public function testPreDispatchWithEmptyUrlRedirectsToStartupPage()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $this->dispatch('backend');
         /** @var $backendUrlModel \Magento\Backend\Model\Url */
@@ -104,7 +104,7 @@ class AbstractActionTest extends \Magento\Backend\Utility\Controller
 
         $this->dispatch('backend/admin/dashboard');
 
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $actualBlocks = $layout->getAllBlocks();
 
         $this->assertNotEmpty($actualBlocks);
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/DefaultRouterTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/DefaultRouterTest.php
index 857fbb02080..255820105e6 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/DefaultRouterTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/DefaultRouterTest.php
@@ -57,7 +57,7 @@ class DefaultRouterTest extends \PHPUnit_Framework_TestCase
             'baseController'  => 'Magento\Backend\Controller\AbstractAction',
             'routeConfig' => $this->_routeConfigMock
         );
-        $this->_frontMock = $this->getMock('Magento\Core\Controller\Varien\Front', array(), array(), '', false);
+        $this->_frontMock = $this->getMock('Magento\App\FrontController', array(), array(), '', false);
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Backend\Controller\Router\DefaultRouter', $options);
         $this->_model->setFront($this->_frontMock);
@@ -65,7 +65,7 @@ class DefaultRouterTest extends \PHPUnit_Framework_TestCase
 
     public function testRouterCannotProcessRequestsWithWrongFrontName()
     {
-        $request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $request->expects($this->once())
             ->method('getPathInfo')
             ->will($this->returnValue('frontend/admin/dashboard'));
@@ -76,7 +76,7 @@ class DefaultRouterTest extends \PHPUnit_Framework_TestCase
 
     public function testRouterCanProcessRequestsWithProperFrontName()
     {
-        $request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $request->expects($this->once())
             ->method('getPathInfo')
             ->will($this->returnValue('backend/admin/dashboard'));
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/Validator/DefaultTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/Validator/DefaultTest.php
index 3f67a027ca5..2c9cb197168 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/Validator/DefaultTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/Validator/DefaultTest.php
@@ -32,25 +32,6 @@ namespace Magento\Backend\Controller\Router\Validator;
  */
 class DefaultTest extends \PHPUnit_Framework_TestCase
 {
-    /**
-     * @magentoConfigFixture global/areas/adminhtml/frontName 0
-     * @expectedException \InvalidArgumentException
-     * @magentoAppIsolation enabled
-     */
-    public function testConstructWithEmptyAreaFrontName()
-    {
-        $dataHelperMock = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false);
-        $dataHelperMock->expects($this->once())->method('getAreaFrontName')->will($this->returnValue(null));
-
-        $options = array(
-            'areaCode' => \Magento\Core\Model\App\Area::AREA_ADMINHTML,
-            'baseController' => 'Magento\Backend\Controller\AbstractAction',
-            'backendData' => $dataHelperMock,
-        );
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Backend\Controller\Router\DefaultRouter', $options);
-    }
-
     /**
      * @magentoConfigFixture global/areas/adminhtml/frontName backend
      * @magentoAppIsolation enabled
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Helper/DataTest.php b/dev/tests/integration/testsuite/Magento/Backend/Helper/DataTest.php
index 333ef2fbb42..2e3ec9dc9a7 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Helper/DataTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Helper/DataTest.php
@@ -44,7 +44,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $this->_helper = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Backend\Helper\Data');
@@ -55,7 +55,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
         $this->_helper = null;
         $this->_auth = null;
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Config\Scope')
+            ->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(null);
     }
 
@@ -88,7 +88,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
      */
     public function testPageHelpUrl()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Controller\Request\Http')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\RequestInterface')
             ->setControllerModule('dummy')
             ->setControllerName('index')
             ->setActionName('test');
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/Auth/SessionTest.php b/dev/tests/integration/testsuite/Magento/Backend/Model/Auth/SessionTest.php
index c761fca0dbc..8faa5176f4e 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/Auth/SessionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/Auth/SessionTest.php
@@ -45,7 +45,7 @@ class SessionTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $this->_auth  = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Backend\Model\Auth');
@@ -57,7 +57,7 @@ class SessionTest extends \PHPUnit_Framework_TestCase
     protected function tearDown()
     {
         $this->_model = null;
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(null);
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/Config/Backend/Admin/RobotsTest.php b/dev/tests/integration/testsuite/Magento/Backend/Model/Config/Backend/Admin/RobotsTest.php
index 400cadf3514..a58f09ec765 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/Config/Backend/Admin/RobotsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/Config/Backend/Admin/RobotsTest.php
@@ -78,7 +78,7 @@ class RobotsTest extends \PHPUnit_Framework_TestCase
     public function testAfterSaveFileNotExists()
     {
         $robotsTxtPath = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Dir')->getDir() . DS . 'robots.txt';
+                ->get('Magento\App\Dir')->getDir() . DS . 'robots.txt';
         $this->assertFileNotExists($robotsTxtPath, 'robots.txt exists');
 
         $this->_modifyConfig();
@@ -92,7 +92,7 @@ class RobotsTest extends \PHPUnit_Framework_TestCase
      */
     public function testAfterSaveFileExists()
     {
-        $robotsTxtPath = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
+        $robotsTxtPath = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
                 ->getDir() . DS . 'robots.txt';
         $this->assertFileExists($robotsTxtPath, 'robots.txt exists');
 
@@ -108,7 +108,7 @@ class RobotsTest extends \PHPUnit_Framework_TestCase
         $this->_model->setValue($robotsTxt)->save();
         $this->assertStringEqualsFile(
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Dir')->getDir() . DS . 'robots.txt',
+                ->get('Magento\App\Dir')->getDir() . DS . 'robots.txt',
             $robotsTxt
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Backend/Model/ConfigTest.php
index d48cfc82579..858d7cc4f60 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/ConfigTest.php
@@ -41,7 +41,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
      */
     public function testSaveWithSingleStoreModeEnabled($groups)
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         /** @var $_configDataObject \Magento\Backend\Model\Config */
         $_configDataObject = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/LocaleTest.php b/dev/tests/integration/testsuite/Magento/Backend/Model/LocaleTest.php
index 328ee192ae4..f466d4f6da7 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/LocaleTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/LocaleTest.php
@@ -82,7 +82,7 @@ class LocaleTest extends \PHPUnit_Framework_TestCase
     public function testSetLocaleWithRequestLocale()
     {
         $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Controller\Request\Http');
+            ->get('Magento\App\RequestInterface');
         $request->setPost(array('locale' => 'de_DE'));
         $this->_checkSetLocale('de_DE');
     }
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/MenuTest.php b/dev/tests/integration/testsuite/Magento/Backend/Model/MenuTest.php
index b7d430bd04d..23a16e9b6af 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/MenuTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/MenuTest.php
@@ -46,7 +46,7 @@ class MenuTest extends \PHPUnit_Framework_TestCase
             ->loadArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Backend\Model\Auth');
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/ObserverTest.php b/dev/tests/integration/testsuite/Magento/Backend/Model/ObserverTest.php
index ded07bb568b..68e1a8fbaa7 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/ObserverTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/ObserverTest.php
@@ -50,7 +50,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         $this->markTestSkipped('Skipped because of authentication process moved into base controller.');
 
         $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Controller\Request\Http');
+            ->get('Magento\App\RequestInterface');
         $this->assertEmpty($request->getRouteName());
         $this->assertEmpty($request->getControllerName());
         $this->assertEmpty($request->getActionName());
@@ -112,7 +112,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
     protected function _buildObserver()
     {
         $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Controller\Request\Http');
+            ->get('Magento\App\RequestInterface');
         $request->setPost(
             'login',
             array(
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/UrlTest.php b/dev/tests/integration/testsuite/Magento/Backend/Model/UrlTest.php
index 3cdb3b54959..28564204508 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/UrlTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/UrlTest.php
@@ -101,9 +101,9 @@ class UrlTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetSecretKey($routeName, $controller, $action, $expectedHash)
     {
-        /** @var $request \Magento\Core\Controller\Request\Http */
+        /** @var $request \Magento\App\RequestInterface */
         $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Controller\Request\Http');
+            ->create('Magento\App\RequestInterface');
         $request->setControllerName('default_controller')
             ->setActionName('default_action')
             ->setRouteName('default_router');
@@ -148,9 +148,9 @@ class UrlTest extends \PHPUnit_Framework_TestCase
     {
         /** @var $helper \Magento\Core\Helper\Data */
         $helper = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Helper\Data');
-        /** @var $request \Magento\Core\Controller\Request\Http */
+        /** @var $request \Magento\App\RequestInterface */
         $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Controller\Request\Http');
+            ->create('Magento\App\RequestInterface');
         $request->setControllerName('controller')->setActionName('action');
         $request->initForward()->setControllerName(uniqid())->setActionName(uniqid());
         $this->_model->setRequest($request);
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/_files/no_robots_txt.php b/dev/tests/integration/testsuite/Magento/Backend/Model/_files/no_robots_txt.php
index d54286ffb47..96046322741 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/_files/no_robots_txt.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/_files/no_robots_txt.php
@@ -25,7 +25,7 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-$robotsTxtPath = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir()
+$robotsTxtPath = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir()
     . DS . 'robots.txt';
 if (is_file($robotsTxtPath)) {
     @unlink($robotsTxtPath);
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/_files/robots_txt.php b/dev/tests/integration/testsuite/Magento/Backend/Model/_files/robots_txt.php
index 9cbecd0600a..04f3cf95c55 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/_files/robots_txt.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/_files/robots_txt.php
@@ -27,6 +27,6 @@
 
 copy(
     __DIR__ . DS . 'robots.txt',
-    \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir()
+    \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir()
         . DS . 'robots.txt'
 );
diff --git a/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/GridTest.php b/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/GridTest.php
index 8a044210d95..847738ec121 100644
--- a/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/GridTest.php
@@ -35,7 +35,7 @@ class GridTest
      */
     public function testToHtmlHasOnClick()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         /** @var $layout \Magento\Core\Model\Layout */
         $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
diff --git a/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/SearchTest.php b/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/SearchTest.php
index f94192bb7b0..8988537a815 100644
--- a/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/SearchTest.php
+++ b/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/SearchTest.php
@@ -35,7 +35,7 @@ class SearchTest
      */
     public function testToHtmlHasIndex()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
 
         /** @var $layout \Magento\Core\Model\Layout */
diff --git a/dev/tests/integration/testsuite/Magento/Bundle/Controller/ProductTest.php b/dev/tests/integration/testsuite/Magento/Bundle/Controller/ProductTest.php
index 4fdceec5ab3..d697c1dceee 100644
--- a/dev/tests/integration/testsuite/Magento/Bundle/Controller/ProductTest.php
+++ b/dev/tests/integration/testsuite/Magento/Bundle/Controller/ProductTest.php
@@ -40,7 +40,8 @@ class ProductTest extends \Magento\TestFramework\TestCase\AbstractController
         $this->dispatch('catalog/product/view/id/3');
         $this->assertContains(
             'catalog_product_view_type_bundle',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')->getUpdate()
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
+                ->getUpdate()
                 ->getHandles()
         );
         $responseBody = $this->getResponse()->getBody();
diff --git a/dev/tests/integration/testsuite/Magento/Captcha/Block/Captcha/DefaultTest.php b/dev/tests/integration/testsuite/Magento/Captcha/Block/Captcha/DefaultTest.php
index 5b9d918ad34..992efc5a942 100644
--- a/dev/tests/integration/testsuite/Magento/Captcha/Block/Captcha/DefaultTest.php
+++ b/dev/tests/integration/testsuite/Magento/Captcha/Block/Captcha/DefaultTest.php
@@ -35,8 +35,9 @@ class DefaultTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-         $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
-            ->createBlock('Magento\Captcha\Block\Captcha\DefaultCaptcha');
+         $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+             ->get('Magento\View\LayoutInterface')
+             ->createBlock('Magento\Captcha\Block\Captcha\DefaultCaptcha');
     }
 
     /**
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Layer/ViewTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Layer/ViewTest.php
index 20f6e99d9ee..0b5e81cae62 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Layer/ViewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Layer/ViewTest.php
@@ -45,7 +45,7 @@ class ViewTest extends \PHPUnit_Framework_TestCase
         $layer->setCurrentCategory($currentCategory);
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Catalog\Block\Layer\View */
         $block = $layout->createBlock('Magento\Catalog\Block\Layer\View', 'block');
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/AbstractTest.php
index 08551fc4c97..a516c1ad474 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/AbstractTest.php
@@ -65,9 +65,9 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
             self::$_isStubClass = true;
         }
 
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDefaultDesignTheme();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock(self::STUB_CLASS);
         $this->_product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Catalog\Model\Product');
@@ -120,7 +120,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     {
         $this->_block->setLayout(
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Layout')
+                ->get('Magento\View\LayoutInterface')
         );
         $this->assertContains('10', $this->_block->getPriceHtml($this->_product));
     }
@@ -129,7 +129,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     {
         $this->_block->setLayout(
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Layout')
+                ->get('Magento\View\LayoutInterface')
         );
         $html = $this->_block->getReviewsSummaryHtml($this->_product, false, true);
         $this->assertNotEmpty($html);
@@ -151,7 +151,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     public function testGetTierPriceHtml()
     {
         $this->_block->setLayout(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Layout'));
+            ->get('Magento\View\LayoutInterface'));
         $html = $this->_block->getTierPriceHtml();
         $this->assertNotEmpty($html);
         $this->assertContains('2', $html); /* Buy 2 */
@@ -193,7 +193,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     public function testLayoutDependColumnCount()
     {
         $this->_block->setLayout(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Layout'));
+            ->get('Magento\View\LayoutInterface'));
         $this->assertEquals(3, $this->_block->getColumnCount()); /* default column count */
 
         $this->_block->addColumnCountLayoutDepend('test', 10);
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/Configurable/AssociatedSelector/Backend/Grid/ColumnSetTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/Configurable/AssociatedSelector/Backend/Grid/ColumnSetTest.php
index d40c30485ad..f94f82e2b4f 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/Configurable/AssociatedSelector/Backend/Grid/ColumnSetTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/Configurable/AssociatedSelector/Backend/Grid/ColumnSetTest.php
@@ -47,7 +47,7 @@ class ColumnSetTest
         $objectManager->get('Magento\Core\Model\Registry')->register('current_product', $product);
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block  \Magento\Catalog\Block\Product\Configurable\AssociatedSelector\Backend\Grid\ColumnSet */
         $block = $layout->createBlock(
             'Magento\Catalog\Block\Product\Configurable\AssociatedSelector\Backend\Grid\ColumnSet',
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ListTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ListTest.php
index bec3c3dc429..31f73cb1a5d 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ListTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ListTest.php
@@ -41,7 +41,7 @@ class ListTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Catalog\Block\Product\ListProduct');
     }
 
@@ -126,6 +126,6 @@ class ListTest extends \PHPUnit_Framework_TestCase
 
     protected function _getLayout()
     {
-        return \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        return \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/NewTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/NewTest.php
index ed644683b50..cdf29e5a04e 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/NewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/NewTest.php
@@ -41,7 +41,7 @@ class NewTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Catalog\Block\Product\NewProduct');
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
             ->getArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)->load();
@@ -67,7 +67,7 @@ class NewTest extends \PHPUnit_Framework_TestCase
         $this->assertSame(2, array_shift($keys));
 
         $themeModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->getDesignTheme();
 
         $this->assertEquals($themeModel->getId() ?: null, $info[2]);
@@ -101,7 +101,7 @@ class NewTest extends \PHPUnit_Framework_TestCase
         $this->_block->setProductsCount(5);
         $this->_block->setTemplate('product/widget/new/content/new_list.phtml');
         $this->_block->setLayout(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Layout'));
+            ->get('Magento\View\LayoutInterface'));
 
         $html = $this->_block->toHtml();
         $this->assertNotEmpty($html);
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/CrosssellTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/CrosssellTest.php
index 2b297b6e2d3..5e867a346db 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/CrosssellTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/CrosssellTest.php
@@ -45,10 +45,10 @@ class CrosssellTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')->register('product', $product);
         /** @var $block \Magento\Catalog\Block\Product\ProductList\Crosssell */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Catalog\Block\Product\ProductList\Crosssell');
         $block->setLayout(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Layout'));
+                ->get('Magento\View\LayoutInterface'));
         $block->setTemplate('Magento_Checkout::cart/crosssell.phtml');
         $block->setItemCount(1);
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/RelatedTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/RelatedTest.php
index 36216ad5458..58fe415949b 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/RelatedTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/RelatedTest.php
@@ -45,10 +45,10 @@ class RelatedTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')->register('product', $product);
         /** @var $block \Magento\Catalog\Block\Product\ProductList\Related */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Catalog\Block\Product\ProductList\Related');
         $block->setLayout(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Layout'));
+                ->get('Magento\View\LayoutInterface'));
         $block->setTemplate('product/list/related.phtml');
 
         $html = $block->toHtml();
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/ToolbarTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/ToolbarTest.php
index 0ee5fa2950c..be90d2fdb80 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/ToolbarTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/ToolbarTest.php
@@ -32,7 +32,7 @@ class ToolbarTest extends \PHPUnit_Framework_TestCase
     public function testGetPagerHtml()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Catalog\Block\Product\ProductList\Toolbar */
         $block = $layout->createBlock('Magento\Catalog\Block\Product\ProductList\Toolbar', 'block');
         /** @var $childBlock \Magento\Core\Block\Text */
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/AdditionalTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/AdditionalTest.php
index 4d29789357d..1658e0dd36c 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/AdditionalTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/AdditionalTest.php
@@ -32,7 +32,7 @@ class AdditionalTest extends \PHPUnit_Framework_TestCase
     public function testGetChildHtmlList()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Catalog\Block\Product\View\Additional */
         $block = $layout->createBlock('Magento\Catalog\Block\Product\View\Additional', 'block');
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/OptionsTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/OptionsTest.php
index 12bd789b501..1323843a4f3 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/OptionsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/OptionsTest.php
@@ -53,7 +53,7 @@ class OptionsTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')->unregister('current_product');
         $objectManager->get('Magento\Core\Model\Registry')->register('current_product', $this->_product);
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Catalog\Block\Product\View\Options');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/Type/ConfigurableTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/Type/ConfigurableTest.php
index ae9df449453..303c724184c 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/Type/ConfigurableTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/Type/ConfigurableTest.php
@@ -49,7 +49,7 @@ class ConfigurableTest extends \PHPUnit_Framework_TestCase
         $this->_product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Catalog\Model\Product');
         $this->_product->load(1);
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Catalog\Block\Product\View\Type\Configurable');
         $this->_block->setProduct($this->_product);
     }
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ViewTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ViewTest.php
index 1a53453ae7f..79845640ec6 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ViewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ViewTest.php
@@ -57,7 +57,7 @@ class ViewTest extends \PHPUnit_Framework_TestCase
     public function testSetLayout()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $headBlock = $layout->createBlock('Magento\Core\Block\Template', 'head');
         $layout->addBlock($this->_block);
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/CategoryTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/CategoryTest.php
index 4df022a809c..1f464b8d45e 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/CategoryTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/CategoryTest.php
@@ -99,7 +99,7 @@ class CategoryTest extends \Magento\TestFramework\TestCase\AbstractController
         $this->assertEquals($categoryId, $lastCategoryId, 'Last visited category.');
 
         /* Layout updates */
-        $handles = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $handles = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->getUpdate()->getHandles();
         foreach ($expectedHandles as $expectedHandleName) {
             $this->assertContains($expectedHandleName, $handles);
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/ProductTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/ProductTest.php
index 3fd18e6a81e..741e40a58b1 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/ProductTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/ProductTest.php
@@ -70,7 +70,7 @@ class ProductTest extends \Magento\TestFramework\TestCase\AbstractController
         $this->assertEquals(1, $lastViewedProductId);
 
         /* Layout updates */
-        $handles = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $handles = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->getUpdate()->getHandles();
         $this->assertContains('catalog_product_view_type_simple', $handles);
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Helper/Product/ViewTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Helper/Product/ViewTest.php
index 4f85cf09e65..4d17a88e15e 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Helper/Product/ViewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Helper/Product/ViewTest.php
@@ -26,7 +26,7 @@
  */
 namespace Magento\Catalog\Helper\Product;
 
-require \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir()
+require \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir()
     . '/app/code/Magento/Catalog/Controller/Product.php';
 
 class ViewTest extends \PHPUnit_Framework_TestCase
@@ -44,7 +44,7 @@ class ViewTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setDefaultDesignTheme();
         $this->_helper = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Catalog\Helper\Product\View');
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/DesignTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/DesignTest.php
index da8f6619473..f54c916a991 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/DesignTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/DesignTest.php
@@ -50,7 +50,7 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     {
         $this->_model->applyCustomDesign($theme);
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->assertEquals('package', $design->getDesignTheme()->getPackageCode());
         $this->assertEquals('theme', $design->getDesignTheme()->getThemeCode());
     }
@@ -61,7 +61,7 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     public function getThemeModel()
     {
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme');
+            ->create('Magento\View\Design\ThemeInterface');
         $theme->setData($this->_getThemeData());
         return array(array($theme));
     }
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/AttributeTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/AttributeTest.php
index fbd104e8d77..b1c61b27dc3 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/AttributeTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/AttributeTest.php
@@ -79,7 +79,7 @@ class AttributeTest extends \PHPUnit_Framework_TestCase
         $request->setParam('attribute', array());
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text'))
         ;
 
@@ -95,7 +95,7 @@ class AttributeTest extends \PHPUnit_Framework_TestCase
         $request->setParam('attribute', $this->_attributeOptionId);
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/CategoryTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/CategoryTest.php
index 8a4995d4a05..ab426da3e14 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/CategoryTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/CategoryTest.php
@@ -69,7 +69,7 @@ class CategoryTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $this->_model->apply(
             $objectManager->get('Magento\TestFramework\Request'),
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
@@ -84,7 +84,7 @@ class CategoryTest extends \PHPUnit_Framework_TestCase
         $request->setParam('cat', 3);
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/DecimalTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/DecimalTest.php
index 144b18177aa..d55907e94ff 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/DecimalTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/DecimalTest.php
@@ -71,7 +71,7 @@ class DecimalTest extends \PHPUnit_Framework_TestCase
         $request = $objectManager->get('Magento\TestFramework\Request');
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
@@ -88,7 +88,7 @@ class DecimalTest extends \PHPUnit_Framework_TestCase
         $request->setParam('decimal', 'non-decimal');
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
@@ -104,7 +104,7 @@ class DecimalTest extends \PHPUnit_Framework_TestCase
         $request->setParam('decimal', '1,100');
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/ItemTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/ItemTest.php
index 16cfeaa0370..95e7c7668f5 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/ItemTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/ItemTest.php
@@ -94,9 +94,9 @@ class ItemTest extends \PHPUnit_Framework_TestCase
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         /** @var $request \Magento\TestFramework\Request */
-        $request = $objectManager->get('Magento\TestFramework\Request');
+        $request = $objectManager->create('Magento\App\RequestInterface');
 
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Controller\Request\Http')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\RequestInterface')
             ->setRoutingInfo(array(
                 'requested_route'      => 'x',
                 'requested_controller' => 'y',
@@ -106,7 +106,7 @@ class ItemTest extends \PHPUnit_Framework_TestCase
         $request->setParam('cat', 4);
         $this->_model->getFilter()->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/Price/AlgorithmAdvancedTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/Price/AlgorithmAdvancedTest.php
index 64872e34b4b..188807407e7 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/Price/AlgorithmAdvancedTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/Price/AlgorithmAdvancedTest.php
@@ -67,7 +67,7 @@ class AlgorithmAdvancedTest extends \PHPUnit_Framework_TestCase
         if (!is_null($request)) {
             $filter->apply(
                 $request,
-                \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+                \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                     ->createBlock('Magento\Core\Block\Text')
             );
             $interval = $filter->getInterval();
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/PriceTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/PriceTest.php
index 4d4485022e7..2d8dd7464e5 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/PriceTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/PriceTest.php
@@ -104,7 +104,7 @@ class PriceTest extends \PHPUnit_Framework_TestCase
         $request = $objectManager->get('Magento\TestFramework\Request');
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
@@ -121,7 +121,7 @@ class PriceTest extends \PHPUnit_Framework_TestCase
         $request->setParam('price', 'non-numeric');
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
@@ -140,7 +140,7 @@ class PriceTest extends \PHPUnit_Framework_TestCase
         $request->setParam('price', '10-20');
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Type/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Type/AbstractTest.php
index c95eb571f7b..6a41d51983d 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Type/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Type/AbstractTest.php
@@ -41,7 +41,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
             ->get('Magento\Catalog\Model\Product\Option');
         $eavConfig = $this->getMock('Magento\Eav\Model\Config', array(), array(), '', false);
         $catalogProductType = $this->getMock('Magento\Catalog\Model\Product\Type', array(), array(), '', false);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array('dispatch'), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array('dispatch'), array(), '', false);
         $coreData = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
         $fileStorageDb = $this->getMock('Magento\Core\Helper\File\Storage\Database', array(), array(), '', false);
         $filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/WidgetTest.php b/dev/tests/integration/testsuite/Magento/Catalog/WidgetTest.php
index 75b5e59e086..7ba5a669c10 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/WidgetTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/WidgetTest.php
@@ -31,10 +31,12 @@ class WidgetTest extends \PHPUnit_Framework_TestCase
 {
     public function testNewProductsWidget()
     {
+        $type = 'Magento\Catalog\Block\Product\Widget\NewWidget';
+
         /** @var $model \Magento\Widget\Model\Widget\Instance */
         $model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Widget\Model\Widget\Instance');
-        $config = $model->setType('Magento\Catalog\Block\Product\Widget\NewWidget')->getWidgetConfigAsArray();
+        $config = $model->setType($type)->getWidgetConfigAsArray();
         $templates = $config['parameters']['template']['values'];
         $this->assertArrayHasKey('default', $templates);
         $this->assertArrayHasKey('list', $templates);
@@ -52,5 +54,9 @@ class WidgetTest extends \PHPUnit_Framework_TestCase
         $this->assertContains('left', $containers);
         $this->assertContains('content', $containers);
         $this->assertContains('right', $containers);
+
+        // Verify that the correct id (code) is found for this widget instance type.
+        $code = $model->setType($type)->getWidgetReference('type', $type, 'code');
+        $this->assertEquals('new_products', $code);
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/Advanced/ResultTest.php b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/Advanced/ResultTest.php
index e5621728b7e..8ece02d3762 100644
--- a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/Advanced/ResultTest.php
+++ b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/Advanced/ResultTest.php
@@ -30,7 +30,7 @@ namespace Magento\CatalogSearch\Block\Advanced;
 class ResultTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -41,7 +41,8 @@ class ResultTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->createBlock('Magento\CatalogSearch\Block\Advanced\Result', 'block');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/ResultTest.php b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/ResultTest.php
index 9136a403d20..5ced3929b36 100644
--- a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/ResultTest.php
+++ b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/ResultTest.php
@@ -32,7 +32,7 @@ class ResultTest extends \PHPUnit_Framework_TestCase
     public function testSetListOrders()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $layout->addBlock('Magento\Core\Block\Text', 'head'); // The tested block is using head block
         /** @var $block \Magento\CatalogSearch\Block\Result */
         $block = $layout->addBlock('Magento\CatalogSearch\Block\Result', 'block');
diff --git a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/TermTest.php b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/TermTest.php
index 585b299aece..c826fde614a 100644
--- a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/TermTest.php
+++ b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/TermTest.php
@@ -36,7 +36,7 @@ class TermTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\CatalogSearch\Block\Term');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php
index d700b88c63b..051a4310261 100644
--- a/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php
+++ b/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php
@@ -41,7 +41,7 @@ class RendererTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
             ->getArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)->load();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Checkout\Block\Cart\Item\Renderer');
         /** @var $item \Magento\Sales\Model\Quote\Item */
         $item = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/SidebarTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/SidebarTest.php
index 058c0efe918..83c2fc2d0f5 100644
--- a/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/SidebarTest.php
+++ b/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/SidebarTest.php
@@ -32,7 +32,7 @@ class SidebarTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Checkout\Block\Cart\Sidebar');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Block/CartTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Block/CartTest.php
index 0d79ccb370f..cb457468f0c 100644
--- a/dev/tests/integration/testsuite/Magento/Checkout/Block/CartTest.php
+++ b/dev/tests/integration/testsuite/Magento/Checkout/Block/CartTest.php
@@ -35,7 +35,7 @@ class CartTest extends \PHPUnit_Framework_TestCase
     public function testGetMethods()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $child = $layout->createBlock('Magento\Core\Block\Text')
             ->setChild('child1', $layout->createBlock('Magento\Core\Block\Text', 'method1'))
             ->setChild('child2', $layout->createBlock('Magento\Core\Block\Text', 'method2'));
@@ -49,7 +49,7 @@ class CartTest extends \PHPUnit_Framework_TestCase
     public function testGetMethodsEmptyChild()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $childEmpty = $layout->createBlock('Magento\Core\Block\Text');
         /** @var $block \Magento\Checkout\Block\Cart */
         $block = $layout->createBlock('Magento\Checkout\Block\Cart')
@@ -61,7 +61,7 @@ class CartTest extends \PHPUnit_Framework_TestCase
     public function testGetMethodsNoChild()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Checkout\Block\Cart */
         $block = $layout->createBlock('Magento\Checkout\Block\Cart');
         $methods = $block->getMethods('child');
diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Block/Multishipping/OverviewTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Block/Multishipping/OverviewTest.php
index ba36ce3bd3f..2c4e961180f 100644
--- a/dev/tests/integration/testsuite/Magento/Checkout/Block/Multishipping/OverviewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Checkout/Block/Multishipping/OverviewTest.php
@@ -38,7 +38,7 @@ class OverviewTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
             ->getArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)->load();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Checkout\Block\Multishipping\Overview');
     }
 
@@ -57,6 +57,6 @@ class OverviewTest extends \PHPUnit_Framework_TestCase
             ->create('Magento\Sales\Model\Quote');
         $item->setQuote($quote);
         // assure that default renderer was obtained
-        $this->assertSelectCount('h2.product-name a', 1, $this->_block->getRowItemHtml($item));
+        $this->assertSelectCount('strong.product.name a', 1, $this->_block->getRowItemHtml($item));
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Block/Onepage/Payment/MethodsTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Block/Onepage/Payment/MethodsTest.php
index d3e7e7415f4..de0357afe63 100644
--- a/dev/tests/integration/testsuite/Magento/Checkout/Block/Onepage/Payment/MethodsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Checkout/Block/Onepage/Payment/MethodsTest.php
@@ -40,7 +40,7 @@ class MethodsTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Checkout\Block\Onepage\Payment\Methods');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Block/BlockTest.php b/dev/tests/integration/testsuite/Magento/Cms/Block/BlockTest.php
index bc4aa2d3d12..efa4555a565 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Block/BlockTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Block/BlockTest.php
@@ -41,7 +41,7 @@ class BlockTest extends \PHPUnit_Framework_TestCase
             ->create('Magento\Cms\Model\Block');
         $cmsBlock->load('fixture_block', 'identifier');
         /** @var $block \Magento\Cms\Block\Block */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Cms\Block\Block');
         $block->setBlockId($cmsBlock->getId());
         $result = $block->toHtml();
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Block/Widget/BlockTest.php b/dev/tests/integration/testsuite/Magento/Cms/Block/Widget/BlockTest.php
index a50322fd28c..213126d951e 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Block/Widget/BlockTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Block/Widget/BlockTest.php
@@ -41,7 +41,7 @@ class BlockTest extends \PHPUnit_Framework_TestCase
             ->create('Magento\Cms\Model\Block');
         $cmsBlock->load('fixture_block', 'identifier');
         /** @var $block \Magento\Cms\Block\Widget\Block */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Cms\Block\Widget\Block');
         $block->setBlockId($cmsBlock->getId());
         $block->toHtml();
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Controller/RouterTest.php b/dev/tests/integration/testsuite/Magento/Cms/Controller/RouterTest.php
index 222073b0cc6..b756d44aefc 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Controller/RouterTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Controller/RouterTest.php
@@ -40,14 +40,14 @@ class RouterTest extends \PHPUnit_Framework_TestCase
         $this->_model = new \Magento\Cms\Controller\Router(
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
                 ->get('Magento\Core\Controller\Varien\Action\Factory'),
-            new \Magento\Core\Model\Event\ManagerStub(
-                $this->getMockForAbstractClass('Magento\Core\Model\Event\InvokerInterface', array(), '', false),
-                $this->getMock('Magento\Core\Model\Event\Config', array(), array(), '', false),
+            new \Magento\Event\ManagerInterfaceStub(
+                $this->getMockForAbstractClass('Magento\Event\InvokerInterface'),
+                $this->getMock('Magento\Event\Config', array(), array(), '', false),
                 $this->getMock('Magento\EventFactory', array(), array(), '', false),
                 $this->getMock('Magento\Event\ObserverFactory', array(), array(), '', false)
             ),
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\UrlInterface'),
+                ->get('Magento\UrlInterface'),
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
                 ->get('Magento\Core\Model\Config\Primary'),
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
@@ -66,7 +66,7 @@ class RouterTest extends \PHPUnit_Framework_TestCase
     {
         $this->markTestIncomplete('MAGETWO-3393');
         $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Controller\Request\Http');
+            ->create('Magento\App\RequestInterface');
         //Open Node
         $request->setPathInfo('parent_node');
         $controller = $this->_model->match($request);
@@ -77,9 +77,9 @@ class RouterTest extends \PHPUnit_Framework_TestCase
 /**
  * Event manager stub
  */
-namespace Magento\Core\Model\Event;
+namespace Magento\Event;
 
-class ManagerStub extends \Magento\Core\Model\Event\Manager
+class ManagerStub extends Manager
 {
     /**
      * Stub dispatch event
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Helper/PageTest.php b/dev/tests/integration/testsuite/Magento/Cms/Helper/PageTest.php
index 5d93c6c7e8f..f22ea853453 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Helper/PageTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Helper/PageTest.php
@@ -53,7 +53,7 @@ class PageTest extends \PHPUnit_Framework_TestCase
             $page->getId()
         );
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->assertEquals('magento_blank', $design->getDesignTheme()->getThemePath());
         $this->assertTrue($result);
     }
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Helper/Wysiwyg/ImagesTest.php b/dev/tests/integration/testsuite/Magento/Cms/Helper/Wysiwyg/ImagesTest.php
index 62ad74bc76b..163485cdafc 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Helper/Wysiwyg/ImagesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Helper/Wysiwyg/ImagesTest.php
@@ -27,11 +27,11 @@ class ImagesTest extends \PHPUnit_Framework_TestCase
 {
     public function testGetStorageRoot()
     {
-        /** @var $dir \Magento\Core\Model\Dir */
-        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir');
+        /** @var $dir \Magento\App\Dir */
+        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir');
         $helper = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Cms\Helper\Wysiwyg\Images');
-        $this->assertStringStartsWith($dir->getDir(\Magento\Core\Model\Dir::MEDIA), $helper->getStorageRoot());
+        $this->assertStringStartsWith($dir->getDir(\Magento\App\Dir::MEDIA), $helper->getStorageRoot());
     }
 
     public function testGetCurrentUrl()
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/ConfigTest.php
index ea8309b98df..5a630002ccc 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/ConfigTest.php
@@ -39,7 +39,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Cms\Model\Wysiwyg\Config');
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php b/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php
index fb1fb8e3c15..2f4ed6d7b13 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php
@@ -54,7 +54,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetFilesCollection()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('magento_basic', 'adminhtml');
         /** @var $model \Magento\Cms\Model\Wysiwyg\Images\Storage */
         $model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
@@ -82,7 +82,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
         $viewUrl = $objectManager->get('Magento\Core\Model\View\Url');
         $imageHelper = $objectManager->get('Magento\Cms\Helper\Wysiwyg\Images');
         $coreFileStorageDb = $objectManager->get('Magento\Core\Helper\File\Storage\Database');
-        $dir = $objectManager->get('Magento\Core\Model\Dir');
+        $dir = $objectManager->get('Magento\App\Dir');
         $storageCollectionFactory = $objectManager->get('Magento\Cms\Model\Wysiwyg\Images\Storage\CollectionFactory');
         $storageFileFactory = $objectManager->get('Magento\Core\Model\File\Storage\FileFactory');
         $storageDatabaseFactory = $objectManager->get('Magento\Core\Model\File\Storage\DatabaseFactory');
diff --git a/dev/tests/integration/testsuite/Magento/Code/GeneratorTest.php b/dev/tests/integration/testsuite/Magento/Code/GeneratorTest.php
index 206c1f154fa..5b082726fde 100644
--- a/dev/tests/integration/testsuite/Magento/Code/GeneratorTest.php
+++ b/dev/tests/integration/testsuite/Magento/Code/GeneratorTest.php
@@ -58,9 +58,9 @@ class GeneratorTest extends \PHPUnit_Framework_TestCase
     {
         $this->_includePath = get_include_path();
 
-        /** @var $dirs \Magento\Core\Model\Dir */
-        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir');
-        $generationDirectory = $dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR) . '/generation';
+        /** @var $dirs \Magento\App\Dir */
+        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir');
+        $generationDirectory = $dirs->getDir(\Magento\App\Dir::VAR_DIR) . '/generation';
 
         \Magento\Autoload\IncludePath::addIncludePath($generationDirectory);
 
@@ -77,9 +77,9 @@ class GeneratorTest extends \PHPUnit_Framework_TestCase
 
     protected function tearDown()
     {
-        /** @var $dirs \Magento\Core\Model\Dir */
-        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir');
-        $generationDirectory = $dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR) . '/generation';
+        /** @var $dirs \Magento\App\Dir */
+        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir');
+        $generationDirectory = $dirs->getDir(\Magento\App\Dir::VAR_DIR) . '/generation';
         \Magento\Io\File::rmdirRecursive($generationDirectory);
 
         set_include_path($this->_includePath);
diff --git a/dev/tests/integration/testsuite/Magento/Core/Block/AbstractBlockTest.php b/dev/tests/integration/testsuite/Magento/Core/Block/AbstractBlockTest.php
index e4e561b026f..d7b67ca72cb 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Block/AbstractBlockTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Block/AbstractBlockTest.php
@@ -38,7 +38,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
     protected $_block;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout = null;
 
@@ -46,7 +46,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDefaultDesignTheme();
         $this->_block = $this->getMockForAbstractClass('Magento\Core\Block\AbstractBlock', array(
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Block\Context'),
@@ -62,12 +62,12 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
     public function testCssWithWrongImage()
     {
         $dirPath = __DIR__ . DIRECTORY_SEPARATOR . '_files';
-        /** @var $dirs \Magento\Core\Model\Dir */
-        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir');
+        /** @var $dirs \Magento\App\Dir */
+        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir');
 
         $prepareFileName = new \ReflectionMethod($dirs, '_setDir');
         $prepareFileName->setAccessible(true);
-        $prepareFileName->invoke($dirs, \Magento\Core\Model\Dir::THEMES, $dirPath);
+        $prepareFileName->invoke($dirs, \Magento\App\Dir::THEMES, $dirPath);
 
         $cssUrl = $this->_block->getViewFileUrl('css/wrong.css', array(
             'area'    => 'frontend',
@@ -79,7 +79,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 
     public function testGetRequest()
     {
-        $this->assertInstanceOf('Magento\Core\Controller\Request\Http', $this->_block->getRequest());
+        $this->assertInstanceOf('Magento\App\RequestInterface', $this->_block->getRequest());
     }
 
     /**
@@ -121,7 +121,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals($name, $this->_block->getNameInLayout());
 
         // Setting second time, along with the layout
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $layout->createBlock('Magento\Core\Block\Template', $name);
         $block = $layout->getBlock($name);
         $this->assertInstanceOf('Magento\Core\Block\AbstractBlock', $block);
@@ -250,7 +250,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 
         // With layout
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $child = $layout->createBlock('Magento\Core\Block\Text', $childName);
         $layout->addBlock($this->_block, $parentName);
 
@@ -475,7 +475,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 
     public function testSetFrameTags()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text');
         $block->setText('text');
 
@@ -542,12 +542,12 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
     {
         // Get one from layout
         $this->_block->setLayout(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
         );
         $this->assertInstanceOf('Magento\Core\Block\Messages', $this->_block->getMessagesBlock());
 
         // Set explicitly
-        $messages = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $messages = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Messages');
         $this->_block->setMessagesBlock($messages);
         $this->assertSame($messages, $this->_block->getMessagesBlock());
@@ -637,7 +637,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
     public function testGetCacheKeyInfo()
     {
         $name = uniqid('block.');
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text');
         $block->setNameInLayout($name);
         $this->assertEquals(array($name), $block->getCacheKeyInfo());
@@ -646,7 +646,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
     public function testGetCacheKey()
     {
         $name = uniqid('block.');
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text');
         $block->setNameInLayout($name);
         $key = $block->getCacheKey();
@@ -690,7 +690,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
         $layout = false;
         if ($withLayout) {
             $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Layout');
+                ->get('Magento\View\LayoutInterface');
         }
         for ($i = 0; $i < $qty; $i++) {
             $name = uniqid('block.');
@@ -729,7 +729,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
         }
         if (is_null($this->_layout)) {
             $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Layout');
+                ->get('Magento\View\LayoutInterface');
         }
         $block = $this->_layout->addBlock($mockClass, $name, '', $alias);
         return $block;
diff --git a/dev/tests/integration/testsuite/Magento/Core/Block/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Core/Block/TemplateTest.php
index 13288a6703d..22246796fc2 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Block/TemplateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Block/TemplateTest.php
@@ -39,13 +39,13 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $params = array('layout' => $objectManager->create('Magento\Core\Model\Layout', array()));
         $context = $objectManager->create('Magento\Core\Block\Template\Context', $params);
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Template', '', array('context' => $context));
     }
 
     public function testConstruct()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Template', '', array('data' => array('template' => 'value')));
         $this->assertEquals('value', $block->getTemplate());
     }
@@ -67,21 +67,6 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals('another_area', $this->_block->getArea());
     }
 
-    public function testGetDirectOutput()
-    {
-        $this->assertFalse($this->_block->getDirectOutput());
-
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
-        $layout->setDirectOutput(true);
-        $this->_block->setLayout($layout);
-        $this->assertTrue($this->_block->getDirectOutput());
-    }
-
-    public function testGetShowTemplateHints()
-    {
-        $this->assertFalse($this->_block->getShowTemplateHints());
-    }
-
     /**
      * @covers \Magento\Core\Block\Template::_toHtml
      * @covers \Magento\Core\Block\AbstractBlock::toHtml
diff --git a/dev/tests/integration/testsuite/Magento/Core/Block/Text/ListTest.php b/dev/tests/integration/testsuite/Magento/Core/Block/Text/ListTest.php
index c2ad311e7e7..31f29ae2980 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Block/Text/ListTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Block/Text/ListTest.php
@@ -30,7 +30,7 @@ namespace Magento\Core\Block\Text;
 class ListTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -41,7 +41,8 @@ class ListTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->createBlock('Magento\Core\Block\Text\ListText');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Core/Block/TextTest.php b/dev/tests/integration/testsuite/Magento/Core/Block/TextTest.php
index c5743b9313d..c427fd8346f 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Block/TextTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Block/TextTest.php
@@ -36,7 +36,7 @@ class TextTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Core/Controller/Request/HttpTest.php b/dev/tests/integration/testsuite/Magento/Core/Controller/Request/HttpTest.php
deleted file mode 100644
index 697e57c7646..00000000000
--- a/dev/tests/integration/testsuite/Magento/Core/Controller/Request/HttpTest.php
+++ /dev/null
@@ -1,193 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    Magento
- * @package     Magento_Core
- * @subpackage  integration_tests
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-
-namespace Magento\Core\Controller\Request;
-
-class HttpTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Magento\Core\Controller\Request\Http
-     */
-    protected $_model;
-
-    protected function setUp()
-    {
-        $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Controller\Request\Http');
-    }
-
-    public function testGetOriginalPathInfo()
-    {
-        $this->assertEmpty($this->_model->getOriginalPathInfo());
-    }
-
-    /**
-     * @magentoConfigFixture current_store web/url/use_store 1
-     * @dataProvider setGetPathInfoDataProvider
-     * @magentoDbIsolation enabled
-     * @magentoAppIsolation enabled
-     */
-    public function testSetPathWithStoreCode($requestUri, $expectedResult)
-    {
-        $this->_model->setRequestUri($requestUri);
-        $this->_model->setPathInfo();
-        $this->assertEquals($expectedResult, $this->_model->getPathInfo());
-    }
-
-    /**
-     * @dataProvider setGetPathInfoDataProvider
-     */
-    public function testSetPathWithOut($requestUri)
-    {
-        $this->_model->setRequestUri($requestUri);
-        $this->_model->setPathInfo();
-        $this->assertEquals($requestUri, $this->_model->getPathInfo());
-    }
-
-    public function testSetGetPathInfo()
-    {
-        $this->_model->setPathInfo();
-        $this->assertEmpty($this->_model->getPathInfo());
-
-        $this->_model->setRequestUri('test');
-        $this->_model->setPathInfo();
-        $this->assertEquals('test', $this->_model->getPathInfo());
-
-
-        $this->_model->setPathInfo('new_test');
-        $this->assertEquals('new_test', $this->_model->getPathInfo());
-
-    }
-
-    /**
-     * @see self::testSetPathWithStoreCode()
-     * @return array
-     */
-    public function setGetPathInfoDataProvider()
-    {
-        return array(
-            array(null, null),
-            array('default', '/'),
-            array('default/new', '/new'),
-            array('admin/new', 'admin/new'),
-        );
-    }
-
-    /**
-     * @covers \Magento\Core\Controller\Request\Http::rewritePathInfo
-     * @covers \Magento\Core\Controller\Request\Http::getOriginalPathInfo
-     * @magentoConfigFixture current_store web/url/use_store 1
-     */
-    public function testRewritePathInfoStoreCodeInUrl()
-    {
-        $pathInfo = $this->_model->getPathInfo();
-        $this->_model->rewritePathInfo('test/path');
-        $this->assertNotEquals($pathInfo, $this->_model->getPathInfo());
-        $this->assertEquals('test/path', $this->_model->getPathInfo());
-        $this->assertEquals($pathInfo, $this->_model->getOriginalPathInfo());
-    }
-
-    public function testGetDirectFrontNames()
-    {
-        $this->assertEmpty(
-            $this->_model->getDirectFrontNames(),
-            "After API module removal there should not be areas with direct front name."
-        );
-    }
-
-    public function testGetRequestString()
-    {
-        $this->assertEmpty($this->_model->getRequestString());
-        $this->_model->setRequestUri('test');
-        $this->_model->setPathInfo();
-        $this->assertEquals('test', $this->_model->getRequestString());
-    }
-
-    public function testGetBasePath()
-    {
-        $this->assertEquals('/', $this->_model->getBasePath());
-    }
-
-    public function testGetBaseUrl()
-    {
-        $this->assertEmpty($this->_model->getBaseUrl());
-    }
-
-    public function testSetGetRouteName()
-    {
-        $this->assertEmpty($this->_model->getRouteName());
-        $this->_model->setRouteName('test');
-        $this->assertEquals('test', $this->_model->getRouteName());
-    }
-
-    public function testGetHttpHost()
-    {
-        $this->assertEquals('localhost', $this->_model->getHttpHost());
-        $_SERVER['HTTP_HOST'] = 'example.com:80';
-        $this->assertEquals($_SERVER['HTTP_HOST'], $this->_model->getHttpHost(false));
-        $this->assertEquals('example.com', $this->_model->getHttpHost());
-    }
-
-    public function testSetPost()
-    {
-        $post = $_POST;
-        $this->_model->setPost(array('test' => 'test'));
-        $post['test'] = 'test';
-        $this->assertEquals($post, $this->_model->getPost());
-
-        $this->_model->setPost('key', 'value');
-        $post['key'] = 'value';
-        $this->assertEquals($post, $this->_model->getPost());
-    }
-
-    public function testInitForward()
-    {
-        $this->_model->setParam('test', 'test');
-        $this->_model->initForward();
-        $this->assertEquals(array('test' => 'test'), $this->_model->getBeforeForwardInfo('params'));
-
-        $this->_model->setParam('test', 'test1');
-        /* the call shouldn't override existing info*/
-        $this->_model->initForward();
-        $this->assertEquals(array('test' => 'test'), $this->_model->getBeforeForwardInfo('params'));
-    }
-
-    public function testIsStraight()
-    {
-        $this->assertFalse($this->_model->isStraight());
-        $this->assertTrue($this->_model->isStraight(true));
-        $this->assertTrue($this->_model->isStraight());
-    }
-
-    public function testIsAjax()
-    {
-        $this->assertFalse($this->_model->isAjax());
-        $this->_model->setParam('isAjax', 1);
-        $this->assertTrue($this->_model->isAjax());
-    }
-
-}
diff --git a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/ActionTest.php b/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/ActionTest.php
index 778053f1812..d3dae252969 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/ActionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/ActionTest.php
@@ -42,18 +42,18 @@ class ActionTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $this->_objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)
             ->setDefaultDesignTheme();
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         /** @var $request \Magento\TestFramework\Request */
-        $request = $objectManager->get('Magento\TestFramework\Request');
+        $request = $objectManager->get('Magento\App\RequestInterface');
         $arguments = array(
             'request'  => $request,
             'response' => $this->_objectManager->get('Magento\TestFramework\Response'),
         );
-        $this->_objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $this->_objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)
             ->setDefaultDesignTheme();
         $context = $this->_objectManager->create('Magento\Core\Controller\Varien\Action\Context', $arguments);
@@ -114,7 +114,7 @@ class ActionTest extends \PHPUnit_Framework_TestCase
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
             ->loadArea($expectedArea);
 
-        $this->_objectManager->get('Magento\Core\Model\Config\Scope')->setCurrentScope($expectedArea);
+        $this->_objectManager->get('Magento\Config\ScopeInterface')->setCurrentScope($expectedArea);
         /** @var $controller \Magento\Core\Controller\Varien\Action */
         $controller = $this->_objectManager->create($controllerClass);
         $this->assertInstanceOf('Magento\Core\Model\Layout', $controller->getLayout());
@@ -290,7 +290,7 @@ class ActionTest extends \PHPUnit_Framework_TestCase
             'Magento\Core\Controller\Front\Action',
             array('context'  => $context)
         );
-        $this->_objectManager->get('Magento\Core\Model\Config\Scope')->setCurrentScope('frontend');
+        $this->_objectManager->get('Magento\Config\ScopeInterface')->setCurrentScope('frontend');
         $this->_object->dispatch('not_exists');
 
         $this->assertFalse($request->isDispatched());
@@ -345,7 +345,7 @@ class ActionTest extends \PHPUnit_Framework_TestCase
         $controller = $this->_objectManager->create($controllerClass, array('context' => $context));
         $controller->preDispatch();
 
-        $design = $this->_objectManager->get('Magento\Core\Model\View\DesignInterface');
+        $design = $this->_objectManager->get('Magento\View\DesignInterface');
 
         $this->assertEquals($expectedArea, $design->getArea());
         $this->assertEquals($expectedStore, \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/FrontTest.php b/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/FrontTest.php
deleted file mode 100644
index 8c9384f779b..00000000000
--- a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/FrontTest.php
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    Magento
- * @package     Magento_Core
- * @subpackage  integration_tests
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-
-namespace Magento\Core\Controller\Varien;
-
-class FrontTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Magento\ObjectManager
-     */
-    protected $_objectManager;
-
-    /**
-     * @var \Magento\Core\Controller\Varien\Front
-     */
-    protected $_model;
-
-    protected function setUp()
-    {
-        $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_model = $this->_objectManager->create('Magento\Core\Controller\Varien\Front');
-    }
-
-    public function testSetGetDefault()
-    {
-        $this->_model->setDefault('test', 'value');
-        $this->assertEquals('value', $this->_model->getDefault('test'));
-
-        $default = array('some_key' => 'some_value');
-        $this->_model->setDefault($default);
-        $this->assertEquals($default, $this->_model->getDefault());
-    }
-
-    public function testGetRequest()
-    {
-        $this->assertInstanceOf('Magento\Core\Controller\Request\Http', $this->_model->getRequest());
-    }
-
-    public function testGetResponse()
-    {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')->setResponse(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Controller\Response\Http')
-        );
-        if (!\Magento\TestFramework\Helper\Bootstrap::canTestHeaders()) {
-            $this->markTestSkipped('Can\'t test get response without sending headers');
-        }
-        $this->assertInstanceOf('Magento\Core\Controller\Response\Http', $this->_model->getResponse());
-    }
-
-    public function testGetRouter()
-    {
-        $this->assertInstanceOf('Magento\Core\Controller\Varien\Router\DefaultRouter',
-            $this->_model->getRouter('default'));
-    }
-
-    public function testGetRouters()
-    {
-        $routers = $this->_model->getRouters();
-        $routerIds = array_keys($routers);
-        foreach (array('admin', 'standard', 'default', 'cms', 'vde') as $routerId) {
-            $this->assertContains($routerId, $routerIds);
-            $this->assertInstanceOf('Magento\Core\Controller\Varien\Router\AbstractRouter', $routers[$routerId]);
-        }
-    }
-
-    public function testDispatch()
-    {
-        if (!\Magento\TestFramework\Helper\Bootstrap::canTestHeaders()) {
-            $this->markTestSkipped('Cant\'t test dispatch process without sending headers');
-        }
-        $_SERVER['HTTP_HOST'] = 'localhost';
-        /* empty action */
-        $this->_model->getRequest()->setRequestUri('core/index/index');
-        $this->_model->dispatch();
-        $this->assertEmpty($this->_model->getResponse()->getBody());
-    }
-
-    /**
-     * @param string $sourcePath
-     * @param string $resultPath
-     *
-     * @dataProvider applyRewritesDataProvider
-     * @magentoConfigFixture global/rewrite/test_url/from /test\/(\w*)/
-     * @magentoConfigFixture global/rewrite/test_url/to   new_test/$1/subdirectory
-     * @magentoDataFixture Magento/Core/_files/url_rewrite.php
-     * @magentoDbIsolation enabled
-     */
-    public function testApplyRewrites($sourcePath, $resultPath)
-    {
-        /** @var $request \Magento\Core\Controller\Request\Http */
-        $request = $this->_objectManager->create('Magento\Core\Controller\Request\Http');
-        $request->setPathInfo($sourcePath);
-
-        $this->_model->applyRewrites($request);
-        $this->assertEquals($resultPath, $request->getPathInfo());
-    }
-
-    /**
-     * Data provider for testApplyRewrites
-     *
-     * @return array
-     */
-    public function applyRewritesDataProvider()
-    {
-        return array(
-            'url rewrite' => array(
-                '$sourcePath' => '/test_rewrite_path',      // data from fixture
-                '$resultPath' => 'cms/page/view/page_id/1', // data from fixture
-            ),
-            'configuration rewrite' => array(
-                '$sourcePath' => '/test/url/',
-                '$resultPath' => '/new_test/url/subdirectory/',
-            ),
-        );
-    }
-}
diff --git a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/Router/BaseTest.php b/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/Router/BaseTest.php
index 16398a7666a..88abd658234 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/Router/BaseTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/Router/BaseTest.php
@@ -44,7 +44,7 @@ class BaseTest extends \PHPUnit_Framework_TestCase
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Controller\Varien\Router\Base', $options);
         $this->_model->setFront(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Controller\Varien\Front'));
+            ->create('Magento\App\FrontController'));
     }
 
     public function testFetchDefault()
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/App/AreaTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/App/AreaTest.php
index f0779f4b61e..83b11e71432 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/App/AreaTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/App/AreaTest.php
@@ -53,10 +53,10 @@ class AreaTest extends \PHPUnit_Framework_TestCase
     public function testInitDesign()
     {
         $defaultTheme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')->setDefaultDesignTheme()->getDesignTheme();
+            ->get('Magento\View\DesignInterface')->setDefaultDesignTheme()->getDesignTheme();
         $this->_model->load(\Magento\Core\Model\App\Area::PART_DESIGN);
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setDefaultDesignTheme();
 
         $this->assertEquals($defaultTheme->getThemePath(), $design->getDesignTheme()->getThemePath());
@@ -65,10 +65,10 @@ class AreaTest extends \PHPUnit_Framework_TestCase
         // try second time and make sure it won't load second time
         $this->_model->load(\Magento\Core\Model\App\Area::PART_DESIGN);
         $designArea = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->getArea();
         $sameDesign = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setArea($designArea);
         $this->assertSame($design, $sameDesign);
     }
@@ -81,10 +81,13 @@ class AreaTest extends \PHPUnit_Framework_TestCase
     // @codingStandardsIgnoreEnd
     public function testDetectDesignUserAgent()
     {
-        $_SERVER['HTTP_USER_AGENT'] = 'Mozilla Firefox';
-        $this->_model->detectDesign(new \Zend_Controller_Request_Http);
+        $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+        /** @var $request \Magento\TestFramework\Request */
+        $request = $objectManager->create('Magento\TestFramework\Request');
+        $request->setServer(array('HTTP_USER_AGENT' => 'Mozilla Firefox'));
+        $this->_model->detectDesign($request);
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->assertEquals('magento_blank', $design->getDesignTheme()->getThemePath());
     }
 
@@ -96,7 +99,7 @@ class AreaTest extends \PHPUnit_Framework_TestCase
     {
         $this->_model->detectDesign();
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->assertEquals('magento_blank', $design->getDesignTheme()->getThemePath());
     }
 
@@ -111,12 +114,13 @@ class AreaTest extends \PHPUnit_Framework_TestCase
     // @codingStandardsIgnoreEnd
     public function testDetectDesignNonFrontend()
     {
-        $_SERVER['HTTP_USER_AGENT'] = 'Mozilla Firefox';
-        $model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\App\Area', array('areaCode' => 'install'));
-        $model->detectDesign(new \Zend_Controller_Request_Http);
-        $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+        $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+        $model = $objectManager->create('Magento\Core\Model\App\Area', array('areaCode' => 'install'));
+        /** @var $request \Magento\TestFramework\Request */
+        $request = $objectManager->create('Magento\TestFramework\Request');
+        $request->setServer(array('HTTP_USER_AGENT' => 'Mozilla Firefox'));
+        $model->detectDesign($request);
+        $design = $objectManager->get('Magento\View\DesignInterface');
         $this->assertNotEquals('magento_blank', $design->getDesignTheme()->getThemePath());
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/App/EmulationTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/App/EmulationTest.php
index f09b465e588..b2058b098ce 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/App/EmulationTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/App/EmulationTest.php
@@ -43,7 +43,7 @@ class EmulationTest extends \PHPUnit_Framework_TestCase
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\App\Emulation');
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
 
         $initialEnvInfo = $this->_model->startEnvironmentEmulation(1);
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/AppTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/AppTest.php
index 8b9bc4b96d5..79a25264228 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/AppTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/AppTest.php
@@ -133,7 +133,8 @@ class AppTest extends \PHPUnit_Framework_TestCase
     public function testGetSafeNotExistingStore()
     {
         $this->_mageModel->getSafeStore(100);
-        $this->assertEquals('noRoute', $this->_mageModel->getRequest()->getActionName());
+        $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Request\Http');
+        $this->assertEquals('noRoute', $request->getActionName());
     }
 
     public function testGetStores()
@@ -194,7 +195,7 @@ class AppTest extends \PHPUnit_Framework_TestCase
     public function testGetFrontController()
     {
         $front = $this->_mageModel->getFrontController();
-        $this->assertInstanceOf('Magento\Core\Controller\Varien\Front', $front);
+        $this->assertInstanceOf('Magento\App\FrontController', $front);
         $this->assertSame($front, $this->_mageModel->getFrontController());
     }
 
@@ -230,7 +231,7 @@ class AppTest extends \PHPUnit_Framework_TestCase
 
     public function testSetGetRequest()
     {
-        $this->assertInstanceOf('Magento\Core\Controller\Request\Http', $this->_model->getRequest());
+        $this->assertInstanceOf('Magento\App\RequestInterface', $this->_model->getRequest());
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         /** @var $request \Magento\TestFramework\Request */
@@ -242,8 +243,8 @@ class AppTest extends \PHPUnit_Framework_TestCase
     public function testSetGetResponse()
     {
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Controller\Response\Http')->headersSentThrowsException = false;
-        $this->assertInstanceOf('Magento\Core\Controller\Response\Http', $this->_model->getResponse());
+            ->get('Magento\App\ResponseInterface')->headersSentThrowsException = false;
+        $this->assertInstanceOf('Magento\App\ResponseInterface', $this->_model->getResponse());
         $expectedHeader = array(
             'name' => 'Content-Type',
             'value' => 'text/html; charset=UTF-8',
@@ -251,7 +252,7 @@ class AppTest extends \PHPUnit_Framework_TestCase
         );
         $this->assertContains($expectedHeader, $this->_model->getResponse()->getHeaders());
         $response = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\TestFramework\Response');
+            ->create('Magento\App\ResponseInterface');
         $this->_model->setResponse($response);
         $this->assertSame($response, $this->_model->getResponse());
         $this->assertEmpty($this->_model->getResponse()->getHeaders());
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/ConfigTest.php
index 6929f53db97..9ebd892ee59 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/ConfigTest.php
@@ -109,38 +109,4 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
             ->create('Magento\Core\Model\Config', $arguments);
         return $model;
     }
-
-    /**
-     * @magentoAppIsolation enabled
-     * @expectedException \InvalidArgumentException
-     */
-    public function testGetAreaConfigThrowsExceptionIfNonexistentAreaIsRequested()
-    {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')->getConfig()
-            ->getAreaConfig('non_existent_area_code');
-    }
-
-    /**
-     * Check if areas loaded correctly from configuration
-     */
-    public function testGetAreas()
-    {
-        $this->markTestIncomplete('MAGETWO-6406');
-        $model = $this->_createModel(array('sourceData' => __DIR__ . '/../_files/etc/config.xml'));
-
-        $allowedAreas = $model->getAreas();
-        $this->assertNotEmpty($allowedAreas, 'Areas are not initialized');
-
-        $this->assertArrayHasKey('test_area1', $allowedAreas, 'Test area #1 is not loaded');
-
-        $testAreaExpected = array(
-            'areaNode' => 'value',
-        );
-        $this->assertEquals($testAreaExpected, $allowedAreas['test_area1'], 'Test area is not loaded correctly');
-
-        $this->assertArrayNotHasKey('test_area2', $allowedAreas, 'Test area #2 is loaded by mistake');
-        $this->assertArrayNotHasKey('test_area3', $allowedAreas, 'Test area #3 is loaded by mistake');
-        $this->assertArrayNotHasKey('test_area4', $allowedAreas, 'Test area #4 is loaded by mistake');
-        $this->assertArrayNotHasKey('test_area5', $allowedAreas, 'Test area #5 is loaded by mistake');
-    }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/DataService/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/DataService/ConfigTest.php
index 15b8dc845b3..b263985bdf9 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/DataService/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/DataService/ConfigTest.php
@@ -35,26 +35,26 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        /** @var \Magento\Core\Model\Dir $dirs */
+        /** @var \Magento\App\Dir $dirs */
         $dirs = $objectManager->create(
-            'Magento\Core\Model\Dir',
+            'Magento\App\Dir',
             array(
                 'baseDir' => BP,
                 'dirs' => array(
-                    \Magento\Core\Model\Dir::MODULES => __DIR__ . '/LayoutTest',
-                    \Magento\Core\Model\Dir::CONFIG => __DIR__ . '/LayoutTest',
+                    \Magento\App\Dir::MODULES => __DIR__ . '/LayoutTest',
+                    \Magento\App\Dir::CONFIG => __DIR__ . '/LayoutTest',
                 )
             )
         );
 
         $moduleList = $objectManager->create(
-            'Magento\Core\Model\ModuleList',
+            'Magento\App\ModuleList',
             array(
                 'reader' => $objectManager->create(
-                    'Magento\Core\Model\Module\Declaration\Reader\Filesystem',
+                    'Magento\App\Module\Declaration\Reader\Filesystem',
                     array(
                         'fileResolver' => $objectManager->create(
-                            'Magento\Core\Model\Module\Declaration\FileResolver',
+                            'Magento\App\Module\Declaration\FileResolver',
                             array(
                                 'applicationDirs' => $dirs
                             )
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/DataService/LayoutTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/DataService/LayoutTest.php
index 3498e4f8501..0fa7ef0c086 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/DataService/LayoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/DataService/LayoutTest.php
@@ -72,7 +72,7 @@ class LayoutTest extends \Magento\TestFramework\TestCase\AbstractController
      */
     public function testServiceCalls()
     {
-        /** @var \Magento\Core\Model\Layout $layout */
+        /** @var \Magento\View\LayoutInterface $layout */
         $layout = $this->_getLayoutModel('layout_update.xml');
         $serviceCalls = $layout->getServiceCalls();
         $expectedServiceCalls = array(
@@ -99,16 +99,16 @@ class LayoutTest extends \Magento\TestFramework\TestCase\AbstractController
      *
      * @param string $fixtureFile
      *
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     protected function _getLayoutModel($fixtureFile)
     {
         /** @var $layout \Magento\Core\Model\Layout */
         $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
-            'Magento\Core\Model\Layout',
+            'Magento\View\LayoutInterface',
             array('dataServiceGraph' => $this->_dataServiceGraph)
         );
-        $xml = simplexml_load_file(__DIR__ . "/LayoutTest/{$fixtureFile}", 'Magento\Core\Model\Layout\Element');
+        $xml = simplexml_load_file(__DIR__ . "/LayoutTest/{$fixtureFile}", 'Magento\View\Layout\Element');
         $layout->setXml($xml);
         $layout->generateElements();
         return $layout;
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php
index 0ddfa1568eb..f54b9c6658f 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php
@@ -53,10 +53,10 @@ class FallbackTest extends \PHPUnit_Framework_TestCase
     protected function _buildModel()
     {
         // Prepare config with directories
-        $dirs = new \Magento\Core\Model\Dir(
+        $dirs = new \Magento\App\Dir(
             $this->_baseDir,
             array(),
-            array(\Magento\Core\Model\Dir::THEMES => $this->_viewDir)
+            array(\Magento\App\Dir::THEMES => $this->_viewDir)
         );
 
         return \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/DesignTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/DesignTest.php
index f38f76f92f5..36ca0d661f2 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/DesignTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/DesignTest.php
@@ -52,7 +52,7 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     public function testChangeDesign()
     {
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\View\DesignInterface');
+            ->create('Magento\View\DesignInterface');
         $storeId = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Core\Model\StoreManagerInterface')->getAnyStoreView()->getId(); // fixture design_change
         $designChange = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Email/Template/FilterTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Email/Template/FilterTest.php
index a0c45563feb..764228b32bf 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Email/Template/FilterTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Email/Template/FilterTest.php
@@ -110,7 +110,7 @@ class FilterTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => dirname(__DIR__) . '/_files/design'
+                \Magento\App\Dir::THEMES => dirname(__DIR__) . '/_files/design'
             )
         ));
 
@@ -132,9 +132,9 @@ class FilterTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals($area, $layout->getArea());
         $this->assertEquals(
             $area,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')->getArea()
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')->getArea()
         );
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')->setDesignTheme('test_default');
+        $objectManager->get('Magento\View\DesignInterface')->setDesignTheme('test_default');
 
         $actualOutput = $this->_model->layoutDirective(array(
             '{{layout ' . $directiveParams . '}}',
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Email/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Email/TemplateTest.php
index 47c3d2ab4e4..2acf244ac57 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Email/TemplateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Email/TemplateTest.php
@@ -54,12 +54,12 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
                 $objectManager->create('Magento\Filesystem'),
                 $objectManager->create('Magento\Core\Model\View\Url'),
                 $objectManager->create('Magento\Core\Model\View\FileSystem'),
-                $objectManager->get('Magento\Core\Model\View\DesignInterface'),
+                $objectManager->get('Magento\View\DesignInterface'),
                 $objectManager->create('Magento\Core\Model\Store\Config'),
                 $objectManager->create('Magento\Core\Model\Config'),
                 $objectManager->get('Magento\Core\Model\Email\Template\FilterFactory'),
                 $objectManager->get('Magento\Core\Model\StoreManager'),
-                $objectManager->get('Magento\Core\Model\Dir'),
+                $objectManager->get('Magento\App\Dir'),
                 $objectManager->get('Magento\Core\Model\Email\Template\Config'),
             ))
             ->getMock();
@@ -130,7 +130,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
     protected function _setBlankThemeForFixtureStore()
     {
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme');
+            ->create('Magento\View\Design\ThemeInterface');
         $theme->load('magento_blank', 'theme_path');
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\StoreManagerInterface')
             ->getStore('fixturestore')->setConfig(\Magento\Core\Model\View\Design::XML_PATH_THEME_ID, $theme->getId());
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Fieldset/Config/ReaderTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Fieldset/Config/ReaderTest.php
index 97ab1441007..d5fb8fa0347 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Fieldset/Config/ReaderTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Fieldset/Config/ReaderTest.php
@@ -38,35 +38,35 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
     public function setUp()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        /** @var \Magento\Core\Model\Dir $dirs */
+        /** @var \Magento\App\Dir $dirs */
         $dirs = $objectManager->create(
-            'Magento\Core\Model\Dir', array(
+            'Magento\App\Dir', array(
                 'baseDir' => BP,
                 'dirs' => array(
-                    \Magento\Core\Model\Dir::MODULES => __DIR__ . '/_files',
-                    \Magento\Core\Model\Dir::CONFIG => __DIR__ . '/_files'
+                    \Magento\App\Dir::MODULES => __DIR__ . '/_files',
+                    \Magento\App\Dir::CONFIG => __DIR__ . '/_files'
                 )
             )
         );
 
-        /** @var \Magento\Core\Model\Module\Declaration\FileResolver $modulesDeclarations */
+        /** @var \Magento\App\Module\Declaration\FileResolver $modulesDeclarations */
         $modulesDeclarations = $objectManager->create(
-            'Magento\Core\Model\Module\Declaration\FileResolver', array(
+            'Magento\App\Module\Declaration\FileResolver', array(
                 'applicationDirs' => $dirs,
             )
         );
 
 
-        /** @var \Magento\Core\Model\Module\Declaration\Reader\Filesystem $filesystemReader */
+        /** @var \Magento\App\Module\Declaration\Reader\Filesystem $filesystemReader */
         $filesystemReader = $objectManager->create(
-            'Magento\Core\Model\Module\Declaration\Reader\Filesystem', array(
+            'Magento\App\Module\Declaration\Reader\Filesystem', array(
                 'fileResolver' => $modulesDeclarations,
             )
         );
 
-        /** @var \Magento\Core\Model\ModuleList $modulesList */
+        /** @var \Magento\App\ModuleList $modulesList */
         $modulesList = $objectManager->create(
-            'Magento\Core\Model\ModuleList', array(
+            'Magento\App\ModuleList', array(
                 'reader' => $filesystemReader,
             )
         );
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/File/StorageTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/File/StorageTest.php
index 6dbb64fd282..1983ea3d314 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/File/StorageTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/File/StorageTest.php
@@ -43,7 +43,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
         $this->assertArrayHasKey('allowed_resources', $config);
         $this->assertArrayHasKey('update_time', $config);
         $this->assertEquals(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('media'),
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('media'),
             $config['media_directory']
         );
         $this->assertInternalType('array', $config['allowed_resources']);
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/LayoutDirectivesTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/LayoutDirectivesTest.php
index bd69daa7bd0..28fd7f0383c 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/LayoutDirectivesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/LayoutDirectivesTest.php
@@ -241,16 +241,16 @@ class LayoutDirectivesTest extends \PHPUnit_Framework_TestCase
      * Prepare a layout model with pre-loaded fixture of an update XML
      *
      * @param string $fixtureFile
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     protected function _getLayoutModel($fixtureFile)
     {
-        /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
-        /** @var $xml \Magento\Core\Model\Layout\Element */
+        /** @var $layout \Magento\View\LayoutInterface */
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
+        /** @var $xml \Magento\View\Layout\Element */
         $xml = simplexml_load_file(
             __DIR__ . "/_files/layout_directives_test/{$fixtureFile}",
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $layout->loadString($xml->asXml());
         $layout->generateElements();
@@ -264,8 +264,8 @@ class LayoutDirectivesTest extends \PHPUnit_Framework_TestCase
     {
         $layout = $this->_getLayoutModel('ifconfig.xml');
         $this->assertFalse($layout->getBlock('block1'));
-        $this->assertInstanceOf('Magento\Core\Block', $layout->getBlock('block2'));
-        $this->assertInstanceOf('Magento\Core\Block', $layout->getBlock('block3'));
+        $this->assertInstanceOf('Magento\View\Element\BlockInterface', $layout->getBlock('block2'));
+        $this->assertInstanceOf('Magento\View\Element\BlockInterface', $layout->getBlock('block3'));
         $this->assertFalse($layout->getBlock('block4'));
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php
index cca25c92aee..3b12498494f 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php
@@ -61,7 +61,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     public function constructorDataProvider()
     {
         return array(
-            'default area'  => array(array(), \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA),
+            'default area'  => array(array(), \Magento\View\DesignInterface::DEFAULT_AREA),
             'frontend area' => array(array('area' => 'frontend'), 'frontend'),
             'backend area'  => array(array('area' => 'adminhtml'), 'adminhtml'),
         );
@@ -90,14 +90,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
 
     public function testGetUpdate()
     {
-        $this->assertInstanceOf('Magento\Core\Model\Layout\Merge', $this->_layout->getUpdate());
-    }
-
-    public function testGetSetDirectOutput()
-    {
-        $this->assertFalse($this->_layout->isDirectOutput());
-        $this->_layout->setDirectOutput(true);
-        $this->assertTrue($this->_layout->isDirectOutput());
+        $this->assertInstanceOf('Magento\View\Layout\ProcessorInterface', $this->_layout->getUpdate());
     }
 
     public function testGenerateXml()
@@ -109,7 +102,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         $merge = $this->getMock('StdClass', array('asSimplexml'));
         $merge->expects($this->once())->method('asSimplexml')->will($this->returnValue(simplexml_load_string(
             '<layout><container name="container1"></container></layout>',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         )));
         $layout->expects($this->once())->method('getUpdate')->will($this->returnValue($merge));
         $this->assertEmpty($layout->getXpath('/layout/container[@name="container1"]'));
@@ -134,7 +127,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
                 <block class="Magento\Core\Block\Text" template="test"/>
                 <block class="Magento\Core\Block\Text"/>
             </layout>',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         ));
         $this->assertEquals(array(), $this->_layout->getAllBlocks());
         $this->_layout->generateElements();
@@ -492,7 +485,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     public function testUpdateContainerAttributes()
     {
         $this->_layout->setXml(simplexml_load_file(__DIR__ . '/_files/layout/container_attributes.xml',
-            'Magento\Core\Model\Layout\Element'));
+            'Magento\View\Layout\Element'));
         $this->_layout->generateElements();
         $result = $this->_layout->renderElement('container1', false);
         $this->assertEquals('<div id="container1-2" class="class12">Test11Test12</div>', $result);
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php
index ac3e6a38ed5..ac5cb3c1944 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php
@@ -50,9 +50,9 @@ class MergedTest extends \PHPUnit_Framework_TestCase
         $service = $objectManager->get('Magento\Core\Model\View\Service');
         self::$_themePublicDir = $service->getPublicDir();
 
-        /** @var \Magento\Core\Model\Dir $dirs */
-        $dirs = $objectManager->get('Magento\Core\Model\Dir');
-        self::$_viewPublicMergedDir = $dirs->getDir(\Magento\Core\Model\Dir::PUB_VIEW_CACHE)
+        /** @var \Magento\App\Dir $dirs */
+        $dirs = $objectManager->get('Magento\App\Dir');
+        self::$_viewPublicMergedDir = $dirs->getDir(\Magento\App\Dir::PUB_VIEW_CACHE)
             . DIRECTORY_SEPARATOR . \Magento\Core\Model\Page\Asset\Merged::PUBLIC_MERGE_DIR;
     }
 
@@ -60,10 +60,10 @@ class MergedTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => realpath(__DIR__ . '/../../_files/design')
+                \Magento\App\Dir::THEMES => realpath(__DIR__ . '/../../_files/design')
             )
         ));
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('vendor_default');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Db/Collection/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Db/Collection/AbstractTest.php
index 1512b8c3983..45bf587ab51 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Db/Collection/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Db/Collection/AbstractTest.php
@@ -49,7 +49,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
         $fetchStrategy = $this->getMockForAbstractClass('Magento\Data\Collection\Db\FetchStrategyInterface');
 
         $eventManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Event\Manager');
+            ->get('Magento\Event\ManagerInterface');
 
         $entityFactory = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Core\Model\EntityFactory');
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Layout/UpdateTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Layout/UpdateTest.php
index 953257a412a..b1628436752 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Layout/UpdateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Layout/UpdateTest.php
@@ -45,9 +45,9 @@ class UpdateTest extends \PHPUnit_Framework_TestCase
      */
     public function testFetchUpdatesByHandle()
     {
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme');
+            ->create('Magento\View\Design\ThemeInterface');
         $theme->load('Test Theme', 'theme_title');
         $result = $this->_resourceModel->fetchUpdatesByHandle(
             'test_handle',
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/SetupTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/SetupTest.php
index ba1e57e878e..212d4cfcba0 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/SetupTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/SetupTest.php
@@ -58,8 +58,8 @@ class SetupTest extends \PHPUnit_Framework_TestCase
         $this->_model->deleteTableRow('core_resource', 'code', 'adminnotification_setup');
         $this->_model->getConnection()->dropTable($this->_model->getTable('adminnotification_inbox'));
         $this->_model->getConnection()->dropTable($this->_model->getTable('admin_system_messages'));
-        /** @var $updater \Magento\Core\Model\Db\Updater */
-        $updater = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Db\Updater');
+        /** @var $updater \Magento\App\Updater */
+        $updater = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Updater');
         try {
             $updater->updateScheme();
             $updater->updateData();
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Theme/CollectionTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Theme/CollectionTest.php
index df3e218aa50..7fe2d3e9a3c 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Theme/CollectionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Theme/CollectionTest.php
@@ -66,7 +66,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
     {
         $themeCollection = self::_getThemesCollection();
         $hasFound = false;
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themeCollection as $theme) {
             if ($theme->getFullPath() == $fullPath) {
                 $hasFound = true;
@@ -164,7 +164,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
             ->create('Magento\Core\Model\Resource\Theme\Collection');
         $themeCollection->addAreaFilter('test_area3')->filterVisibleThemes();
         $this->assertCount(2, $themeCollection);
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themeCollection as $theme) {
             $this->assertTrue(in_array(
                 $theme->getType(),
@@ -211,9 +211,9 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
         $themeCollection = self::_getThemesCollection();
         $themeCollection->load();
         foreach (self::getThemeList() as $themeData) {
-            /** @var $themeModel \Magento\Core\Model\Theme */
+            /** @var $themeModel \Magento\View\Design\ThemeInterface */
             $themeModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->create('Magento\Core\Model\Theme');
+                ->create('Magento\View\Design\ThemeInterface');
             $themeModel->setData($themeData);
             $themeCollection->addItem($themeModel);
         }
@@ -228,9 +228,9 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
         $fixture = self::getInheritedThemeList();
         $idByPath = array();
         foreach ($fixture as $themeData) {
-            /** @var $themeModel \Magento\Core\Model\Theme */
+            /** @var $themeModel \Magento\View\Design\ThemeInterface */
             $themeModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->create('Magento\Core\Model\Theme');
+                ->create('Magento\View\Design\ThemeInterface');
             $themeModel->setData($themeData);
 
             if ($themeData['parent_id'] && isset($idByPath[$themeData['parent_id']])) {
@@ -373,7 +373,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
             \Magento\Core\Model\Resource\Theme\Collection::DEFAULT_PAGE_SIZE, $collection->count()
         );
 
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($collection as $theme) {
             $this->assertEquals(\Magento\Core\Model\App\Area::AREA_FRONTEND, $theme->getArea());
             $this->assertEquals(\Magento\Core\Model\Theme::TYPE_PHYSICAL, $theme->getType());
@@ -389,7 +389,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
 
         $this->assertGreaterThan(0, $collection->count());
 
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($collection as $theme) {
             $this->assertEquals(\Magento\Core\Model\App\Area::AREA_FRONTEND, $theme->getArea());
             $this->assertEquals(\Magento\Core\Model\Theme::TYPE_PHYSICAL, $theme->getType());
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/RouterListTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/RouterListTest.php
index 96792dccdea..9ec1794ff60 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/RouterListTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/RouterListTest.php
@@ -32,14 +32,14 @@ class RouterListTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Model\RouterList
+     * @var \Magento\App\RouterList
      */
     protected $_model;
 
     protected function setUp()
     {
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_model = $this->_objectManager->create('Magento\Core\Model\RouterList');
+        $this->_model = $this->_objectManager->create('Magento\App\RouterList');
     }
 
     public function testGetRouterByRoute()
@@ -53,7 +53,7 @@ class RouterListTest extends \PHPUnit_Framework_TestCase
             $this->_model->getRouterByRoute('checkout')
         );
         $this->assertInstanceOf(
-            'Magento\Core\Controller\Varien\Router\DefaultRouter',
+            'Magento\App\Router\DefaultRouter',
             $this->_model->getRouterByRoute('test')
         );
     }
@@ -69,7 +69,7 @@ class RouterListTest extends \PHPUnit_Framework_TestCase
             $this->_model->getRouterByFrontName('checkout')
         );
         $this->assertInstanceOf(
-            'Magento\Core\Controller\Varien\Router\DefaultRouter',
+            'Magento\App\Router\DefaultRouter',
             $this->_model->getRouterByFrontName('test')
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Session/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Session/AbstractTest.php
index 587727bbdc1..8ece7e703e9 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Session/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Session/AbstractTest.php
@@ -168,7 +168,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     public function testGetSessionSavePath()
     {
         $this->assertEquals(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
                 ->getDir('session'),
             $this->_model->getSessionSavePath()
         );
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/StoreTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/StoreTest.php
index 9bfe8521118..67a77b2f975 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/StoreTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/StoreTest.php
@@ -56,10 +56,10 @@ class StoreTest extends \PHPUnit_Framework_TestCase
             'registry'                => $objectManager->get('Magento\Core\Model\Registry'),
             'configCacheType'         => $objectManager->get('Magento\Core\Model\Cache\Type\Config'),
             'url'                     => $objectManager->get('Magento\Core\Model\Url'),
-            'appState'                => $objectManager->get('Magento\Core\Model\App\State'),
-            'request'                 => $objectManager->get('Magento\Core\Controller\Request\Http'),
+            'appState'                => $objectManager->get('Magento\App\State'),
+            'request'                 => $objectManager->get('Magento\App\RequestInterface'),
             'configDataResource'      => $objectManager->get('Magento\Core\Model\Resource\Config\Data'),
-            'dir'                     => $objectManager->get('Magento\Core\Model\Dir'),
+            'dir'                     => $objectManager->get('Magento\App\Dir'),
             'coreStoreConfig'         => $objectManager->get('Magento\Core\Model\Store\Config'),
             'coreConfig'              => $objectManager->get('Magento\Core\Model\Config'),
             'resource'                => $objectManager->get('Magento\Core\Model\Resource\Store'),
@@ -198,7 +198,7 @@ class StoreTest extends \PHPUnit_Framework_TestCase
     public function testGetBaseUrlInPub()
     {
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
-            \Magento\Core\Model\App::PARAM_APP_URIS => array(\Magento\Core\Model\Dir::PUB => '')
+            \Magento\Core\Model\App::PARAM_APP_URIS => array(\Magento\App\Dir::PUB => '')
         ));
         $this->_model = $this->_getStoreModel();
         $this->_model->load('default');
@@ -371,7 +371,7 @@ class StoreTest extends \PHPUnit_Framework_TestCase
      */
     public function testIsUseStoreInUrl($isInstalled, $storeInUrl, $storeId, $expectedResult)
     {
-        $appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false, false);
+        $appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false, false);
         $appStateMock->expects($this->any())
             ->method('isInstalled')
             ->will($this->returnValue($isInstalled));
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/TemplateEngine/TwigTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/TemplateEngine/TwigTest.php
deleted file mode 100644
index 042889e6053..00000000000
--- a/dev/tests/integration/testsuite/Magento/Core/Model/TemplateEngine/TwigTest.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * Integration test of twig engine and classes it calls.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine;
-
-class TwigTest extends \PHPUnit_Framework_TestCase
-{
-    /** @var  \Magento\Core\Model\TemplateEngine\Twig */
-    protected $_twigEngine;
-
-    /**
-     * @var \Magento\TestFramework\ObjectManager
-     */
-    protected $_objectManager;
-
-    /**
-     * Create a Twig template engine to test.
-     */
-    protected function setUp()
-    {
-        $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')->loadAreaPart(
-            \Magento\Core\Model\App\Area::AREA_GLOBAL,
-            \Magento\Core\Model\App\Area::PART_CONFIG
-        );
-        $this->_twigEngine = $this->_objectManager->create('Magento\Core\Model\TemplateEngine\Twig');
-    }
-
-    /**
-     * Render a twig file using the Magento Twig Template Engine.
-     *
-     * @param \Magento\Core\Block\Template $block
-     * @param $fileName
-     * @param array $dictionary
-     * @return string
-     */
-    public function render(\Magento\Core\Block\Template $block, $fileName, array $dictionary = array())
-    {
-        return $this->_twigEngine->render($block, $fileName, $dictionary);
-    }
-
-    /**
-     * Test the render() function with a very simple .twig file.
-     *
-     * Template will include a title taken from the dictionary passed in.
-     */
-    public function testSimpleRender()
-    {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
-            ->loadAreaPart(\Magento\Core\Model\App\Area::AREA_FRONTEND, \Magento\Core\Model\App\Area::PART_DESIGN);
-        $simpleTitle = 'This is the Title';
-        $renderedOutput = '<html><head><title>' . $simpleTitle . '</title></head><body></body></html>';
-        $path = __DIR__ . '/_files';
-        $blockMock = $this->getMockBuilder('Magento\Core\Block\Template')
-            ->disableOriginalConstructor()->getMock();
-
-        $dictionary = array(
-            'simple' => array(
-                'title' => $simpleTitle
-            )
-        );
-
-        $actualOutput = $this->render($blockMock, $path . '/simple.twig', $dictionary);
-        $this->assertSame($renderedOutput, $actualOutput, 'Twig file did not render properly');
-    }
-}
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/CollectionTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/CollectionTest.php
index 2697208aa04..1ce3c36f9d4 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/CollectionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/CollectionTest.php
@@ -100,8 +100,9 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
      */
     public function testHasThemeInCollection()
     {
-        /** @var $themeModel \Magento\Core\Model\Theme */
-        $themeModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Core\Model\Theme');
+        /** @var $themeModel \Magento\View\Design\ThemeInterface */
+        $themeModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->create('Magento\View\Design\ThemeInterface');
         $themeModel->setData(array(
             'area'                 => 'space_area',
             'theme_title'          => 'Space theme',
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/Domain/VirtualTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/Domain/VirtualTest.php
index 0df5b7283c3..033c0269fd6 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/Domain/VirtualTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/Domain/VirtualTest.php
@@ -76,22 +76,22 @@ class VirtualTest extends \PHPUnit_Framework_TestCase
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         //1. set up fixture
-        /** @var $physicalTheme \Magento\Core\Model\Theme */
-        $physicalTheme = $objectManager->create('Magento\Core\Model\Theme');
+        /** @var $physicalTheme \Magento\View\Design\ThemeInterface */
+        $physicalTheme = $objectManager->create('Magento\View\Design\ThemeInterface');
         $physicalTheme->setData($this->_themes['physical']);
         $physicalTheme->save();
 
         $this->_themes['virtual']['parent_id'] = $physicalTheme->getId();
 
-        /** @var $virtualTheme \Magento\Core\Model\Theme */
-        $virtualTheme = $objectManager->create('Magento\Core\Model\Theme');
+        /** @var $virtualTheme \Magento\View\Design\ThemeInterface */
+        $virtualTheme = $objectManager->create('Magento\View\Design\ThemeInterface');
         $virtualTheme->setData($this->_themes['virtual']);
         $virtualTheme->save();
 
         $this->_themes['staging']['parent_id'] = $virtualTheme->getId();
 
-        /** @var $stagingTheme \Magento\Core\Model\Theme */
-        $stagingTheme = $objectManager->create('Magento\Core\Model\Theme');
+        /** @var $stagingTheme \Magento\View\Design\ThemeInterface */
+        $stagingTheme = $objectManager->create('Magento\View\Design\ThemeInterface');
         $stagingTheme->setData($this->_themes['staging']);
         $stagingTheme->save();
 
@@ -99,8 +99,8 @@ class VirtualTest extends \PHPUnit_Framework_TestCase
         $this->_virtualThemeId = $virtualTheme->getId();
 
         //2. run test
-        /** @var $virtualTheme \Magento\Core\Model\Theme */
-        $virtualTheme = $objectManager->create('Magento\Core\Model\Theme');
+        /** @var $virtualTheme \Magento\View\Design\ThemeInterface */
+        $virtualTheme = $objectManager->create('Magento\View\Design\ThemeInterface');
         $virtualTheme->load($this->_virtualThemeId);
 
         $this->assertEquals(
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/FileTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/FileTest.php
index 5e7ba08f5bc..e1b29abae7e 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/FileTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/FileTest.php
@@ -48,8 +48,8 @@ class FileTest extends \PHPUnit_Framework_TestCase
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $this->_model = $objectManager->create('Magento\Core\Model\Theme\File');
-        /** @var $themeModel \Magento\Core\Model\Theme */
-        $themeModel = $objectManager->create('Magento\Core\Model\Theme');
+        /** @var $themeModel \Magento\View\Design\ThemeInterface */
+        $themeModel = $objectManager->create('Magento\View\Design\ThemeInterface');
         $this->_theme = $themeModel->getCollection()->getFirstItem();
         $this->_data = array(
             'file_path' => 'main.css',
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/RegistrationTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/RegistrationTest.php
index 5337d11c2cb..2219338ebdf 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/RegistrationTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/RegistrationTest.php
@@ -45,7 +45,7 @@ class RegistrationTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme');
+            ->create('Magento\View\Design\ThemeInterface');
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\Theme\Registration', array('theme' => $this->_theme));
     }
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/ValidatorTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/ValidatorTest.php
index f50968d1164..87590dab8c6 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/ValidatorTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/ValidatorTest.php
@@ -70,7 +70,7 @@ class ValidatorTest extends \PHPUnit_Framework_TestCase
     protected function _getThemeModel()
     {
         return \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme');
+            ->create('Magento\View\Design\ThemeInterface');
     }
 
     /**
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/ThemeTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/ThemeTest.php
index fa312250df0..731b0bde9f4 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/ThemeTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/ThemeTest.php
@@ -36,8 +36,9 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
      */
     public function testCrud()
     {
-        /** @var $themeModel \Magento\Core\Model\Theme */
-        $themeModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Core\Model\Theme');
+        /** @var $themeModel \Magento\View\Design\ThemeInterface */
+        $themeModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->create('Magento\View\Design\ThemeInterface');
         $themeModel->setData($this->_getThemeValidData());
 
         $crud = new \Magento\TestFramework\Entity($themeModel, array('theme_version' => '2.0.0.1'));
@@ -68,9 +69,9 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
      */
     public function testChildRelation()
     {
-        /** @var $theme \Magento\Core\Model\Theme */
-        /** @var $currentTheme \Magento\Core\Model\Theme */
-        $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Theme');
+        /** @var $theme \Magento\View\Design\ThemeInterface */
+        /** @var $currentTheme \Magento\View\Design\ThemeInterface */
+        $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\Design\ThemeInterface');
         $collection = $theme->getCollection()->addTypeFilter(\Magento\Core\Model\Theme::TYPE_VIRTUAL);
         foreach ($collection as $currentTheme) {
             $parentTheme = $currentTheme->getParentTheme();
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineParserTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineParserTest.php
index 09f3efb7328..6b08c71c251 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineParserTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineParserTest.php
@@ -39,7 +39,7 @@ class InlineParserTest extends \PHPUnit_Framework_TestCase
 
     public static function setUpBeforeClass()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('magento_demo');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineTest.php
index 6af8d576b91..b75084f8017 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineTest.php
@@ -41,7 +41,7 @@ class InlineTest extends \PHPUnit_Framework_TestCase
 
     public static function setUpBeforeClass()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('magento_demo');
     }
 
@@ -99,7 +99,7 @@ class InlineTest extends \PHPUnit_Framework_TestCase
         $expectedText = file_get_contents(__DIR__ . '/_files/_inline_page_expected.html');
 
         $package = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->getDesignTheme()
             ->getPackageCode();
         $expectedText = str_replace(
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/TranslateTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/TranslateTest.php
index 3251c2986c3..ef3713a3ed3 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/TranslateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/TranslateTest.php
@@ -38,7 +38,7 @@ class TranslateTest extends \PHPUnit_Framework_TestCase
     protected $_model;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_designModel;
 
@@ -79,10 +79,10 @@ class TranslateTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->addSharedInstance($this->_viewFileSystem, 'Magento\Core\Model\View\FileSystem');
 
-        /** @var $configModel \Magento\Core\Model\Config */
-        $configModel = $objectManager->get('Magento\Core\Model\Config');
-        $configModel->setModuleDir('Magento_Core', 'i18n', __DIR__ . '/_files/Magento/Core/i18n');
-        $configModel->setModuleDir('Magento_Catalog', 'i18n',
+        /** @var $moduleReader \Magento\Core\Model\Config\Modules\Reader */
+        $moduleReader = $objectManager->get('Magento\Core\Model\Config\Modules\Reader');
+        $moduleReader->setModuleDir('Magento_Core', 'i18n', __DIR__ . '/_files/Magento/Core/i18n');
+        $moduleReader->setModuleDir('Magento_Catalog', 'i18n',
             __DIR__ . '/_files/Magento/Catalog/i18n');
 
         /** @var \Magento\Core\Model\View\Design _designModel */
@@ -143,7 +143,7 @@ class TranslateTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals('en_US', $this->_model->getConfig(\Magento\Core\Model\Translate::CONFIG_KEY_LOCALE));
         $this->assertEquals(1, $this->_model->getConfig(\Magento\Core\Model\Translate::CONFIG_KEY_STORE));
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->assertEquals($design->getDesignTheme()->getId(),
             $this->_model->getConfig(\Magento\Core\Model\Translate::CONFIG_KEY_DESIGN_THEME));
         $this->assertNull($this->_model->getConfig('non_existing_key'));
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Url/RewriteTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Url/RewriteTest.php
index 3776dd01832..4673ef16edb 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Url/RewriteTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Url/RewriteTest.php
@@ -116,9 +116,7 @@ class RewriteTest extends \PHPUnit_Framework_TestCase
     public function testRewrite()
     {
         $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Controller\Request\Http')->setPathInfo('fancy/url.html');
-        $response = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\TestFramework\Response');
+            ->create('Magento\App\RequestInterface')->setPathInfo('fancy/url.html');
         $_SERVER['QUERY_STRING'] = 'foo=bar&___fooo=bar';
 
         $this->_model->setRequestPath('fancy/url.html')
@@ -127,7 +125,7 @@ class RewriteTest extends \PHPUnit_Framework_TestCase
             ->save();
 
         try {
-            $this->assertTrue($this->_model->rewrite(null, $response));
+            $this->assertTrue($this->_model->rewrite($request));
             $this->assertEquals('/another/fancy/url.html?foo=bar', $request->getRequestUri());
             $this->assertEquals('another/fancy/url.html', $request->getPathInfo());
             $this->_model->delete();
@@ -139,26 +137,26 @@ class RewriteTest extends \PHPUnit_Framework_TestCase
 
     public function testRewriteNonExistingRecord()
     {
-        $response = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\TestFramework\Response');
-        $this->assertFalse($this->_model->rewrite(null, $response));
+        $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->create('Magento\App\RequestInterface');
+        $this->assertFalse($this->_model->rewrite($request));
     }
 
     public function testRewriteWrongStore()
     {
-        $response = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\TestFramework\Response');
+        $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->create('Magento\App\RequestInterface');
         $_GET['___from_store'] = uniqid('store');
-        $this->assertFalse($this->_model->rewrite(null, $response));
+        $this->assertFalse($this->_model->rewrite($request));
     }
 
     public function testRewriteNonExistingRecordCorrectStore()
     {
-        $response = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\TestFramework\Response');
+        $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->create('Magento\App\RequestInterface');
         $_GET['___from_store'] = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Core\Model\StoreManagerInterface')->getDefaultStoreView()->getCode();
-        $this->assertFalse($this->_model->rewrite(null, $response));
+        $this->assertFalse($this->_model->rewrite($request));
     }
 
     public function testGetStoreId()
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/UrlTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/UrlTest.php
index b11f7767bb5..800f96742a4 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/UrlTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/UrlTest.php
@@ -92,7 +92,7 @@ class UrlTest extends \PHPUnit_Framework_TestCase
 
     public function testSetGetRequest()
     {
-        $this->assertInstanceOf('Zend_Controller_Request_Http', $this->_model->getRequest());
+        $this->assertInstanceOf('\Magento\App\RequestInterface', $this->_model->getRequest());
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         /** @var $request \Magento\TestFramework\Request */
@@ -643,10 +643,13 @@ class UrlTest extends \PHPUnit_Framework_TestCase
      */
     public function testIsOwnOriginUrl()
     {
-        $_SERVER['HTTP_REFERER'] = 'http://localhost/';
+        $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+        /** @var $request \Magento\TestFramework\Request */
+        $request = $objectManager->get('Magento\App\RequestInterface');
+        $request->setServer(array('HTTP_REFERER' => 'http://localhost/'));
         $this->assertTrue($this->_model->isOwnOriginUrl());
 
-        $_SERVER['HTTP_REFERER'] = 'http://example.com/';
+        $request->setServer(array('HTTP_REFERER' => 'http://example.com/'));
         $this->assertFalse($this->_model->isOwnOriginUrl());
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/View/DesignTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/View/DesignTest.php
index cf7d32d17b8..0c5c7bd0608 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/View/DesignTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/View/DesignTest.php
@@ -33,7 +33,7 @@ namespace Magento\Core\Model\View;
 class DesignTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_model;
 
@@ -43,7 +43,7 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     protected $_viewFileSystem;
 
     /**
-     * @var \Magento\Core\Model\View\Config
+     * @var \Magento\View\ConfigInterface
      */
     protected $_viewConfig;
 
@@ -54,18 +54,18 @@ class DesignTest extends \PHPUnit_Framework_TestCase
 
     public static function setUpBeforeClass()
     {
-        $themeDir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::MEDIA) . 'theme';
+        $themeDir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::MEDIA) . 'theme';
         $filesystem = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Filesystem');
         $filesystem->delete($themeDir . '/frontend');
         $filesystem->delete($themeDir . '/_merged');
 
         $ioAdapter = new \Magento\Io\File();
         $ioAdapter->cp(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::PUB_LIB) . '/prototype/prototype.js',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::PUB_LIB) . '/prototype/prototype.min.js'
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::PUB_LIB) . '/prototype/prototype.js',
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::PUB_LIB) . '/prototype/prototype.min.js'
         );
     }
 
@@ -73,19 +73,19 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     {
         $ioAdapter = new \Magento\Io\File();
         $ioAdapter->rm(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::PUB_LIB) . '/prototype/prototype.min.js'
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::PUB_LIB) . '/prototype/prototype.min.js'
         );
     }
 
     protected function setUp()
     {
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\View\DesignInterface');
+            ->create('Magento\View\DesignInterface');
         $this->_viewFileSystem = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\View\FileSystem');
         $this->_viewConfig = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\View\Config');
+            ->create('Magento\View\ConfigInterface');
         $this->_viewUrl = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\View\Url');
     }
@@ -99,24 +99,24 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => realpath(__DIR__ . '/../_files/design'),
+                \Magento\App\Dir::THEMES => realpath(__DIR__ . '/../_files/design'),
             ),
         ));
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setDesignTheme($themePath);
 
         $this->_viewFileSystem = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\View\FileSystem');
         $this->_viewConfig = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\View\Config');
+            ->create('Magento\View\ConfigInterface');
         $this->_viewUrl = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\View\Url');
     }
 
     public function testSetGetArea()
     {
-        $this->assertEquals(\Magento\Core\Model\View\DesignInterface::DEFAULT_AREA, $this->_model->getArea());
+        $this->assertEquals(\Magento\View\DesignInterface::DEFAULT_AREA, $this->_model->getArea());
         $this->_model->setArea('test');
         $this->assertEquals('test', $this->_model->getArea());
     }
@@ -130,7 +130,7 @@ class DesignTest extends \PHPUnit_Framework_TestCase
 
     public function testGetDesignTheme()
     {
-        $this->assertInstanceOf('Magento\Core\Model\Theme', $this->_model->getDesignTheme());
+        $this->assertInstanceOf('Magento\View\Design\ThemeInterface', $this->_model->getDesignTheme());
     }
 
     /**
@@ -235,9 +235,9 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     public function testGetConfigCustomized()
     {
         $this->_emulateFixtureTheme();
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->getDesignTheme();
         $customConfigFile = $theme->getCustomization()->getCustomViewConfigPath();
         /** @var $filesystem \Magento\Filesystem */
@@ -270,7 +270,7 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     public function testGetViewUrl($appMode, $file, $result)
     {
         $currentAppMode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\App\State')->getMode();
+            ->get('Magento\App\State')->getMode();
         if ($currentAppMode != $appMode) {
             $this->markTestSkipped("Implemented to be run in {$appMode} mode");
         }
@@ -291,7 +291,7 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     public function testGetViewUrlSigned($appMode, $file, $result)
     {
         $currentAppMode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\App\State')->getMode();
+            ->get('Magento\App\State')->getMode();
         if ($currentAppMode != $appMode) {
             $this->markTestSkipped("Implemented to be run in {$appMode} mode");
         }
@@ -312,32 +312,32 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     {
         return array(
             array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 'Magento_Page::favicon.ico',
                 'http://localhost/pub/static/frontend/test_default/en_US/Magento_Page/favicon.ico',
             ),
             array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 'prototype/prototype.js',
                 'http://localhost/pub/lib/prototype/prototype.js'
             ),
             array(
-                \Magento\Core\Model\App\State::MODE_DEVELOPER,
+                \Magento\App\State::MODE_DEVELOPER,
                 'Magento_Page::menu.js',
                 'http://localhost/pub/static/frontend/test_default/en_US/Magento_Page/menu.js'
             ),
             array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 'Magento_Page::menu.js',
                 'http://localhost/pub/static/frontend/test_default/en_US/Magento_Page/menu.js'
             ),
             array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 'Magento_Catalog::widgets.css',
                 'http://localhost/pub/static/frontend/test_default/en_US/Magento_Catalog/widgets.css'
             ),
             array(
-                \Magento\Core\Model\App\State::MODE_DEVELOPER,
+                \Magento\App\State::MODE_DEVELOPER,
                 'Magento_Catalog::widgets.css',
                 'http://localhost/pub/static/frontend/test_default/en_US/Magento_Catalog/widgets.css'
             ),
@@ -346,8 +346,8 @@ class DesignTest extends \PHPUnit_Framework_TestCase
 
     public function testGetPublicFileUrl()
     {
-        $pubLibFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::PUB_LIB) . '/jquery/jquery.js';
+        $pubLibFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::PUB_LIB) . '/jquery/jquery.js';
         $actualResult = $this->_viewUrl->getPublicFileUrl($pubLibFile);
         $this->assertStringEndsWith('/jquery/jquery.js', $actualResult);
     }
@@ -357,8 +357,8 @@ class DesignTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetPublicFileUrlSigned()
     {
-        $pubLibFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::PUB_LIB) . '/jquery/jquery.js';
+        $pubLibFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::PUB_LIB) . '/jquery/jquery.js';
         $actualResult = $this->_viewUrl->getPublicFileUrl($pubLibFile);
         $this->assertStringMatchesFormat('%a/jquery/jquery.js?%d', $actualResult);
     }
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/View/FileSystemTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/View/FileSystemTest.php
index e638069b42c..4c13b98f80d 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/View/FileSystemTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/View/FileSystemTest.php
@@ -42,13 +42,13 @@ class FileSystemTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => dirname(__DIR__) . '/_files/design'
+                \Magento\App\Dir::THEMES => dirname(__DIR__) . '/_files/design'
             )
         ));
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\View\FileSystem');
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setDesignTheme('test_default');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/View/PublicationTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/View/PublicationTest.php
index 3aa084cf677..bc58ac9245e 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/View/PublicationTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/View/PublicationTest.php
@@ -30,7 +30,7 @@ namespace Magento\Core\Model\View;
 class PublicationTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_model;
 
@@ -58,7 +58,7 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
         $this->_viewUrl = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\View\Url');
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
     }
 
     protected function tearDown()
@@ -75,9 +75,9 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetPublicDir()
     {
-        /** @var $dirs \Magento\Core\Model\Dir */
-        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir');
-        $expectedPublicDir = $dirs->getDir(\Magento\Core\Model\Dir::STATIC_VIEW);
+        /** @var $dirs \Magento\App\Dir */
+        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir');
+        $expectedPublicDir = $dirs->getDir(\Magento\App\Dir::STATIC_VIEW);
         $this->assertEquals($expectedPublicDir, $this->_viewService->getPublicDir());
     }
 
@@ -406,9 +406,9 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
      */
     public function testPublishResourcesAndCssWhenChangedCssDevMode()
     {
-        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App\State')
+        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\State')
             ->getMode();
-        if ($mode != \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        if ($mode != \Magento\App\State::MODE_DEVELOPER) {
             $this->markTestSkipped('Valid in developer mode only');
         }
         $this->_testPublishResourcesAndCssWhenChangedCss(true);
@@ -422,9 +422,9 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
      */
     public function testNotPublishResourcesAndCssWhenChangedCssUsualMode()
     {
-        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App\State')
+        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\State')
             ->getMode();
-        if ($mode == \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        if ($mode == \Magento\App\State::MODE_DEVELOPER) {
             $this->markTestSkipped('Valid in non-developer mode only');
         }
         $this->_testPublishResourcesAndCssWhenChangedCss(false);
@@ -440,12 +440,12 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
         $appInstallDir = \Magento\TestFramework\Helper\Bootstrap::getInstance()->getAppInstallDir();
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => "$appInstallDir/media_for_change",
+                \Magento\App\Dir::THEMES => "$appInstallDir/media_for_change",
             )
         ));
 
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->_model->setDesignTheme('test_default');
 
         $this->_viewService = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
@@ -494,9 +494,9 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
      */
     public function testPublishChangedResourcesWhenUnchangedCssDevMode()
     {
-        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App\State')
+        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\State')
             ->getMode();
-        if ($mode != \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        if ($mode != \Magento\App\State::MODE_DEVELOPER) {
             $this->markTestSkipped('Valid in developer mode only');
         }
 
@@ -511,9 +511,9 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
      */
     public function testNotPublishChangedResourcesWhenUnchangedCssUsualMode()
     {
-        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App\State')
+        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\State')
             ->getMode();
-        if ($mode == \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        if ($mode == \Magento\App\State::MODE_DEVELOPER) {
             $this->markTestSkipped('Valid in non-developer mode only');
         }
 
@@ -530,12 +530,12 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
         $appInstallDir = \Magento\TestFramework\Helper\Bootstrap::getInstance()->getAppInstallDir();
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => "$appInstallDir/media_for_change",
+                \Magento\App\Dir::THEMES => "$appInstallDir/media_for_change",
             )
         ));
 
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->_model->setDesignTheme('test_default');
 
         $this->_viewService = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
@@ -577,7 +577,7 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => dirname(__DIR__) . '/_files/design/'
+                \Magento\App\Dir::THEMES => dirname(__DIR__) . '/_files/design/'
             )
         ));
 
@@ -592,7 +592,7 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
 
         // Reinit model with new directories
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->_model->setDesignTheme('test_default');
 
         $this->_viewService = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
@@ -613,7 +613,7 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => dirname(__DIR__) . '/_files/design/'
+                \Magento\App\Dir::THEMES => dirname(__DIR__) . '/_files/design/'
             )
         ));
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')->loadAreaPart(
@@ -643,7 +643,7 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
         $this->assertFileEquals($filePath, str_replace('/', DIRECTORY_SEPARATOR, "{$publishedPath}/css/base64.css"));
 
         $this->_model->setDesignTheme(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme'));
+            ->create('Magento\View\Design\ThemeInterface'));
     }
 
     /**
@@ -670,8 +670,8 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
     public function testGetViewFilePublicPathExistingFile()
     {
         $filePath = 'mage/mage.js';
-        $expectedFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::PUB_LIB) . '/' . $filePath;
+        $expectedFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::PUB_LIB) . '/' . $filePath;
         $this->assertFileExists($expectedFile, 'Please verify existence of public library file');
 
         $actualFile = $this->_viewUrl->getViewFilePublicPath($filePath);
diff --git a/dev/tests/integration/testsuite/Magento/Core/Utility/Layout.php b/dev/tests/integration/testsuite/Magento/Core/Utility/Layout.php
index 35ae9f3b06b..03471c70427 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Utility/Layout.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Utility/Layout.php
@@ -63,7 +63,7 @@ class Layout
             ->will(\PHPUnit_Framework_TestCase::returnValue($files));
         $cache = $this->_testCase->getMockForAbstractClass('Magento\Cache\FrontendInterface');
         return $objectManager->create(
-            'Magento\Core\Model\Layout\Merge', array('fileSource' => $fileSource, 'cache' => $cache)
+            'Magento\View\Layout\ProcessorInterface', array('fileSource' => $fileSource, 'cache' => $cache)
         );
     }
 
@@ -94,13 +94,13 @@ class Layout
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         return array(
-            'mergeFactory'       => $objectManager->get('Magento\Core\Model\Layout\MergeFactory'),
+            'processorFactory'       => $objectManager->get('Magento\View\Layout\ProcessorFactory'),
             'themeFactory'       => $objectManager->get('Magento\Core\Model\Resource\Theme\CollectionFactory'),
             'logger'             => $objectManager->get('Magento\Core\Model\Logger'),
-            'eventManager'       => $objectManager->get('Magento\Core\Model\Event\Manager'),
+            'eventManager'       => $objectManager->get('Magento\Event\ManagerInterface'),
             'factoryHelper'      => $objectManager->get('Magento\Core\Model\Factory\Helper'),
             'coreData'           => $objectManager->get('Magento\Core\Helper\Data'),
-            'design'             => $objectManager->get('Magento\Core\Model\View\DesignInterface'),
+            'design'             => $objectManager->get('Magento\View\DesignInterface'),
             'blockFactory'       => $objectManager->create('Magento\Core\Model\BlockFactory', array()),
             'structure'          => $objectManager->create('Magento\Data\Structure', array()),
             'argumentProcessor'  => $objectManager->create('Magento\Core\Model\Layout\Argument\Processor', array()),
diff --git a/dev/tests/integration/testsuite/Magento/Core/Utility/LayoutTest.php b/dev/tests/integration/testsuite/Magento/Core/Utility/LayoutTest.php
index 0bc7a210b93..dd3a7f1a6cf 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Utility/LayoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Utility/LayoutTest.php
@@ -45,10 +45,10 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
      */
     protected function _assertLayoutUpdate($expectedUpdateFile, $actualUpdate)
     {
-        $this->assertInstanceOf('Magento\Core\Model\Layout\Merge', $actualUpdate);
+        $this->assertInstanceOf('Magento\View\Layout\ProcessorInterface', $actualUpdate);
 
         $layoutUpdateXml = $actualUpdate->getFileLayoutUpdatesXml();
-        $this->assertInstanceOf('Magento\Core\Model\Layout\Element', $layoutUpdateXml);
+        $this->assertInstanceOf('Magento\View\Layout\Element', $layoutUpdateXml);
         $this->assertXmlStringEqualsXmlFile($expectedUpdateFile, $layoutUpdateXml->asNiceXml());
     }
 
@@ -71,7 +71,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     public function testGetLayoutFromFixture($inputFiles, $expectedFile)
     {
         $layout = $this->_utility->getLayoutFromFixture($inputFiles, $this->_utility->getLayoutDependencies());
-        $this->assertInstanceOf('Magento\Core\Model\Layout', $layout);
+        $this->assertInstanceOf('Magento\View\LayoutInterface', $layout);
         $this->_assertLayoutUpdate($expectedFile, $layout->getUpdate());
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Core/_files/layout_update.php b/dev/tests/integration/testsuite/Magento/Core/_files/layout_update.php
index 6103e98b9d8..51391e9e347 100644
--- a/dev/tests/integration/testsuite/Magento/Core/_files/layout_update.php
+++ b/dev/tests/integration/testsuite/Magento/Core/_files/layout_update.php
@@ -29,8 +29,8 @@
 $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
 $objectManager->get('Magento\Core\Model\App')
     ->loadAreaPart(\Magento\Core\Model\App\Area::AREA_ADMINHTML, \Magento\Core\Model\App\Area::PART_CONFIG);
-/** @var $theme \Magento\Core\Model\Theme */
-$theme = $objectManager->create('Magento\Core\Model\Theme');
+/** @var $theme \Magento\View\Design\ThemeInterface */
+$theme = $objectManager->create('Magento\View\Design\ThemeInterface');
 $theme->setThemePath('test/test')
     ->setThemeVersion('2.0.0.0')
     ->setArea('frontend')
diff --git a/dev/tests/integration/testsuite/Magento/Customer/Block/Account/Dashboard/InfoTest.php b/dev/tests/integration/testsuite/Magento/Customer/Block/Account/Dashboard/InfoTest.php
index b031a7e5929..684bef2b9bd 100644
--- a/dev/tests/integration/testsuite/Magento/Customer/Block/Account/Dashboard/InfoTest.php
+++ b/dev/tests/integration/testsuite/Magento/Customer/Block/Account/Dashboard/InfoTest.php
@@ -36,7 +36,7 @@ class InfoTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Customer\Block\Account\Dashboard\Info');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Customer/Block/Widget/GenderTest.php b/dev/tests/integration/testsuite/Magento/Customer/Block/Widget/GenderTest.php
index 6f7536efe6e..4603d0acc5c 100644
--- a/dev/tests/integration/testsuite/Magento/Customer/Block/Widget/GenderTest.php
+++ b/dev/tests/integration/testsuite/Magento/Customer/Block/Widget/GenderTest.php
@@ -36,7 +36,7 @@ class GenderTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Customer\Block\Widget\Gender');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Config/QuickStylesTest.php b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Config/QuickStylesTest.php
index 340e8e39e81..1bf4d156f9b 100644
--- a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Config/QuickStylesTest.php
+++ b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Config/QuickStylesTest.php
@@ -35,7 +35,7 @@ class QuickStylesTest extends \PHPUnit_Framework_TestCase
     protected $_model;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -50,8 +50,8 @@ class QuickStylesTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_design = $objectManager->get('Magento\Core\Model\View\DesignInterface');
-        $this->_design->setDesignTheme('vendor_test', \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA);
+        $this->_design = $objectManager->get('Magento\View\DesignInterface');
+        $this->_design->setDesignTheme('vendor_test', \Magento\View\DesignInterface::DEFAULT_AREA);
         $this->_viewFileSystem = $objectManager->get('Magento\Core\Model\View\FileSystem');
         $quickStylesPath = $this->_viewFileSystem->getFilename('Magento_DesignEditor::controls/quick_styles.xml');
         $this->assertFileExists($quickStylesPath);
diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Editor/Tools/Controls/ConfigurationTest.php b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Editor/Tools/Controls/ConfigurationTest.php
index eebd82205d5..2a4ed51970f 100644
--- a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Editor/Tools/Controls/ConfigurationTest.php
+++ b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Editor/Tools/Controls/ConfigurationTest.php
@@ -35,7 +35,7 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase
     protected $_configFactory;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -45,9 +45,9 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
-            'Magento\Core\Model\View\DesignInterface'
+            'Magento\View\DesignInterface'
         );
-        $this->_design->setDesignTheme('vendor_test_child', \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA);
+        $this->_design->setDesignTheme('vendor_test_child', \Magento\View\DesignInterface::DEFAULT_AREA);
         $this->_configFactory = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
             'Magento\DesignEditor\Model\Editor\Tools\Controls\Factory'
         );
@@ -63,7 +63,7 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase
     public function testLoadConfigurations($type, $controlName, $controlData)
     {
         $designTheme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->getDesignTheme();
         $configuration = $this->_configFactory->create($type, $designTheme);
         $this->assertEquals($controlData, $configuration->getControlData($controlName));
@@ -136,7 +136,7 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase
     {
         $type = \Magento\DesignEditor\Model\Editor\Tools\Controls\Factory::TYPE_QUICK_STYLES;
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->getDesignTheme();
         $configuration = $this->_configFactory->create($type, $theme);
         $configuration->saveData($saveData);
diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/ObserverTest.php b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/ObserverTest.php
index d4fb05fe3b9..9702190a028 100644
--- a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/ObserverTest.php
+++ b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/ObserverTest.php
@@ -39,7 +39,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
      */
     public function testCleanJs($area, $designMode, $expectedAssets)
     {
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $headBlock \Magento\Page\Block\Html\Head */
         $headBlock = $layout->createBlock('Magento\Page\Block\Html\Head', 'head');
         $headBlock->setData('vde_design_mode', $designMode);
@@ -75,12 +75,12 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         }
 
 
-        /** @var \Magento\Core\Model\Config\Scope $configScope */
-        $configScope = $objectManager->get('Magento\Core\Model\Config\Scope');
+        /** @var \Magento\Config\Scope $configScope */
+        $configScope = $objectManager->get('Magento\Config\ScopeInterface');
         $configScope->setCurrentScope($area);
 
-        /** @var $eventManager \Magento\Core\Model\Event\Manager */
-        $eventManager = $objectManager->get('Magento\Core\Model\Event\Manager');
+        /** @var $eventManager \Magento\Event\ManagerInterface */
+        $eventManager = $objectManager->get('Magento\Event\ManagerInterface');
         $eventManager->dispatch('controller_action_layout_generate_blocks_after', array('layout' => $layout));
 
         $actualAssets = array_keys($pageAssets->getAll());
diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Theme/ChangeTest.php b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Theme/ChangeTest.php
index 34d88616193..34390230f57 100644
--- a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Theme/ChangeTest.php
+++ b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Theme/ChangeTest.php
@@ -52,9 +52,10 @@ class ChangeTest extends \PHPUnit_Framework_TestCase
      */
     protected function _getChangeValidData()
     {
-        /** @var $theme \Magento\Core\Model\Theme */
-        /** @var $themeModel \Magento\Core\Model\Theme */
-        $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Core\Model\Theme');
+        /** @var $theme \Magento\View\Design\ThemeInterface */
+        /** @var $themeModel \Magento\View\Design\ThemeInterface */
+        $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->create('Magento\View\Design\ThemeInterface');
         $themeModel = $theme->getCollection()->getFirstItem();
 
         return array(
diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Translate/InlineVdeTest.php b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Translate/InlineVdeTest.php
index 3267cb2506f..87132cac920 100644
--- a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Translate/InlineVdeTest.php
+++ b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Translate/InlineVdeTest.php
@@ -35,7 +35,7 @@ class InlineVdeTest extends \PHPUnit_Framework_TestCase
     protected $_model;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -46,7 +46,7 @@ class InlineVdeTest extends \PHPUnit_Framework_TestCase
 
     public static function setUpBeforeClass()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('magento_demo');
     }
 
@@ -55,7 +55,7 @@ class InlineVdeTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
 
         $this->_model = $objectManager->get('Magento\DesignEditor\Model\Translate\InlineVde');
-        $this->_request = $objectManager->get('Magento\Core\Controller\Request\Http');
+        $this->_request = $objectManager->get('Magento\App\RequestInterface');
         $this->_request->setParam('translation_mode', 'text');
 
         $this->_helperData = $objectManager->get('Magento\DesignEditor\Helper\Data');
@@ -65,7 +65,7 @@ class InlineVdeTest extends \PHPUnit_Framework_TestCase
     public function testObjectCreation()
     {
         $this->assertInstanceOf('Magento\DesignEditor\Model\Translate\InlineVde', $this->_model);
-        $this->assertInstanceOf('Magento\Core\Controller\Request\Http', $this->_request);
+        $this->assertInstanceOf('Magento\App\RequestInterface', $this->_request);
         $this->assertInstanceOf('Magento\DesignEditor\Helper\Data', $this->_helperData);
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/_files/design/themes.php b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/_files/design/themes.php
index 669599b5e5a..0a068650796 100644
--- a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/_files/design/themes.php
+++ b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/_files/design/themes.php
@@ -27,7 +27,7 @@
 
 \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
     \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-        \Magento\Core\Model\Dir::THEMES => dirname(__DIR__) . '/design'
+        \Magento\App\Dir::THEMES => dirname(__DIR__) . '/design'
     )
 ));
 
diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/_files/design_editor_active.php b/dev/tests/integration/testsuite/Magento/DesignEditor/_files/design_editor_active.php
index bdc8bdc46bb..714aa8d020a 100644
--- a/dev/tests/integration/testsuite/Magento/DesignEditor/_files/design_editor_active.php
+++ b/dev/tests/integration/testsuite/Magento/DesignEditor/_files/design_editor_active.php
@@ -24,7 +24,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
     ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
 $session = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
     ->create('Magento\DesignEditor\Model\Session');
@@ -35,9 +35,9 @@ $auth->setAuthStorage($session);
 $auth->login(\Magento\TestFramework\Bootstrap::ADMIN_NAME, \Magento\TestFramework\Bootstrap::ADMIN_PASSWORD);
 $session->activateDesignEditor();
 
-/** @var $theme \Magento\Core\Model\Theme */
+/** @var $theme \Magento\View\Design\ThemeInterface */
 $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-    ->create('Magento\Core\Model\Theme');
+    ->create('Magento\View\Design\ThemeInterface');
 $theme->setData(array(
     'theme_code'           => 'blank',
     'area'                 => 'frontend',
diff --git a/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/LinksTest.php b/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/LinksTest.php
index 148d95e80f4..a6c95a813c4 100644
--- a/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/LinksTest.php
+++ b/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/LinksTest.php
@@ -32,7 +32,7 @@ class LinksTest
 {
     public function testGetUploadButtonsHtml()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Downloadable\Block\Adminhtml\Catalog\Product\Edit\Tab\Downloadable\Links');
         self::performUploadButtonTest($block);
     }
@@ -49,7 +49,7 @@ class LinksTest
             ->create('Magento\Core\Model\Layout');
         $layout->addBlock($block, 'links');
         $expected = uniqid();
-        $text = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $text = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text', '', array('data' => array('text' => $expected)));
         $block->unsetChild('upload_button');
         $layout->addBlock($text, 'upload_button', 'links');
@@ -65,7 +65,7 @@ class LinksTest
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')
             ->register('product', new \Magento\Object(array('type_id' => 'simple')));
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Downloadable\Block\Adminhtml\Catalog\Product\Edit\Tab\Downloadable\Links');
         $this->assertEmpty($block->getLinkData());
     }
@@ -90,7 +90,7 @@ class LinksTest
             'id' => '1',
             'links_title' => $linksTitle
         )));
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Downloadable\Block\Adminhtml\Catalog\Product\Edit\Tab\Downloadable\Links');
         $this->assertEquals($expectedResult, $block->getLinksTitle());
     }
diff --git a/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/SamplesTest.php b/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/SamplesTest.php
index 707f51b27c0..d89c344509c 100644
--- a/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/SamplesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/SamplesTest.php
@@ -32,7 +32,7 @@ class SamplesTest
 {
     public function testGetUploadButtonsHtml()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Downloadable\Block\Adminhtml\Catalog\Product\Edit\Tab\Downloadable\Samples');
         \Magento\Downloadable\Block\Adminhtml\Catalog\Product\Edit\Tab\Downloadable\LinksTest
             ::performUploadButtonTest($block);
@@ -47,7 +47,7 @@ class SamplesTest
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')
             ->register('current_product', new \Magento\Object(array('type_id' => 'simple')));
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Downloadable\Block\Adminhtml\Catalog\Product\Edit\Tab\Downloadable\Samples');
         $this->assertEmpty($block->getSampleData());
     }
@@ -72,7 +72,7 @@ class SamplesTest
             'id' => '1',
             'samples_title' => $samplesTitle
         )));
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Downloadable\Block\Adminhtml\Catalog\Product\Edit\Tab\Downloadable\Samples');
         $this->assertEquals($expectedResult, $block->getSamplesTitle());
     }
diff --git a/dev/tests/integration/testsuite/Magento/Downloadable/Controller/ProductTest.php b/dev/tests/integration/testsuite/Magento/Downloadable/Controller/ProductTest.php
index d5262e0ea98..5df8495492e 100644
--- a/dev/tests/integration/testsuite/Magento/Downloadable/Controller/ProductTest.php
+++ b/dev/tests/integration/testsuite/Magento/Downloadable/Controller/ProductTest.php
@@ -40,7 +40,7 @@ class ProductTest extends \Magento\TestFramework\TestCase\AbstractController
         $this->dispatch('catalog/product/view/id/1');
         $this->assertContains(
             'catalog_product_view_type_downloadable',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->getUpdate()->getHandles()
         );
         $responseBody = $this->getResponse()->getBody();
diff --git a/dev/tests/integration/testsuite/Magento/Eav/Block/Adminhtml/Attribute/Edit/Main/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Eav/Block/Adminhtml/Attribute/Edit/Main/AbstractTest.php
index 9889f3e50fb..f119bfe1110 100644
--- a/dev/tests/integration/testsuite/Magento/Eav/Block/Adminhtml/Attribute/Edit/Main/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Eav/Block/Adminhtml/Attribute/Edit/Main/AbstractTest.php
@@ -41,7 +41,7 @@ class AbstractTest
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
 
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $entityType = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Eav\Model\Config')
diff --git a/dev/tests/integration/testsuite/Magento/Filesystem/Adapter/LocalTest.php b/dev/tests/integration/testsuite/Magento/Filesystem/Adapter/LocalTest.php
index 53639d4d62b..3b164197e42 100644
--- a/dev/tests/integration/testsuite/Magento/Filesystem/Adapter/LocalTest.php
+++ b/dev/tests/integration/testsuite/Magento/Filesystem/Adapter/LocalTest.php
@@ -47,8 +47,8 @@ class LocalTest extends \PHPUnit_Framework_TestCase
 
     protected static function _getTmpDir()
     {
-        return \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-            ->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'Magento\Filesystem\Adapter\LocalTest';
+        return \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+            ->getDir(\Magento\App\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'Magento\Filesystem\Adapter\LocalTest';
     }
 
     /**
diff --git a/dev/tests/integration/testsuite/Magento/GiftMessage/Block/Message/InlineTest.php b/dev/tests/integration/testsuite/Magento/GiftMessage/Block/Message/InlineTest.php
index cfed9e44ac8..1d6530c3fc8 100644
--- a/dev/tests/integration/testsuite/Magento/GiftMessage/Block/Message/InlineTest.php
+++ b/dev/tests/integration/testsuite/Magento/GiftMessage/Block/Message/InlineTest.php
@@ -36,7 +36,7 @@ class InlineTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\GiftMessage\Block\Message\Inline');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/GoogleShopping/Block/Adminhtml/Items/ProductTest.php b/dev/tests/integration/testsuite/Magento/GoogleShopping/Block/Adminhtml/Items/ProductTest.php
index a8ed213ed6c..241a77401f6 100644
--- a/dev/tests/integration/testsuite/Magento/GoogleShopping/Block/Adminhtml/Items/ProductTest.php
+++ b/dev/tests/integration/testsuite/Magento/GoogleShopping/Block/Adminhtml/Items/ProductTest.php
@@ -36,14 +36,14 @@ class ProductTest extends \PHPUnit_Framework_TestCase
     {
         $this->markTestIncomplete('Magento_GoogleShopping is not implemented yet');
 
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\GoogleShopping\Block\Adminhtml\Items\Product');
-        $filter = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $filter = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text');
-        $search = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $search = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text');
 
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $layout->addBlock($block, 'product');
         $layout->addBlock($filter, 'reset_filter_button', 'product');
         $layout->addBlock($search, 'search_button', 'product');
diff --git a/dev/tests/integration/testsuite/Magento/Image/Adapter/InterfaceTest.php b/dev/tests/integration/testsuite/Magento/Image/Adapter/InterfaceTest.php
index e4673bedb94..aab82d30da2 100644
--- a/dev/tests/integration/testsuite/Magento/Image/Adapter/InterfaceTest.php
+++ b/dev/tests/integration/testsuite/Magento/Image/Adapter/InterfaceTest.php
@@ -597,7 +597,7 @@ class InterfaceTest extends \PHPUnit_Framework_TestCase
         $adapter = $this->_getAdapter($adapterType);
         $adapter->createPngFromString(
             'T',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir()
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir()
                 . '/lib/LinLibertineFont/LinLibertine_Re-4.4.1.ttf'
         );
         $adapter->refreshImageDimensions();
diff --git a/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/Edit/FormTest.php
index c631ffc58de..24a25cea3a1 100644
--- a/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/Edit/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/Edit/FormTest.php
@@ -62,7 +62,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\ImportExport\Block\Adminhtml\Export\Edit\Form');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/FilterTest.php b/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/FilterTest.php
index ce0a46563fa..7cfd5bf603a 100644
--- a/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/FilterTest.php
+++ b/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/FilterTest.php
@@ -38,7 +38,7 @@ class FilterTest
      */
     public function testGetDateFromToHtmlWithValue()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Import/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Import/Edit/FormTest.php
index b00b3e46e68..1acc3780ecd 100644
--- a/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Import/Edit/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Import/Edit/FormTest.php
@@ -63,7 +63,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
      */
     public function testPrepareForm()
     {
-        $formBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $formBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\ImportExport\Block\Adminhtml\Import\Edit\Form');
         $prepareForm = new \ReflectionMethod(
             'Magento\ImportExport\Block\Adminhtml\Import\Edit\Form',
diff --git a/dev/tests/integration/testsuite/Magento/ImportExport/Model/Import/Entity/ProductTest.php b/dev/tests/integration/testsuite/Magento/ImportExport/Model/Import/Entity/ProductTest.php
index 66ebe2cb13c..6dab6350f52 100644
--- a/dev/tests/integration/testsuite/Magento/ImportExport/Model/Import/Entity/ProductTest.php
+++ b/dev/tests/integration/testsuite/Magento/ImportExport/Model/Import/Entity/ProductTest.php
@@ -500,7 +500,7 @@ class ProductTest extends \PHPUnit_Framework_TestCase
      */
     public static function mediaImportImageFixture()
     {
-        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
+        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
             ->getDir('media') . '/import';
         mkdir($dir);
         copy(__DIR__ . '/../../../../../Magento/Catalog/_files/magento_image.jpg', "{$dir}/magento_image.jpg");
@@ -511,7 +511,7 @@ class ProductTest extends \PHPUnit_Framework_TestCase
      */
     public static function mediaImportImageFixtureRollback()
     {
-        $media = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
+        $media = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
             ->getDir('media');
         \Magento\Io\File::rmdirRecursive("{$media}/import");
         \Magento\Io\File::rmdirRecursive("{$media}/catalog");
diff --git a/dev/tests/integration/testsuite/Magento/Index/Model/Process/FileTest.php b/dev/tests/integration/testsuite/Magento/Index/Model/Process/FileTest.php
index 29285323abb..9b6000059c4 100644
--- a/dev/tests/integration/testsuite/Magento/Index/Model/Process/FileTest.php
+++ b/dev/tests/integration/testsuite/Magento/Index/Model/Process/FileTest.php
@@ -61,9 +61,9 @@ class FileTest extends \PHPUnit_Framework_TestCase
     {
         $this->_objectManager   = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $this->_model           = $this->_objectManager->create('Magento\Index\Model\Process\File');
-        /** @var $dir \Magento\Core\Model\Dir */
-        $dir = $this->_objectManager->get('Magento\Core\Model\Dir');
-        $this->_fileDirectory   = $dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'locks';
+        /** @var $dir \Magento\App\Dir */
+        $dir = $this->_objectManager->get('Magento\App\Dir');
+        $this->_fileDirectory   = $dir->getDir(\Magento\App\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'locks';
         $fullFileName           = $this->_fileDirectory . DIRECTORY_SEPARATOR . self::FILE_NAME;
         $this->_testFileHandler = fopen($fullFileName, 'w');
     }
diff --git a/dev/tests/integration/testsuite/Magento/Install/Controller/WizardTest.php b/dev/tests/integration/testsuite/Magento/Install/Controller/WizardTest.php
index 36207215797..b700881041b 100644
--- a/dev/tests/integration/testsuite/Magento/Install/Controller/WizardTest.php
+++ b/dev/tests/integration/testsuite/Magento/Install/Controller/WizardTest.php
@@ -58,12 +58,12 @@ class WizardTest extends \Magento\TestFramework\TestCase\AbstractController
     {
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->configure(array(
             'preferences' => array(
-                'Magento\Core\Controller\Request\Http' => 'Magento\TestFramework\Request',
-                'Magento\Core\Controller\Response\Http' => 'Magento\TestFramework\Response'
+                'Magento\App\RequestInterface' => 'Magento\TestFramework\Request',
+                'Magento\App\Response\Http' => 'Magento\TestFramework\Response'
             )
         ));
-        /** @var $appState \Magento\Core\Model\App\State */
-        $appState = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App\State');
+        /** @var $appState \Magento\App\State */
+        $appState = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\State');
         $appState->setInstallDate(false);
         $this->dispatch('install/wizard');
         $this->assertEquals(200, $this->getResponse()->getHttpResponseCode());
@@ -78,12 +78,12 @@ class WizardTest extends \Magento\TestFramework\TestCase\AbstractController
     public function testPreDispatchImpossibleToRenderPage($action)
     {
         $params = self::$_params;
-        $params[\Magento\Core\Model\App::PARAM_APP_DIRS][\Magento\Core\Model\Dir::STATIC_VIEW] = self::$_tmpDir;
+        $params[\Magento\Core\Model\App::PARAM_APP_DIRS][\Magento\App\Dir::STATIC_VIEW] = self::$_tmpDir;
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize($params);
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->configure(array(
             'preferences' => array(
-                'Magento\Core\Controller\Request\Http' => 'Magento\TestFramework\Request',
-                'Magento\Core\Controller\Response\Http' => 'Magento\TestFramework\Response'
+                'Magento\App\RequestInterface' => 'Magento\TestFramework\Request',
+                'Magento\App\Response\Http' => 'Magento\TestFramework\Response'
             )
         ));
         $this->dispatch("install/wizard/{$action}");
diff --git a/dev/tests/integration/testsuite/Magento/Install/IndexTest.php b/dev/tests/integration/testsuite/Magento/Install/IndexTest.php
index e85945a81fe..f5f3eb492c7 100644
--- a/dev/tests/integration/testsuite/Magento/Install/IndexTest.php
+++ b/dev/tests/integration/testsuite/Magento/Install/IndexTest.php
@@ -37,8 +37,8 @@ class IndexTest extends \Magento\TestFramework\TestCase\AbstractController
          * because in integration testing environment the application is considered "installed"
          */
         $this->assertFileExists(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::TMP)
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::TMP)
         );
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Install/Model/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Install/Model/ConfigTest.php
index ba5c041a5b8..c39ea4fc6e4 100644
--- a/dev/tests/integration/testsuite/Magento/Install/Model/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Install/Model/ConfigTest.php
@@ -53,35 +53,35 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
         }
         $cacheState->persist();
 
-        /** @var \Magento\Core\Model\Dir $dirs */
+        /** @var \Magento\App\Dir $dirs */
         $dirs = $this->_objectManager->create(
-            'Magento\Core\Model\Dir', array(
+            'Magento\App\Dir', array(
                 'baseDir' => BP,
                 'dirs' => array(
-                    \Magento\Core\Model\Dir::MODULES => __DIR__ . '/_files',
-                    \Magento\Core\Model\Dir::CONFIG => __DIR__ . '/_files'
+                    \Magento\App\Dir::MODULES => __DIR__ . '/_files',
+                    \Magento\App\Dir::CONFIG => __DIR__ . '/_files'
                 )
             )
         );
 
-        /** @var \Magento\Core\Model\Module\Declaration\FileResolver $modulesDeclarations */
+        /** @var \Magento\App\Module\Declaration\FileResolver $modulesDeclarations */
         $modulesDeclarations = $this->_objectManager->create(
-            'Magento\Core\Model\Module\Declaration\FileResolver', array(
+            'Magento\App\Module\Declaration\FileResolver', array(
                 'applicationDirs' => $dirs,
             )
         );
 
 
-        /** @var \Magento\Core\Model\Module\Declaration\Reader\Filesystem $filesystemReader */
+        /** @var \Magento\App\Module\Declaration\Reader\Filesystem $filesystemReader */
         $filesystemReader = $this->_objectManager->create(
-            'Magento\Core\Model\Module\Declaration\Reader\Filesystem', array(
+            'Magento\App\Module\Declaration\Reader\Filesystem', array(
                 'fileResolver' => $modulesDeclarations,
             )
         );
 
-        /** @var \Magento\Core\Model\ModuleList $modulesList */
+        /** @var \Magento\App\ModuleList $modulesList */
         $modulesList = $this->_objectManager->create(
-            'Magento\Core\Model\ModuleList', array(
+            'Magento\App\ModuleList', array(
                 'reader' => $filesystemReader,
             )
         );
diff --git a/dev/tests/integration/testsuite/Magento/Install/Model/Installer/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Install/Model/Installer/ConfigTest.php
index 49541ba9d73..be363136958 100644
--- a/dev/tests/integration/testsuite/Magento/Install/Model/Installer/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Install/Model/Installer/ConfigTest.php
@@ -32,8 +32,8 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
 
     public static function setUpBeforeClass()
     {
-        self::$_tmpDir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-            ->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . "ConfigTest";
+        self::$_tmpDir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+            ->getDir(\Magento\App\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . "ConfigTest";
         mkdir(self::$_tmpDir);
     }
 
@@ -48,7 +48,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
         $expectedFile = self::$_tmpDir . '/local.xml';
 
         $request = $this->getMock(
-            'Magento\Core\Controller\Request\Http',
+            'Magento\App\Request\Http',
             array('getDistroBaseUrl'),
             array(),
             '',
@@ -57,10 +57,10 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
 
         $request->expects($this->once())->method('getDistroBaseUrl')->will($this->returnValue('http://example.com/'));
         $expectedContents = "test; <![CDATA[d-d-d-d-d]]>; <![CDATA[http://example.com/]]>; {{unknown}}";
-        $dirs = new \Magento\Core\Model\Dir(
+        $dirs = new \Magento\App\Dir(
             self::$_tmpDir,
             array(),
-            array(\Magento\Core\Model\Dir::CONFIG => self::$_tmpDir)
+            array(\Magento\App\Dir::CONFIG => self::$_tmpDir)
         );
 
         $this->assertFileNotExists($expectedFile);
diff --git a/dev/tests/integration/testsuite/Magento/Install/Model/InstallerTest.php b/dev/tests/integration/testsuite/Magento/Install/Model/InstallerTest.php
index 5eaa00a677e..74fabf9d118 100644
--- a/dev/tests/integration/testsuite/Magento/Install/Model/InstallerTest.php
+++ b/dev/tests/integration/testsuite/Magento/Install/Model/InstallerTest.php
@@ -41,8 +41,8 @@ class InstallerTest extends \PHPUnit_Framework_TestCase
 
     public static function setUpBeforeClass()
     {
-        self::$_tmpDir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-            ->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'InstallerTest';
+        self::$_tmpDir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+            ->getDir(\Magento\App\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'InstallerTest';
         self::$_tmpConfigFile = self::$_tmpDir . DIRECTORY_SEPARATOR . 'local.xml';
         mkdir(self::$_tmpDir);
     }
@@ -64,9 +64,9 @@ class InstallerTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         if ($emulateConfig) {
             $installerConfig = new \Magento\Install\Model\Installer\Config(
-                $objectManager->get('Magento\Install\Model\InstallerProxy'),
-                $objectManager->get('Magento\Core\Controller\Request\Http'),
-                new \Magento\Core\Model\Dir(__DIR__, array(), array(\Magento\Core\Model\Dir::CONFIG => self::$_tmpDir)),
+                $objectManager->get('Magento\Install\Model\Installer'),
+                $objectManager->get('Magento\App\RequestInterface'),
+                new \Magento\App\Dir(__DIR__, array(), array(\Magento\App\Dir::CONFIG => self::$_tmpDir)),
                 new \Magento\Filesystem(new \Magento\Filesystem\Adapter\Local()),
                 $objectManager->get('Magento\Core\Model\StoreManager')
             );
diff --git a/dev/tests/integration/testsuite/Magento/Newsletter/Model/QueueTest.php b/dev/tests/integration/testsuite/Magento/Newsletter/Model/QueueTest.php
index c0b48bc27e5..6ad448fdd32 100644
--- a/dev/tests/integration/testsuite/Magento/Newsletter/Model/QueueTest.php
+++ b/dev/tests/integration/testsuite/Magento/Newsletter/Model/QueueTest.php
@@ -41,7 +41,7 @@ class QueueTest extends \PHPUnit_Framework_TestCase
 
         $themes = array('frontend' => 'magento_blank');
         /** @var $design \Magento\Core\Model\View\Design */
-        $design = $objectManager->create('Magento\Core\Model\View\DesignInterface', array('themes' => $themes));
+        $design = $objectManager->create('Magento\View\DesignInterface', array('themes' => $themes));
         $objectManager->addSharedInstance($design, 'Magento\Core\Model\View\Design');
         /** @var $appEmulation \Magento\Core\Model\App\Emulation */
         $appEmulation = $objectManager->create('Magento\Core\Model\App\Emulation', array('viewDesign' => $design));
@@ -83,7 +83,7 @@ class QueueTest extends \PHPUnit_Framework_TestCase
                 $objectManager->get('Magento\Core\Model\ConfigInterface'),
                 $objectManager->get('Magento\Core\Model\Email\Template\FilterFactory'),
                 $objectManager->get('Magento\Core\Model\StoreManagerInterface'),
-                $objectManager->get('Magento\Core\Model\Dir'),
+                $objectManager->get('Magento\App\Dir'),
                 $objectManager->get('Magento\Core\Model\Email\Template\Config'),
             )
         );
@@ -130,7 +130,7 @@ class QueueTest extends \PHPUnit_Framework_TestCase
                 $objectManager->get('Magento\Core\Model\ConfigInterface'),
                 $objectManager->get('Magento\Core\Model\Email\Template\FilterFactory'),
                 $objectManager->get('Magento\Core\Model\StoreManagerInterface'),
-                $objectManager->get('Magento\Core\Model\Dir'),
+                $objectManager->get('Magento\App\Dir'),
                 $objectManager->get('Magento\Core\Model\Email\Template\Config'),
             )
         );
diff --git a/dev/tests/integration/testsuite/Magento/ObjectManager/Config/Reader/DomTest.php b/dev/tests/integration/testsuite/Magento/ObjectManager/Config/Reader/DomTest.php
index add2a16ffd8..ee3ff8a2bee 100644
--- a/dev/tests/integration/testsuite/Magento/ObjectManager/Config/Reader/DomTest.php
+++ b/dev/tests/integration/testsuite/Magento/ObjectManager/Config/Reader/DomTest.php
@@ -74,7 +74,7 @@ class DomTest extends \PHPUnit_Framework_TestCase
         $this->_fileResolverMock->expects($this->once())->method('get')->will($this->returnValue($this->_fileList));
         $this->_mapper = new \Magento\ObjectManager\Config\Mapper\Dom();
         $this->_validationState =
-            new \Magento\Core\Model\Config\ValidationState(\Magento\Core\Model\App\State::MODE_DEFAULT);
+            new \Magento\Core\Model\Config\ValidationState(\Magento\App\State::MODE_DEFAULT);
         $this->_schemaLocator = new \Magento\ObjectManager\Config\SchemaLocator();
 
         $this->_mergedConfig = new \DOMDocument();
diff --git a/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_merged.xml b/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_merged.xml
index f7262d041b9..0377b424481 100644
--- a/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_merged.xml
+++ b/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_merged.xml
@@ -24,8 +24,8 @@
  */
 -->
 <config>
-    <preference for="Magento\Core\Model\Db\UpdaterInterface" type="Magento\Core\Model\Db\UpdaterOne" />
-    <preference for="Magento\Core\Model\Db\UpdaterInterfaceTwo" type="Magento\Core\Model\Db\UpdaterTwo"/>
+    <preference for="Magento\App\UpdaterInterface" type="Magento\App\UpdaterOne" />
+    <preference for="Magento\App\UpdaterInterfaceTwo" type="Magento\App\UpdaterTwo"/>
     <type name="Magento\Core\Model\Config\Loader\Local" shared="false">
         <param name="customFile">
             <value type="argument">Magento\Core\Model\App::PARAM_CUSTOM_LOCAL_CONFIG</value>
diff --git a/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_one.xml b/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_one.xml
index 399ba92553e..708a9c97c82 100644
--- a/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_one.xml
+++ b/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_one.xml
@@ -24,7 +24,7 @@
  */
 -->
 <config>
-    <preference for="Magento\Core\Model\Db\UpdaterInterface" type="Magento\Core\Model\Db\Updater" />
+    <preference for="Magento\App\UpdaterInterface" type="Magento\App\Updater" />
     <type name="Magento\Core\Model\Config\Loader\Local">
         <param name="customFile">
             <value type="argument">Magento\Core\Model\App::PARAM_CUSTOM_LOCAL_FILE</value>
diff --git a/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_two.xml b/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_two.xml
index 593b9ab4c50..8e794956d1c 100644
--- a/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_two.xml
+++ b/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_two.xml
@@ -24,8 +24,8 @@
  */
 -->
 <config>
-    <preference for="Magento\Core\Model\Db\UpdaterInterfaceTwo" type="Magento\Core\Model\Db\UpdaterTwo" />
-    <preference for="Magento\Core\Model\Db\UpdaterInterface" type="Magento\Core\Model\Db\UpdaterOne" />
+    <preference for="Magento\App\UpdaterInterfaceTwo" type="Magento\App\UpdaterTwo" />
+    <preference for="Magento\App\UpdaterInterface" type="Magento\App\UpdaterOne" />
     <type name="Magento\Core\Model\Config\Loader\Local" shared="false">
         <param name="customFile">
             <value type="argument">Magento\Core\Model\App::PARAM_CUSTOM_LOCAL_CONFIG</value>
diff --git a/dev/tests/integration/testsuite/Magento/Page/Block/Html/BreadcrumbsTest.php b/dev/tests/integration/testsuite/Magento/Page/Block/Html/BreadcrumbsTest.php
index 87ba9fc87cd..d23b1135797 100644
--- a/dev/tests/integration/testsuite/Magento/Page/Block/Html/BreadcrumbsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Page/Block/Html/BreadcrumbsTest.php
@@ -36,7 +36,7 @@ class BreadcrumbsTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Page\Block\Html\Breadcrumbs');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Page/Block/Html/FooterTest.php b/dev/tests/integration/testsuite/Magento/Page/Block/Html/FooterTest.php
index 254d5eaa833..d382f849c85 100644
--- a/dev/tests/integration/testsuite/Magento/Page/Block/Html/FooterTest.php
+++ b/dev/tests/integration/testsuite/Magento/Page/Block/Html/FooterTest.php
@@ -37,13 +37,13 @@ class FooterTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->_theme = $design->setDefaultDesignTheme()->getDesignTheme();
     }
 
     public function testGetCacheKeyInfo()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Page\Block\Html\Footer');
         $storeId = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Core\Model\StoreManagerInterface')->getStore()->getId();
diff --git a/dev/tests/integration/testsuite/Magento/Page/Block/Html/HeadTest.php b/dev/tests/integration/testsuite/Magento/Page/Block/Html/HeadTest.php
index 3dfc61df393..18f69ad3c0b 100644
--- a/dev/tests/integration/testsuite/Magento/Page/Block/Html/HeadTest.php
+++ b/dev/tests/integration/testsuite/Magento/Page/Block/Html/HeadTest.php
@@ -36,9 +36,9 @@ class HeadTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('magento_demo', 'frontend');
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Page\Block\Html\Head');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Payment/Block/InfoTest.php b/dev/tests/integration/testsuite/Magento/Payment/Block/InfoTest.php
index 2b2c08d2592..8a12488037b 100644
--- a/dev/tests/integration/testsuite/Magento/Payment/Block/InfoTest.php
+++ b/dev/tests/integration/testsuite/Magento/Payment/Block/InfoTest.php
@@ -36,7 +36,7 @@ class InfoTest extends \PHPUnit_Framework_TestCase
     public function testGetChildPdfAsArray()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $block = $layout->createBlock('Magento\Payment\Block\Info', 'block');
 
         /** @var $paymentInfoBank \Magento\Payment\Model\Info  */
diff --git a/dev/tests/integration/testsuite/Magento/Paypal/Block/Express/ReviewTest.php b/dev/tests/integration/testsuite/Magento/Paypal/Block/Express/ReviewTest.php
index 6f7ea766bf2..581b23766fc 100644
--- a/dev/tests/integration/testsuite/Magento/Paypal/Block/Express/ReviewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Paypal/Block/Express/ReviewTest.php
@@ -34,7 +34,7 @@ class ReviewTest extends \PHPUnit_Framework_TestCase
 {
     public function testRenderAddress()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Paypal\Block\Express\Review');
         $addressData = include(__DIR__ . '/../../../Sales/_files/address_data.php');
         $address = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Paypal/Model/VoidTest.php b/dev/tests/integration/testsuite/Magento/Paypal/Model/VoidTest.php
index ffa05306b0a..bea4f722f16 100644
--- a/dev/tests/integration/testsuite/Magento/Paypal/Model/VoidTest.php
+++ b/dev/tests/integration/testsuite/Magento/Paypal/Model/VoidTest.php
@@ -36,8 +36,8 @@ class VoidTest extends \PHPUnit_Framework_TestCase
     public function testPayflowProVoid()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $eventManager = $objectManager->get('Magento\Core\Model\Event\Manager');
-        $moduleList = $objectManager->get('Magento\Core\Model\ModuleListInterface');
+        $eventManager = $objectManager->get('Magento\Event\ManagerInterface');
+        $moduleList = $objectManager->get('Magento\App\ModuleListInterface');
         $paymentData = $objectManager->get('Magento\Payment\Helper\Data');
         $coreStoreConfig = $objectManager->get('Magento\Core\Model\Store\Config');
         $logger = $objectManager->get('Magento\Core\Model\Logger');
diff --git a/dev/tests/integration/testsuite/Magento/ProductAlert/Block/Email/StockTest.php b/dev/tests/integration/testsuite/Magento/ProductAlert/Block/Email/StockTest.php
index 9f390473d35..c437f98bb76 100644
--- a/dev/tests/integration/testsuite/Magento/ProductAlert/Block/Email/StockTest.php
+++ b/dev/tests/integration/testsuite/Magento/ProductAlert/Block/Email/StockTest.php
@@ -36,7 +36,7 @@ class StockTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\ProductAlert\Block\Email\Stock');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Profiler/Driver/Standard/Output/FirebugTest.php b/dev/tests/integration/testsuite/Magento/Profiler/Driver/Standard/Output/FirebugTest.php
index d02ddfa225b..e010066c978 100644
--- a/dev/tests/integration/testsuite/Magento/Profiler/Driver/Standard/Output/FirebugTest.php
+++ b/dev/tests/integration/testsuite/Magento/Profiler/Driver/Standard/Output/FirebugTest.php
@@ -38,19 +38,19 @@ class FirebugTest extends \PHPUnit_Framework_TestCase
     protected $_response;
 
     /**
-     * @var \Zend_Controller_Request_Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
     protected function setUp()
     {
-        $this->_response = $this->getMock('Zend_Controller_Response_Http', array('canSendHeaders', 'sendHeaders'));
+        $this->_response = $this->getMock('\Magento\App\Response\Http', array('canSendHeaders', 'sendHeaders'));
         $this->_response
             ->expects($this->any())
             ->method('canSendHeaders')
             ->will($this->returnValue(true));
 
-        $this->_request = $this->getMock('Zend_Controller_Request_Http', array('getHeader'));
+        $this->_request = $this->getMock('\Magento\App\Request\Http', array('getHeader'));
         $this->_request
             ->expects($this->any())
             ->method('getHeader')
diff --git a/dev/tests/integration/testsuite/Magento/Rss/Block/Order/StatusTest.php b/dev/tests/integration/testsuite/Magento/Rss/Block/Order/StatusTest.php
index c30615624c0..944dbb6057c 100644
--- a/dev/tests/integration/testsuite/Magento/Rss/Block/Order/StatusTest.php
+++ b/dev/tests/integration/testsuite/Magento/Rss/Block/Order/StatusTest.php
@@ -31,7 +31,7 @@ class StatusTest extends \PHPUnit_Framework_TestCase
 {
     public function testToHtml()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Rss\Block\Order\Status');
         $this->assertEmpty($block->toHtml());
 
diff --git a/dev/tests/integration/testsuite/Magento/Rss/Controller/CatalogTest.php b/dev/tests/integration/testsuite/Magento/Rss/Controller/CatalogTest.php
index 15613b94925..4440c58d107 100644
--- a/dev/tests/integration/testsuite/Magento/Rss/Controller/CatalogTest.php
+++ b/dev/tests/integration/testsuite/Magento/Rss/Controller/CatalogTest.php
@@ -160,7 +160,7 @@ class CatalogTest extends \Magento\TestFramework\TestCase\AbstractController
      */
     protected function _loginAdmin()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea('adminhtml')
             ->setDefaultDesignTheme();
         $this->getRequest()->setServer(array(
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/CommentsTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/CommentsTest.php
index b2d999b55da..0f3d33bffcb 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/CommentsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/CommentsTest.php
@@ -36,7 +36,7 @@ class CommentsTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Sales\Block\Order\Comments');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Creditmemo/ItemsTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Creditmemo/ItemsTest.php
index 9c0fc30b06a..dd082c4b87e 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Creditmemo/ItemsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Creditmemo/ItemsTest.php
@@ -30,7 +30,7 @@ namespace Magento\Sales\Block\Order\Creditmemo;
 class ItemsTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -46,7 +46,8 @@ class ItemsTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->createBlock('Magento\Sales\Block\Order\Creditmemo\Items', 'block');
         $this->_creditmemo = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Sales\Model\Order\Creditmemo');
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Invoice/ItemsTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Invoice/ItemsTest.php
index a83a705bc4e..54ddf9ea9c5 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Invoice/ItemsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Invoice/ItemsTest.php
@@ -30,7 +30,7 @@ namespace Magento\Sales\Block\Order\Invoice;
 class ItemsTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -46,7 +46,8 @@ class ItemsTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->createBlock('Magento\Sales\Block\Order\Invoice\Items', 'block');
         $this->_invoice = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Sales\Model\Order\Invoice');
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/CreditmemoTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/CreditmemoTest.php
index 72538a5ee2d..4111f8ba407 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/CreditmemoTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/CreditmemoTest.php
@@ -44,7 +44,7 @@ class CreditmemoTest extends \PHPUnit_Framework_TestCase
         $payment->setMethod('checkmo');
         $order->setPayment($payment);
 
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $block = $layout->createBlock('Magento\Sales\Block\Order\PrintOrder\Creditmemo', 'block');
         $childBlock = $layout->addBlock('Magento\Core\Block\Text', 'creditmemo_totals', 'block');
 
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/InvoiceTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/InvoiceTest.php
index e5d0909364f..1f437b4029f 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/InvoiceTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/InvoiceTest.php
@@ -44,7 +44,7 @@ class InvoiceTest extends \PHPUnit_Framework_TestCase
         $payment->setMethod('checkmo');
         $order->setPayment($payment);
 
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $block = $layout->createBlock('Magento\Sales\Block\Order\PrintOrder\Invoice', 'block');
         $childBlock = $layout->addBlock('Magento\Core\Block\Text', 'invoice_totals', 'block');
 
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Shipment/ItemsTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Shipment/ItemsTest.php
index c46c13199db..7bc682f4bee 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Shipment/ItemsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Shipment/ItemsTest.php
@@ -31,7 +31,7 @@ class ItemsTest extends \PHPUnit_Framework_TestCase
 {
     public function testGetCommentsHtml()
     {
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $block = $layout->createBlock('Magento\Sales\Block\Order\Shipment\Items', 'block');
         $childBlock = $layout->addBlock('Magento\Core\Block\Text', 'shipment_comments', 'block');
         $shipment = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/TotalsTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/TotalsTest.php
index 06a785ed454..ccce946491a 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/TotalsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/TotalsTest.php
@@ -32,7 +32,7 @@ class TotalsTest extends \PHPUnit_Framework_TestCase
     public function testToHtmlChildrenInitialized()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $block = $layout->createBlock('Magento\Sales\Block\Order\Totals', 'block');
         $block->setOrder(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Sales\Model\Order'))
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Recurring/Profile/ViewTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Recurring/Profile/ViewTest.php
index 23ba0ead0fa..332b7a3f68b 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Recurring/Profile/ViewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Recurring/Profile/ViewTest.php
@@ -35,7 +35,7 @@ class ViewTest extends \PHPUnit_Framework_TestCase
     protected $_block;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -52,7 +52,8 @@ class ViewTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')->register('current_recurring_profile', $this->_profile);
 
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->createBlock('Magento\Sales\Block\Recurring\Profile\View', 'block');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/LayoutTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/LayoutTest.php
index 63f77a3b378..665e29622fd 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/LayoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/LayoutTest.php
@@ -48,9 +48,9 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         $invoker = new \Magento\TestFramework\Utility\AggregateInvoker($this);
         $invoker(
             /**
-             * @param \Magento\Core\Model\Theme $theme
+             * @param \Magento\View\Design\ThemeInterface $theme
              */
-            function (\Magento\Core\Model\Theme $theme) {
+            function (\Magento\View\Design\ThemeInterface $theme) {
                 $xml = $this->_composeXml($theme);
 
                 /**
@@ -67,7 +67,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
                     }
                 }
 
-                /** @var \Magento\Core\Model\Layout\Element $node */
+                /** @var \Magento\View\Layout\Element $node */
                 $errors = array();
                 foreach ($handles as $node) {
                     $this->_collectHierarchyErrors($node, $xml, $errors);
@@ -86,14 +86,14 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     /**
      * Composes full layout xml for designated parameters
      *
-     * @param \Magento\Core\Model\Theme $theme
-     * @return \Magento\Core\Model\Layout\Element
+     * @param \Magento\View\Design\ThemeInterface $theme
+     * @return \Magento\View\Layout\Element
      */
-    protected function _composeXml(\Magento\Core\Model\Theme $theme)
+    protected function _composeXml(\Magento\View\Design\ThemeInterface $theme)
     {
-        /** @var \Magento\Core\Model\Layout\Merge $layoutUpdate */
+        /** @var \Magento\View\Layout\ProcessorInterface $layoutUpdate */
         $layoutUpdate = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Layout\Merge', array('theme' => $theme));
+            ->create('Magento\View\Layout\ProcessorInterface', array('theme' => $theme));
         return $layoutUpdate->getFileLayoutUpdatesXml();
     }
 
@@ -101,7 +101,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
      * Validate node's declared position in hierarchy and add errors to the specified array if found
      *
      * @param \SimpleXMLElement $node
-     * @param \Magento\Core\Model\Layout\Element $xml
+     * @param \Magento\View\Layout\Element $xml
      * @param array &$errors
      */
     protected function _collectHierarchyErrors($node, $xml, &$errors)
@@ -141,8 +141,8 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     {
         $result = array();
         $themeCollection = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme')->getCollection();
-        /** @var $theme \Magento\Core\Model\Theme */
+            ->create('Magento\View\Design\ThemeInterface')->getCollection();
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themeCollection as $theme) {
             $result[] = array($theme);
         }
@@ -154,9 +154,9 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         $invoker = new \Magento\TestFramework\Utility\AggregateInvoker($this);
         $invoker(
             /**
-             * @param \Magento\Core\Model\Theme $theme
+             * @param \Magento\View\Design\ThemeInterface $theme
              */
-            function (\Magento\Core\Model\Theme $theme) {
+            function (\Magento\View\Design\ThemeInterface $theme) {
                 $xml = $this->_composeXml($theme);
 
                 $xpath = '/layouts/*['
@@ -164,7 +164,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
                     . ' or @type="' . \Magento\Core\Model\Layout\Merge::TYPE_FRAGMENT . '"]';
                 $handles = $xml->xpath($xpath) ?: array();
 
-                /** @var \Magento\Core\Model\Layout\Element $node */
+                /** @var \Magento\View\Layout\Element $node */
                 $errors = array();
                 foreach ($handles as $node) {
                     if (!$node->xpath('@label')) {
@@ -220,7 +220,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         $themeCollection->addDefaultPattern('*');
         /** @var $themeLayouts \Magento\Core\Model\Layout\File[] */
         $themeLayouts = array();
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themeCollection as $theme) {
             $themeLayouts = array_merge($themeLayouts, $themeUpdates->getFiles($theme));
             $themeLayouts = array_merge($themeLayouts, $themeUpdatesOverride->getFiles($theme));
@@ -240,7 +240,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
              * Check, that for an overriding file ($themeFile) in a theme ($theme), there is a corresponding base file
              *
              * @param \Magento\Core\Model\Layout\File $themeFile
-             * @param \Magento\Core\Model\Theme $theme
+             * @param \Magento\View\Design\ThemeInterface $theme
              */
             function ($themeFile, $theme) {
                 $baseFiles = self::_getCachedFiles(
@@ -266,7 +266,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
              * there is a corresponding file in that ancestor theme
              *
              * @param \Magento\Core\Model\Layout\File $themeFile
-             * @param \Magento\Core\Model\Theme $theme
+             * @param \Magento\View\Design\ThemeInterface $theme
              */
             function ($themeFile, $theme) {
                 // Find an ancestor theme, where a file is to be overridden
@@ -304,10 +304,10 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
      *
      * @param string $cacheKey
      * @param string $sourceClass
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return \Magento\Core\Model\Layout\File[]
      */
-    protected static function _getCachedFiles($cacheKey, $sourceClass, \Magento\Core\Model\Theme $theme)
+    protected static function _getCachedFiles($cacheKey, $sourceClass, \Magento\View\Design\ThemeInterface $theme)
     {
         if (!isset(self::$_cachedFiles[$cacheKey])) {
             /* @var $fileList \Magento\Core\Model\Layout\File[] */
@@ -358,7 +358,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         $themeCollection = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\Theme\Collection');
         $themeCollection->addDefaultPattern('*');
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themeCollection as $theme) {
             foreach ($filesRetriever->getFiles($theme) as $file) {
                 $result[] = array($file, $theme);
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/AclConfigFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/AclConfigFilesTest.php
index b768e71a317..704f30c6731 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/AclConfigFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/AclConfigFilesTest.php
@@ -45,7 +45,7 @@ class AclConfigFilesTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_schemeFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
+        $this->_schemeFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
                 ->getDir('lib') . str_replace('/', DIRECTORY_SEPARATOR, '/Magento/Acl/etc/acl.xsd');
     }
 
@@ -71,7 +71,7 @@ class AclConfigFilesTest extends \PHPUnit_Framework_TestCase
     public function aclConfigFileDataProvider()
     {
         $fileList = glob(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
                 ->getDir('app') . '/*/*/*/etc/adminhtml/acl.xml'
         );
         $dataProviderResult = array();
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/BlockInstantiationTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/BlockInstantiationTest.php
index 97b53df03c8..47542270411 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/BlockInstantiationTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/BlockInstantiationTest.php
@@ -48,7 +48,7 @@ class BlockInstantiationTest extends \Magento\TestFramework\TestCase\AbstractInt
                 $this->assertNotEmpty($module);
                 $this->assertTrue(class_exists($class), "Block class: {$class}");
                 \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                    ->get('Magento\Core\Model\Config\Scope')
+                    ->get('Magento\Config\ScopeInterface')
                     ->setCurrentScope($area);
 
                 /** @var \Magento\Core\Model\App $app */
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/DiConfigFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/DiConfigFilesTest.php
index 567c87d2f33..93120b72be9 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/DiConfigFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/DiConfigFilesTest.php
@@ -46,12 +46,12 @@ class DiConfigFilesTest extends \PHPUnit_Framework_TestCase
     protected function _prepareFiles()
     {
         //init primary configs
-        /** @var $dir \Magento\Core\Model\Dir */
-        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir');
+        /** @var $dir \Magento\App\Dir */
+        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir');
 
-        $configPath = $dir->getDir(\Magento\Core\Model\Dir::APP) . DS . 'etc' . DS . '*' . DS;
+        $configPath = $dir->getDir(\Magento\App\Dir::APP) . DS . 'etc' . DS . '*' . DS;
         self::$_primaryFiles = glob($configPath . DS. 'di.xml');
-        array_unshift(self::$_primaryFiles, $dir->getDir(\Magento\Core\Model\Dir::APP) . DS . 'etc' . DS . 'di.xml');
+        array_unshift(self::$_primaryFiles, $dir->getDir(\Magento\App\Dir::APP) . DS . 'etc' . DS . 'di.xml');
 
         //init module global configs
         /** @var $modulesReader \Magento\Core\Model\Config\Modules\Reader */
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/EventConfigFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/EventConfigFilesTest.php
index 9c228af2c76..59ae279702d 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/EventConfigFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/EventConfigFilesTest.php
@@ -33,7 +33,7 @@ class EventConfigFilesTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_schemaFile = $objectManager->get('Magento\Core\Model\Event\Config\SchemaLocator')->getSchema();
+        $this->_schemaFile = $objectManager->get('Magento\Event\Config\SchemaLocator')->getSchema();
     }
 
     /**
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/LayoutFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/LayoutFilesTest.php
index 1e717a3b18f..42cd9dcbfb8 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/LayoutFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/LayoutFilesTest.php
@@ -53,7 +53,7 @@ class LayoutFilesTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             $layout,
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         foreach ($layout->xpath('//*[@xsi:type]') as $argument) {
             $type = (string)$argument->attributes('xsi', true)->type;
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ServiceCallsConfigFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ServiceCallsConfigFilesTest.php
index 1731130687e..d15a5ea8e6f 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ServiceCallsConfigFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ServiceCallsConfigFilesTest.php
@@ -62,7 +62,7 @@ class ServiceCallsConfigFilesTest extends \PHPUnit_Framework_TestCase
     public function getServiceCallsConfigFiles()
     {
         return glob(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('app')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('app')
                 . '/*/*/*/etc/service_calls.xml'
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/SystemConfigFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/SystemConfigFilesTest.php
index 43c204bc450..9b357baf9cc 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/SystemConfigFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/SystemConfigFilesTest.php
@@ -38,9 +38,9 @@ class SystemConfigFilesTest extends \PHPUnit_Framework_TestCase
         $cacheState = $objectManager->get('Magento\Core\Model\Cache\StateInterface');
         $cacheState->setEnabled(\Magento\Core\Model\Cache\Type\Config::TYPE_IDENTIFIER, false);
 
-        /** @var $dirs \Magento\Core\Model\Dir */
-        $dirs = $objectManager->get('Magento\Core\Model\Dir');
-        $modulesDir = $dirs->getDir(\Magento\Core\Model\Dir::MODULES);
+        /** @var $dirs \Magento\App\Dir */
+        $dirs = $objectManager->get('Magento\App\Dir');
+        $modulesDir = $dirs->getDir(\Magento\App\Dir::MODULES);
 
         $fileList = glob($modulesDir . '/*/*/etc/adminhtml/system.xml');
 
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/TemplateFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/TemplateFilesTest.php
index deee3cbb341..dbdd2f44aa5 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/TemplateFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/TemplateFilesTest.php
@@ -43,13 +43,13 @@ class TemplateFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrit
              * @param string $area
              */
             function ($module, $template, $class, $area) {
-                \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+                \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
                     ->setDefaultDesignTheme();
                 // intentionally to make sure the module files will be requested
                 $params = array(
                     'area'       => $area,
                     'themeModel' => \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                        ->create('Magento\Core\Model\Theme'),
+                        ->create('Magento\View\Design\ThemeInterface'),
                     'module'     => $module
                 );
                 $file = \Magento\TestFramework\Helper\Bootstrap::getObjectmanager()
@@ -98,7 +98,7 @@ class TemplateFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrit
                     \Magento\Core\Model\App\Area::PART_CONFIG
                 );
                 \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                    ->get('Magento\Core\Model\Config\Scope')
+                    ->get('Magento\Config\ScopeInterface')
                     ->setCurrentScope($area);
 
                 $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create($blockClass);
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewConfigFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewConfigFilesTest.php
index 8a903d8b661..845e1bc274c 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewConfigFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewConfigFilesTest.php
@@ -37,7 +37,7 @@ class ViewConfigFilesTest extends \PHPUnit_Framework_TestCase
     {
         $domConfig = new \Magento\Config\Dom(file_get_contents($file));
         $result = $domConfig->validate(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('lib')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('lib')
                 . '/Magento/Config/etc/view.xsd',
             $errors
         );
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewFilesTest.php
index 12bcd790fb8..fed053e38e4 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewFilesTest.php
@@ -39,7 +39,7 @@ class ViewFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrity
              */
             function ($application, $file) {
                 \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                    ->get('Magento\Core\Model\View\DesignInterface')
+                    ->get('Magento\View\DesignInterface')
                     ->setArea($application)
                     ->setDefaultDesignTheme();
                 $result = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
@@ -142,7 +142,7 @@ class ViewFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrity
              */
             function ($application, $file) {
                 \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                    ->get('Magento\Core\Model\View\DesignInterface')
+                    ->get('Magento\View\DesignInterface')
                     ->setArea($application)
                     ->setDefaultDesignTheme();
                 $filesystem = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/TemplateFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/TemplateFilesTest.php
index 828c5a99fc6..52ea7983a68 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/TemplateFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/TemplateFilesTest.php
@@ -72,9 +72,9 @@ class TemplateFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrit
 
         $themes = $this->_getDesignThemes();
         foreach ($themes as $theme) {
-            /** @var \Magento\Core\Model\Layout\Merge $layoutUpdate */
+            /** @var \Magento\View\Layout\ProcessorInterface $layoutUpdate */
             $layoutUpdate = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Layout\Merge', array('theme' => $theme));
+            ->create('Magento\View\Layout\ProcessorInterface', array('theme' => $theme));
             $layoutTemplates = $this->_getLayoutTemplates($layoutUpdate->getFileLayoutUpdatesXml());
             foreach ($layoutTemplates as $templateData) {
                 $templates[] = array_merge(array($theme->getArea(), $theme->getId()), $templateData);
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/ViewFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/ViewFilesTest.php
index 34bc16aa894..c5557a9e859 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/ViewFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/ViewFilesTest.php
@@ -134,14 +134,14 @@ class ViewFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrity
 
         // Find files, declared in views
         $files = array();
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themes as $theme) {
             $this->_collectGetViewUrlInvokes($theme, $files);
         }
 
         // Populate data provider in correspondence of themes to view files
         $result = array();
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themes as $theme) {
             if (!isset($files[$theme->getId()])) {
                 continue;
@@ -156,7 +156,7 @@ class ViewFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrity
     /**
      * Collect getViewUrl() from theme templates
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param array &$files
      */
     protected function _collectGetViewUrlInvokes($theme, &$files)
@@ -177,9 +177,9 @@ class ViewFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrity
         }
 
         // Collect "addCss" and "addJs" from theme layout
-        /** @var \Magento\Core\Model\Layout\Merge $layoutUpdate */
+        /** @var \Magento\View\Layout\ProcessorInterface $layoutUpdate */
         $layoutUpdate = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Layout\Merge', array('theme' => $theme));
+            ->create('Magento\View\Layout\ProcessorInterface', array('theme' => $theme));
         $fileLayoutUpdates = $layoutUpdate->getFileLayoutUpdatesXml();
         $elements = $fileLayoutUpdates->xpath(
             '//block[@class="Magento\Page\Block\Html\Head\Css" or @class="Magento\Page\Block\Html\Head\Script"]'
@@ -251,7 +251,7 @@ class ViewFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrity
     {
         $this->markTestIncomplete('Should be fixed when static when we have static folder jslib implemented');
         $this->assertFileExists(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('jslib')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('jslib')
                 . DIRECTORY_SEPARATOR . $file
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/XmlFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/XmlFilesTest.php
index a589589b418..9b0a355b60d 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/XmlFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/XmlFilesTest.php
@@ -42,7 +42,7 @@ class XmlFilesTest extends \PHPUnit_Framework_TestCase
         }
         $this->_validateConfigFile(
             $file,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('lib')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('lib')
                 . '/Magento/Config/etc/view.xsd'
         );
     }
@@ -54,7 +54,7 @@ class XmlFilesTest extends \PHPUnit_Framework_TestCase
     {
         $result = array();
         $files = glob(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('design')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('design')
                 . '/*/*/view.xml'
         );
         foreach ($files as $file) {
@@ -79,7 +79,7 @@ class XmlFilesTest extends \PHPUnit_Framework_TestCase
     {
         $result = array();
         $files = glob(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('design')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('design')
                 . '/*/*', GLOB_ONLYDIR
         );
         foreach ($files as $themeDir) {
@@ -96,7 +96,7 @@ class XmlFilesTest extends \PHPUnit_Framework_TestCase
     {
         $this->_validateConfigFile(
             $file,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('lib')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('lib')
                 . '/Magento/Config/etc/theme.xsd'
         );
     }
@@ -122,7 +122,7 @@ class XmlFilesTest extends \PHPUnit_Framework_TestCase
     {
         $result = array();
         $files = glob(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('design')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('design')
                 . '/*/*/theme.xml'
         );
         foreach ($files as $file) {
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/ViewFileReferenceTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/ViewFileReferenceTest.php
index f5acb3093e9..3a9fbc811f9 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/ViewFileReferenceTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/ViewFileReferenceTest.php
@@ -86,10 +86,10 @@ class ViewFileReferenceTest extends \PHPUnit_Framework_TestCase
     /**
      * Return array of locales, supported by the theme
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return array
      */
-    static protected function _getThemeLocales(\Magento\Core\Model\Theme $theme)
+    static protected function _getThemeLocales(\Magento\View\Design\ThemeInterface $theme)
     {
         $result = array();
         $patternDir = self::_getLocalePatternDir($theme);
@@ -106,11 +106,11 @@ class ViewFileReferenceTest extends \PHPUnit_Framework_TestCase
     /**
      * Return pattern for theme locale directories, where <locale_placeholder> is placed to mark a locale's location.
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return string
      * @throws \Exception
      */
-    static protected function _getLocalePatternDir(\Magento\Core\Model\Theme $theme)
+    static protected function _getLocalePatternDir(\Magento\View\Design\ThemeInterface $theme)
     {
         $localePlaceholder = '<locale_placeholder>';
         $params = array(
@@ -166,11 +166,11 @@ class ViewFileReferenceTest extends \PHPUnit_Framework_TestCase
     /**
      * Resolves file to find its fallback'ed paths
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param string $file
      * @return array
      */
-    protected function _getFileResolutions(\Magento\Core\Model\Theme $theme, $file)
+    protected function _getFileResolutions(\Magento\View\Design\ThemeInterface $theme, $file)
     {
         $found = array();
         $fileResolved = self::$_fallback->getFile($theme->getArea(), $theme, $file);
diff --git a/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/ProcessorTest.php b/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/ProcessorTest.php
index 2c671345225..09d54a26f53 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/ProcessorTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/ProcessorTest.php
@@ -61,8 +61,8 @@ class ProcessorTest extends \PHPUnit_Framework_TestCase
         }
         $this->_testDir = realpath(__DIR__ . DS . '_files') . DS;
 
-        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir');
-        $this->_varDir = $dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'references' . DS;
+        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir');
+        $this->_varDir = $dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'references' . DS;
         mkdir($this->_varDir, 0777, true);
 
         $this->_formatter = new Formatter();
diff --git a/dev/tests/integration/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/GeneralTest.php b/dev/tests/integration/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/GeneralTest.php
index aff0f0b98e4..f399290a707 100644
--- a/dev/tests/integration/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/GeneralTest.php
+++ b/dev/tests/integration/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/GeneralTest.php
@@ -32,10 +32,10 @@ namespace Magento\Theme\Block\Adminhtml\System\Design\Theme\Edit\Tab;
  */
 class GeneralTest extends \PHPUnit_Framework_TestCase
 {
-    /** @var \Magento\Core\Model\Layout */
+    /** @var \Magento\View\LayoutInterface */
     protected $_layout;
 
-    /** @var \Magento\Core\Model\Theme */
+    /** @var \Magento\View\Design\ThemeInterface */
     protected $_theme;
 
     /** @var \Magento\Theme\Block\Adminhtml\System\Design\Theme\Edit\Tab_General */
@@ -44,9 +44,10 @@ class GeneralTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme');
+            ->create('Magento\View\Design\ThemeInterface');
         $this->_theme->setType(\Magento\Core\Model\Theme::TYPE_VIRTUAL);
         $this->_block = $this->_layout
             ->createBlock('Magento\Theme\Block\Adminhtml\System\Design\Theme\Edit\Tab\General');
diff --git a/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php b/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php
index aadda3aa669..222f85a44b3 100644
--- a/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php
+++ b/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php
@@ -35,7 +35,7 @@ class ThemeControllerTest extends \Magento\Backend\Utility\Controller
     /** @var \Magento\Filesystem */
     protected $_filesystem;
 
-    /** @var \Magento\Core\Model\Dir */
+    /** @var \Magento\App\Dir */
     protected $_dirs;
 
     protected function setUp()
@@ -43,7 +43,7 @@ class ThemeControllerTest extends \Magento\Backend\Utility\Controller
         parent::setUp();
 
         $this->_filesystem = $this->_objectManager->get('Magento\Filesystem');
-        $this->_dirs = $this->_objectManager->get('Magento\Core\Model\Dir');
+        $this->_dirs = $this->_objectManager->get('Magento\App\Dir');
     }
 
     /**
@@ -61,7 +61,7 @@ class ThemeControllerTest extends \Magento\Backend\Utility\Controller
             )
         );
 
-        $theme = $this->_objectManager->create('Magento\Core\Model\Theme')->getCollection()->getFirstItem();
+        $theme = $this->_objectManager->create('Magento\View\Design\ThemeInterface')->getCollection()->getFirstItem();
 
         $this->getRequest()->setPost('id', $theme->getId());
         $this->dispatch('backend/admin/system_design_theme/uploadjs');
@@ -82,7 +82,7 @@ class ThemeControllerTest extends \Magento\Backend\Utility\Controller
          * Uploader can copy(upload) and then remove this temporary file.
          */
         $fileName = implode(DIRECTORY_SEPARATOR, array(__DIR__, '_files', 'simple-js-file.js'));
-        $varDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR);
+        $varDir = $this->_dirs->getDir(\Magento\App\Dir::VAR_DIR);
         $destinationFilePath = $varDir . DIRECTORY_SEPARATOR . 'simple-js-file.js';
 
         $this->_filesystem->copy($fileName, $destinationFilePath);
diff --git a/dev/tests/integration/testsuite/Magento/Theme/Model/Wysiwyg/StorageTest.php b/dev/tests/integration/testsuite/Magento/Theme/Model/Wysiwyg/StorageTest.php
index c39c05a91d4..bf50a24d53d 100644
--- a/dev/tests/integration/testsuite/Magento/Theme/Model/Wysiwyg/StorageTest.php
+++ b/dev/tests/integration/testsuite/Magento/Theme/Model/Wysiwyg/StorageTest.php
@@ -32,7 +32,7 @@ namespace Magento\Theme\Model\Wysiwyg;
 class StorageTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
@@ -62,11 +62,11 @@ class StorageTest extends \PHPUnit_Framework_TestCase
         $this->_filesystem = $this->_objectManager->get('Magento\Filesystem');
         $this->_filesystem->setIsAllowCreateDirectories(true);
 
-        /** @var $theme \Magento\Core\Model\Theme */
-        $theme = $this->_objectManager->create('Magento\Core\Model\Theme')->getCollection()->getFirstItem();
+        /** @var $theme \Magento\View\Design\ThemeInterface */
+        $theme = $this->_objectManager->create('Magento\View\Design\ThemeInterface')->getCollection()->getFirstItem();
 
-        /** @var $request \Magento\Core\Controller\Request\Http */
-        $request = $this->_objectManager->get('Magento\Core\Controller\Request\Http');
+        /** @var $request \Magento\App\Request\Http */
+        $request = $this->_objectManager->get('Magento\App\Request\Http');
         $request->setParam(\Magento\Theme\Helper\Storage::PARAM_THEME_ID, $theme->getId());
         $request->setParam(\Magento\Theme\Helper\Storage::PARAM_CONTENT_TYPE,
             \Magento\Theme\Model\Wysiwyg\Storage::TYPE_IMAGE);
diff --git a/dev/tests/integration/testsuite/Magento/Usa/Block/Adminhtml/Dhl/UnitofmeasureTest.php b/dev/tests/integration/testsuite/Magento/Usa/Block/Adminhtml/Dhl/UnitofmeasureTest.php
index 6f2cc96fd25..7e478a7a509 100644
--- a/dev/tests/integration/testsuite/Magento/Usa/Block/Adminhtml/Dhl/UnitofmeasureTest.php
+++ b/dev/tests/integration/testsuite/Magento/Usa/Block/Adminhtml/Dhl/UnitofmeasureTest.php
@@ -40,7 +40,7 @@ class UnitofmeasureTest extends \PHPUnit_Framework_TestCase
             )
         ));
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Usa\Block\Adminhtml\Dhl\Unitofmeasure */
         $block = $layout->createBlock('Magento\Usa\Block\Adminhtml\Dhl\Unitofmeasure');
         $this->assertNotEmpty($block->toHtml());
diff --git a/dev/tests/integration/testsuite/Magento/User/Block/Role/Grid/UserTest.php b/dev/tests/integration/testsuite/Magento/User/Block/Role/Grid/UserTest.php
index e8a6d488f62..f314e26b055 100644
--- a/dev/tests/integration/testsuite/Magento/User/Block/Role/Grid/UserTest.php
+++ b/dev/tests/integration/testsuite/Magento/User/Block/Role/Grid/UserTest.php
@@ -39,7 +39,7 @@ class UserTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $this->_block = $layout->createBlock('Magento\User\Block\Role\Grid\User');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/User/Block/Role/Tab/EditTest.php b/dev/tests/integration/testsuite/Magento/User/Block/Role/Tab/EditTest.php
index 1af52bf8497..c543fd97a30 100644
--- a/dev/tests/integration/testsuite/Magento/User/Block/Role/Tab/EditTest.php
+++ b/dev/tests/integration/testsuite/Magento/User/Block/Role/Tab/EditTest.php
@@ -42,7 +42,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
         $roleAdmin = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\User\Model\Role');
         $roleAdmin->load(\Magento\TestFramework\Bootstrap::ADMIN_ROLE_NAME, 'role_name');
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Controller\Request\Http')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\RequestInterface')
             ->setParam('rid', $roleAdmin->getId());
 
         $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Layout/ElementTest.php b/dev/tests/integration/testsuite/Magento/View/Layout/ElementTest.php
similarity index 88%
rename from dev/tests/integration/testsuite/Magento/Core/Model/Layout/ElementTest.php
rename to dev/tests/integration/testsuite/Magento/View/Layout/ElementTest.php
index a2cac9c1288..8f2561f7af5 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Layout/ElementTest.php
+++ b/dev/tests/integration/testsuite/Magento/View/Layout/ElementTest.php
@@ -25,12 +25,12 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model\Layout;
+namespace Magento\View\Layout;
 
 class ElementTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Layout\Element
+     * @var \Magento\View\Layout\Element
      */
     protected $_model;
 
@@ -40,7 +40,7 @@ class ElementTest extends \PHPUnit_Framework_TestCase
          * @TODO: Need to use ObjectManager instead 'new'.
          * On this moment we have next bug MAGETWO-4274 which blocker for this key.
          */
-        $this->_model = new \Magento\Core\Model\Layout\Element(__DIR__ . '/../_files/_layout_update.xml', 0, true);
+        $this->_model = new \Magento\View\Layout\Element(__DIR__ . '/_files/_layout_update.xml', 0, true);
 
         list($blockNode) = $this->_model->xpath('//block[@name="head"]');
         list($actionNode) = $this->_model->xpath('//action[@method="setTitle"]');
@@ -48,7 +48,7 @@ class ElementTest extends \PHPUnit_Framework_TestCase
         $this->assertEmpty($blockNode->attributes()->parent);
         $this->assertEmpty($actionNode->attributes()->block);
 
-        $this->_model->prepare(array());
+        $this->_model->prepare();
 
         $this->assertEquals('root', (string)$blockNode->attributes()->parent);
         $this->assertEquals('Magento\Adminhtml\Block\Page\Head', (string)$blockNode->attributes()->class);
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/_layout_update.xml b/dev/tests/integration/testsuite/Magento/View/Layout/_files/_layout_update.xml
similarity index 100%
rename from dev/tests/integration/testsuite/Magento/Core/Model/_files/_layout_update.xml
rename to dev/tests/integration/testsuite/Magento/View/Layout/_files/_layout_update.xml
diff --git a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/AbstractFormTest.php b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/AbstractFormTest.php
index 79f103458b4..1c22013f27b 100644
--- a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/AbstractFormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/AbstractFormTest.php
@@ -54,7 +54,7 @@ abstract class AbstractFormTest extends \PHPUnit_Framework_TestCase
     protected $_urlBuilder;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -70,7 +70,7 @@ abstract class AbstractFormTest extends \PHPUnit_Framework_TestCase
         $this->_urlBuilder = $this->getMockBuilder('Magento\Backend\Model\Url')
             ->disableOriginalConstructor()
             ->getMock();
-        $this->_layout = $this->_objectManager->get('Magento\Core\Model\Layout');
+        $this->_layout = $this->_objectManager->get('Magento\View\LayoutInterface');
         $this->_blockFactory = $this->_objectManager->get('Magento\Core\Model\BlockFactory');
         $this->_block = $this->_blockFactory->createBlock($this->_formClass, array(
             'context' => \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
diff --git a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/MainTest.php b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/MainTest.php
index 38aa37f4705..c92ff00f884 100644
--- a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/MainTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/MainTest.php
@@ -37,7 +37,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -56,7 +56,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
         parent::setUp();
 
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_layout = $this->_objectManager->get('Magento\Core\Model\Layout');
+        $this->_layout = $this->_objectManager->get('Magento\View\LayoutInterface');
         $this->_blockFactory = $this->_objectManager->get('Magento\Core\Model\BlockFactory');
         $this->_block = $this->_blockFactory->createBlock('Magento\Webapi\Block\Adminhtml\Role\Edit\Tab\Main');
         $this->_layout->addBlock($this->_block);
@@ -64,7 +64,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
 
     protected function tearDown()
     {
-        $this->_objectManager->removeSharedInstance('Magento\Core\Model\Layout');
+        $this->_objectManager->removeSharedInstance('Magento\View\LayoutInterface');
         $this->_objectManager->removeSharedInstance('Magento\Core\Model\BlockFactory');
         unset($this->_objectManager, $this->_layout, $this->_blockFactory, $this->_block);
     }
diff --git a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/ResourceTest.php b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/ResourceTest.php
index 31abd02b34f..99a304659b2 100644
--- a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/ResourceTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/ResourceTest.php
@@ -37,7 +37,7 @@ class ResourceTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -73,7 +73,7 @@ class ResourceTest extends \PHPUnit_Framework_TestCase
             ->getMock();
 
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_layout = $this->_objectManager->get('Magento\Core\Model\Layout');
+        $this->_layout = $this->_objectManager->get('Magento\View\LayoutInterface');
         $this->_blockFactory = $this->_objectManager->get('Magento\Core\Model\BlockFactory');
         $this->_block = $this->_blockFactory->createBlock('Magento\Webapi\Block\Adminhtml\Role\Edit\Tab\Resource',
             array(
@@ -86,7 +86,7 @@ class ResourceTest extends \PHPUnit_Framework_TestCase
 
     protected function tearDown()
     {
-        $this->_objectManager->removeSharedInstance('Magento\Core\Model\Layout');
+        $this->_objectManager->removeSharedInstance('Magento\View\LayoutInterface');
         unset($this->_objectManager, $this->_layout, $this->_resourceProvider, $this->_blockFactory, $this->_block);
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/Tab/MainTest.php b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/Tab/MainTest.php
index 1290368e4bc..a3d0dc61068 100644
--- a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/Tab/MainTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/Tab/MainTest.php
@@ -37,7 +37,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -56,7 +56,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
         parent::setUp();
 
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_layout = $this->_objectManager->get('Magento\Core\Model\Layout');
+        $this->_layout = $this->_objectManager->get('Magento\View\LayoutInterface');
         $this->_blockFactory = $this->_objectManager->get('Magento\Core\Model\BlockFactory');
         $this->_block = $this->_blockFactory->createBlock('Magento\Webapi\Block\Adminhtml\User\Edit\Tab\Main');
         $this->_layout->addBlock($this->_block);
@@ -64,7 +64,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
 
     protected function tearDown()
     {
-        $this->_objectManager->removeSharedInstance('Magento\Core\Model\Layout');
+        $this->_objectManager->removeSharedInstance('Magento\View\LayoutInterface');
         unset($this->_objectManager, $this->_urlBuilder, $this->_layout, $this->_blockFactory, $this->_block);
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/TabsTest.php b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/TabsTest.php
index f3c6df136ee..e88f01267e4 100644
--- a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/TabsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/TabsTest.php
@@ -37,7 +37,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -51,14 +51,14 @@ class TabsTest extends \PHPUnit_Framework_TestCase
         parent::setUp();
 
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_layout = $this->_objectManager->get('Magento\Core\Model\Layout');
+        $this->_layout = $this->_objectManager->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->createBlock('Magento\Webapi\Block\Adminhtml\User\Edit\Tabs',
             'webapi.user.edit.tabs');
     }
 
     protected function tearDown()
     {
-        $this->_objectManager->removeSharedInstance('Magento\Core\Model\Layout');
+        $this->_objectManager->removeSharedInstance('Magento\View\LayoutInterface');
         unset($this->_objectManager, $this->_layout, $this->_block);
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php
index 72cbd40d368..277e1383fe2 100644
--- a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php
@@ -37,7 +37,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -54,7 +54,8 @@ class EditTest extends \PHPUnit_Framework_TestCase
         parent::setUp();
 
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->createBlock('Magento\Webapi\Block\Adminhtml\User\Edit');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Webapi/Model/Soap/ServerTest.php b/dev/tests/integration/testsuite/Magento/Webapi/Model/Soap/ServerTest.php
index 698b73f6ee3..b143cab5e97 100644
--- a/dev/tests/integration/testsuite/Magento/Webapi/Model/Soap/ServerTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webapi/Model/Soap/ServerTest.php
@@ -27,8 +27,15 @@ namespace Magento\Webapi\Model\Soap;
 
 class ServerTest extends \PHPUnit_Framework_TestCase
 {
-    /** @var \Magento\Core\Model\Config */
-    protected $_configMock;
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_configScopeMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_areaListMock;
 
     /** @var \Magento\Webapi\Controller\Soap\Request */
     protected $_requestMock;
@@ -51,8 +58,9 @@ class ServerTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()->getMock();
         $this->_storeMock = $this->getMockBuilder('Magento\Core\Model\Store')
             ->disableOriginalConstructor()->getMock();
-        $this->_configMock = $this->getMockBuilder('Magento\Core\Model\Config')
-            ->disableOriginalConstructor()->getMock();
+
+        $this->_areaListMock = $this->getMock('Magento\App\AreaList', array(), array(), '', false);
+        $this->_configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
         $this->_storeManagerMock->expects($this->any())
             ->method('getStore')->will($this->returnValue($this->_storeMock));
         $this->_requestMock = $this->getMockBuilder('Magento\Webapi\Controller\Soap\Request')
@@ -75,7 +83,8 @@ class ServerTest extends \PHPUnit_Framework_TestCase
         $this->_storeMock->expects($this->once())->method('getConfig')->will($this->returnValue(true));
         /** Create SOAP server object. */
         $server = new \Magento\Webapi\Model\Soap\Server(
-            $this->_configMock,
+            $this->_areaListMock,
+            $this->_configScopeMock,
             $this->_requestMock,
             $this->_domDocumentFactory,
             $this->_storeManagerMock,
@@ -95,7 +104,8 @@ class ServerTest extends \PHPUnit_Framework_TestCase
         $this->_storeMock->expects($this->once())->method('getConfig')->will($this->returnValue(false));
         /** Create SOAP server object. */
         $server = new \Magento\Webapi\Model\Soap\Server(
-            $this->_configMock,
+            $this->_areaListMock,
+            $this->_configScopeMock,
             $this->_requestMock,
             $this->_domDocumentFactory,
             $this->_storeManagerMock,
diff --git a/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/EditTest.php b/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/EditTest.php
index 9ad59a44bff..048abee3d30 100644
--- a/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/EditTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/EditTest.php
@@ -49,8 +49,8 @@ class EditTest extends \PHPUnit_Framework_TestCase
 
     public function testAddSubscriptionTitle()
     {
-        /** @var \Magento\Core\Model\Layout $layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Core\Model\Layout');
+        /** @var \Magento\View\LayoutInterface $layout */
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\View\LayoutInterface');
 
         $subscription = array(
             'subscription_id' => null,
@@ -68,8 +68,8 @@ class EditTest extends \PHPUnit_Framework_TestCase
 
     public function testEditSubscriptionTitle()
     {
-        /** @var \Magento\Core\Model\Layout $layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Core\Model\Layout');
+        /** @var \Magento\View\LayoutInterface $layout */
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\View\LayoutInterface');
 
         $subscription = array(
             'subscription_id' => 1,
diff --git a/dev/tests/integration/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php b/dev/tests/integration/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php
index d22f5ee9a49..6fc8337ff13 100644
--- a/dev/tests/integration/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php
@@ -109,21 +109,21 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $dirs = $objectManager->create(
-            'Magento\Core\Model\Dir',
+            'Magento\App\Dir',
             array(
                 'baseDir' => BP,
                 'dirs' => array(
-                    \Magento\Core\Model\Dir::MODULES => __DIR__ . '/_files',
-                    \Magento\Core\Model\Dir::CONFIG => __DIR__ . '/_files',
+                    \Magento\App\Dir::MODULES => __DIR__ . '/_files',
+                    \Magento\App\Dir::CONFIG => __DIR__ . '/_files',
                 ),
             )
         );
 
-        $moduleList = $objectManager->create('Magento\Core\Model\ModuleList', array(
-            'reader' => $objectManager->create('Magento\Core\Model\Module\Declaration\Reader\Filesystem',
+        $moduleList = $objectManager->create('Magento\App\ModuleList', array(
+            'reader' => $objectManager->create('Magento\App\Module\Declaration\Reader\Filesystem',
                 array(
                     'fileResolver' => $objectManager->create(
-                        'Magento\Core\Model\Module\Declaration\FileResolver',
+                        'Magento\App\Module\Declaration\FileResolver',
                         array(
                             'applicationDirs' => $dirs
                         )
diff --git a/dev/tests/integration/testsuite/Magento/Webhook/Model/Subscription/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Webhook/Model/Subscription/ConfigTest.php
index d6f17fc0410..efc370ce964 100644
--- a/dev/tests/integration/testsuite/Magento/Webhook/Model/Subscription/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webhook/Model/Subscription/ConfigTest.php
@@ -57,25 +57,25 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     {
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $dirs = $this->_objectManager->create(
-            'Magento\Core\Model\Dir',
+            'Magento\App\Dir',
             array(
                 'baseDir' => BP,
                 'dirs'    => array(
-                    \Magento\Core\Model\Dir::MODULES => __DIR__ . '/_files',
-                    \Magento\Core\Model\Dir::CONFIG => __DIR__ . '/_files'
+                    \Magento\App\Dir::MODULES => __DIR__ . '/_files',
+                    \Magento\App\Dir::CONFIG => __DIR__ . '/_files'
                 ),
             )
         );
 
         $fileResolver = $this->_objectManager->create(
-            'Magento\Core\Model\Module\Declaration\FileResolver', array('applicationDirs' => $dirs)
+            'Magento\App\Module\Declaration\FileResolver', array('applicationDirs' => $dirs)
         );
-        $filesystemReader = $this->_objectManager->create('Magento\Core\Model\Module\Declaration\Reader\Filesystem',
+        $filesystemReader = $this->_objectManager->create('Magento\App\Module\Declaration\Reader\Filesystem',
             array('fileResolver' => $fileResolver)
         );
         $moduleList = $this->_objectManager->create(
-            'Magento\Core\Model\ModuleList',
-            array('reader' => $filesystemReader, 'cache' => $this->getMock("Magento\Config\CacheInterface"))
+            'Magento\App\ModuleList',
+            array('reader' => $filesystemReader, 'cache' => $this->getMock('Magento\Config\CacheInterface'))
         );
 
         /**
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/ContainerTest.php b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/ContainerTest.php
index c31123d0f63..efb2ed5c929 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/ContainerTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/ContainerTest.php
@@ -41,7 +41,7 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
     {
         parent::setUp();
 
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/LayoutTest.php b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/LayoutTest.php
index 745608a4ae7..c697145cb2e 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/LayoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/LayoutTest.php
@@ -46,7 +46,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         $layoutUtility = new \Magento\Core\Utility\Layout($this);
         $args = array(
             'context' => $objectManager->get('Magento\Core\Block\Template\Context'),
-            'layoutMergeFactory' => $this->getMock('Magento\Core\Model\Layout\MergeFactory',
+            'layoutProcessorFactory' => $this->getMock('Magento\View\Layout\ProcessorFactory',
                 array(), array(), '', false),
             'themesFactory' => $objectManager->get('Magento\Core\Model\Resource\Theme\CollectionFactory'),
             'data' => array(
@@ -58,11 +58,11 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         );
         $this->_block = $this->getMock(
             'Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Layout',
-            array('_getLayoutMerge'), $args
+            array('_getLayoutProcessor'), $args
         );
         $this->_block
             ->expects($this->any())
-            ->method('_getLayoutMerge')
+            ->method('_getLayoutProcessor')
             ->will($this->returnCallback(
                 function () use ($layoutUtility) {
                     return $layoutUtility->getLayoutUpdateFromFixture(glob(__DIR__ . '/_files/layout/*.xml'));
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main/LayoutTest.php b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main/LayoutTest.php
index 265659c1082..44f9d4479f5 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main/LayoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main/LayoutTest.php
@@ -34,7 +34,7 @@ namespace Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Tab\Main;
 class LayoutTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Tab\Main_Layout
+     * @var \Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Tab\Main\Layout
      */
     protected $_block;
 
@@ -42,7 +42,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     {
         parent::setUp();
 
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock(
                 'Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Tab\Main\Layout',
                 '',
@@ -52,7 +52,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
                 ))
             );
         $this->_block->setLayout(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
         );
     }
 
@@ -61,7 +61,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetLayoutsChooser()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)
             ->setDefaultDesignTheme();
 
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/MainTest.php b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/MainTest.php
index 3acefdd9b07..7508d4464fe 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/MainTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/MainTest.php
@@ -37,7 +37,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')->register('current_widget_instance', new \Magento\Object());
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Tab\Main');
         $block->setTemplate(null);
         $block->toHtml();
@@ -45,4 +45,15 @@ class MainTest extends \PHPUnit_Framework_TestCase
         $this->assertInstanceOf('Magento\Data\Form\Element\Select', $element);
         $this->assertTrue($element->getDisabled());
     }
+
+    public function testTypeElement()
+    {
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            ->createBlock('Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Tab\Main');
+        $block->setTemplate(null);
+        $block->toHtml();
+        $element = $block->getForm()->getElement('instance_code');
+        $this->assertInstanceOf('Magento\Data\Form\Element\Select', $element);
+        $this->assertTrue($element->getDisabled());
+    }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/EditTest.php b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/EditTest.php
index d97e9070b77..76dbb591780 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/EditTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/EditTest.php
@@ -39,8 +39,9 @@ class EditTest extends \PHPUnit_Framework_TestCase
     public function testConstruct()
     {
         $type = 'Magento\Catalog\Block\Product\Widget\NewWidget';
+        $code = 'catalog_product_newwidget';
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setDefaultDesignTheme()
             ->getDesignTheme();
 
@@ -49,15 +50,16 @@ class EditTest extends \PHPUnit_Framework_TestCase
             ->create('Magento\Widget\Model\Widget\Instance');
         $widgetInstance
             ->setType($type)
+            ->setCode($code)
             ->setThemeId($theme->getId())
             ->save();
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')->register('current_widget_instance', $widgetInstance);
 
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Controller\Request\Http')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\RequestInterface')
             ->setParam('instance_id', $widgetInstance->getId());
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Widget\Block\Adminhtml\Widget\Instance\Edit', 'widget');
         $this->assertArrayHasKey('widget-delete_button', $block->getLayout()->getAllBlocks());
     }
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php b/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php
index b5dc02ee864..b0d76255a95 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php
@@ -37,17 +37,22 @@ class InstanceTest extends \Magento\Backend\Utility\Controller
         parent::setUp();
 
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setDefaultDesignTheme()
             ->getDesignTheme();
-        $this->getRequest()->setParam('type', 'Magento\Cms\Block\Widget\Page\Link');
+        $type = 'Magento\Cms\Block\Widget\Page\Link';
+        /** @var $model \Magento\Widget\Model\Widget\Instance */
+        $model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->create('Magento\Widget\Model\Widget\Instance');
+        $code = $model->setType($type)->getWidgetReference('type', $type, 'code');
+        $this->getRequest()->setParam('code', $code);
         $this->getRequest()->setParam('theme_id', $theme->getId());
     }
 
     public function testEditAction()
     {
         $this->dispatch('backend/admin/widget_instance/edit');
-        $this->assertContains('<option value="Magento\Cms\Block\Widget\Page\Link" selected="selected">',
+        $this->assertContains('<option value="cms_page_link" selected="selected">',
             $this->getResponse()->getBody()
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/DataTest.php b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/DataTest.php
index ce76a4f56cd..6fbf0933475 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/DataTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/DataTest.php
@@ -40,36 +40,36 @@ class DataTest extends \PHPUnit_Framework_TestCase
     public function setUp()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        /** @var \Magento\Core\Model\Dir $dirs */
+        /** @var \Magento\App\Dir $dirs */
         $dirs = $objectManager->create(
-            'Magento\Core\Model\Dir', array(
+            'Magento\App\Dir', array(
                 'baseDir' => BP,
                 'dirs' => array(
-                    \Magento\Core\Model\Dir::MODULES => __DIR__ . '/_files/code',
-                    \Magento\Core\Model\Dir::CONFIG => __DIR__ . '/_files/code',
-                    \Magento\Core\Model\Dir::THEMES => __DIR__ . '/_files/design',
+                    \Magento\App\Dir::MODULES => __DIR__ . '/_files/code',
+                    \Magento\App\Dir::CONFIG => __DIR__ . '/_files/code',
+                    \Magento\App\Dir::THEMES => __DIR__ . '/_files/design',
                 )
             )
         );
 
-        /** @var \Magento\Core\Model\Module\Declaration\FileResolver $modulesDeclarations */
+        /** @var \Magento\App\Module\Declaration\FileResolver $modulesDeclarations */
         $modulesDeclarations = $objectManager->create(
-            'Magento\Core\Model\Module\Declaration\FileResolver', array(
+            'Magento\App\Module\Declaration\FileResolver', array(
                 'applicationDirs' => $dirs,
             )
         );
 
 
-        /** @var \Magento\Core\Model\Module\Declaration\Reader\Filesystem $filesystemReader */
+        /** @var \Magento\App\Module\Declaration\Reader\Filesystem $filesystemReader */
         $filesystemReader = $objectManager->create(
-            'Magento\Core\Model\Module\Declaration\Reader\Filesystem', array(
+            'Magento\App\Module\Declaration\Reader\Filesystem', array(
                 'fileResolver' => $modulesDeclarations,
             )
         );
 
-        /** @var \Magento\Core\Model\ModuleList $modulesList */
+        /** @var \Magento\App\ModuleList $modulesList */
         $modulesList = $objectManager->create(
-            'Magento\Core\Model\ModuleList', array(
+            'Magento\App\ModuleList', array(
                 'reader' => $filesystemReader,
             )
         );
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/FileResolverTest.php b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/FileResolverTest.php
index d7a1e457e13..b98cc6e8589 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/FileResolverTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/FileResolverTest.php
@@ -32,16 +32,16 @@ class FileResolverTest extends \PHPUnit_Framework_TestCase
      */
     private $_object;
 
-    /** @var \Magento\Core\Model\Dir/PHPUnit_Framework_MockObject_MockObject  */
+    /** @var \Magento\App\Dir/PHPUnit_Framework_MockObject_MockObject  */
     private $_applicationDirsMock;
 
     public function setUp()
     {
-        $this->_applicationDirsMock = $this->getMockBuilder('Magento\Core\Model\Dir')
+        $this->_applicationDirsMock = $this->getMockBuilder('Magento\App\Dir')
             ->disableOriginalConstructor()
             ->getMock();
 
-        $moduleListMock = $this->getMockBuilder('Magento\Core\Model\ModuleListInterface')
+        $moduleListMock = $this->getMockBuilder('Magento\App\ModuleListInterface')
             ->disableOriginalConstructor()
             ->getMock();
         $moduleListMock->expects($this->any())
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/ReaderTest.php b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/ReaderTest.php
index 00124f90fa8..9300eaacf6c 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/ReaderTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/ReaderTest.php
@@ -35,35 +35,35 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
     public function setUp()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        /** @var \Magento\Core\Model\Dir $dirs */
+        /** @var \Magento\App\Dir $dirs */
         $dirs = $objectManager->create(
-            'Magento\Core\Model\Dir', array(
+            'Magento\App\Dir', array(
                 'baseDir' => BP,
                 'dirs' => array(
-                    \Magento\Core\Model\Dir::MODULES => __DIR__ . '/_files/code',
-                    \Magento\Core\Model\Dir::CONFIG => __DIR__ . '/_files/code'
+                    \Magento\App\Dir::MODULES => __DIR__ . '/_files/code',
+                    \Magento\App\Dir::CONFIG => __DIR__ . '/_files/code'
                 )
             )
         );
 
-        /** @var \Magento\Core\Model\Module\Declaration\FileResolver $modulesDeclarations */
+        /** @var \Magento\App\Module\Declaration\FileResolver $modulesDeclarations */
         $modulesDeclarations = $objectManager->create(
-            'Magento\Core\Model\Module\Declaration\FileResolver', array(
+            'Magento\App\Module\Declaration\FileResolver', array(
                 'applicationDirs' => $dirs,
             )
         );
 
 
-        /** @var \Magento\Core\Model\Module\Declaration\Reader\Filesystem $filesystemReader */
+        /** @var \Magento\App\Module\Declaration\Reader\Filesystem $filesystemReader */
         $filesystemReader = $objectManager->create(
-            'Magento\Core\Model\Module\Declaration\Reader\Filesystem', array(
+            'Magento\App\Module\Declaration\Reader\Filesystem', array(
                 'fileResolver' => $modulesDeclarations,
             )
         );
 
-        /** @var \Magento\Core\Model\ModuleList $modulesList */
+        /** @var \Magento\App\ModuleList $modulesList */
         $modulesList = $objectManager->create(
-            'Magento\Core\Model\ModuleList', array(
+            'Magento\App\ModuleList', array(
                 'reader' => $filesystemReader,
             )
         );
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/ConfigTest.php
index 4f7633b3c99..b8b6742e265 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/ConfigTest.php
@@ -46,7 +46,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetPluginSettings()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('magento_basic', 'adminhtml');
 
         $config = new \Magento\Object();
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/InstanceTest.php b/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/InstanceTest.php
index 1aa2321a7c8..722a91f5ce1 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/InstanceTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/InstanceTest.php
@@ -49,7 +49,7 @@ class InstanceTest extends \PHPUnit_Framework_TestCase
     public function testSetThemeId()
     {
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setDefaultDesignTheme()
             ->getDesignTheme();
         $this->_model->setThemeId($theme->getId());
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Model/WidgetTest.php b/dev/tests/integration/testsuite/Magento/Widget/Model/WidgetTest.php
index d02ffe6aa56..27a0209bf70 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Model/WidgetTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Model/WidgetTest.php
@@ -62,10 +62,10 @@ class WidgetTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetPlaceholderImageUrl($type, $expectedFile)
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('magento_basic', 'adminhtml');
-        $expectedPubFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::STATIC_VIEW) . "/adminhtml/magento_basic/en_US/{$expectedFile}";
+        $expectedPubFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::STATIC_VIEW) . "/adminhtml/magento_basic/en_US/{$expectedFile}";
         if (file_exists($expectedPubFile)) {
             unlink($expectedPubFile);
         }
@@ -102,13 +102,13 @@ class WidgetTest extends \PHPUnit_Framework_TestCase
     public function testGetPlaceholderImageUrlAtTheme()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        /** @var \Magento\Core\Model\Dir $dir */
-        $dir = $objectManager->get('Magento\Core\Model\Dir');
+        /** @var \Magento\App\Dir $dir */
+        $dir = $objectManager->get('Magento\App\Dir');
 
         $property = new \ReflectionProperty($dir, '_dirs');
         $property->setAccessible(true);
         $dirs = $property->getValue($dir);
-        $dirs[\Magento\Core\Model\Dir::THEMES] = dirname(__DIR__) . '/_files/design';
+        $dirs[\Magento\App\Dir::THEMES] = dirname(__DIR__) . '/_files/design';
         $property->setValue($dir, $dirs);
 
         $actualFile = $this->testGetPlaceholderImageUrl(
diff --git a/dev/tests/integration/testsuite/Magento/Wishlist/Block/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Wishlist/Block/AbstractTest.php
index 773c7b12a8b..478e5d85288 100644
--- a/dev/tests/integration/testsuite/Magento/Wishlist/Block/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Wishlist/Block/AbstractTest.php
@@ -59,7 +59,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
             ->getArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)->load();
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)
             ->setDefaultDesignTheme();
         $product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/ColumnTest.php b/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/ColumnTest.php
index d7cb36ddf74..dde2bc457c2 100644
--- a/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/ColumnTest.php
+++ b/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/ColumnTest.php
@@ -30,7 +30,7 @@ namespace Magento\Wishlist\Block\Customer\Wishlist\Item;
 class ColumnTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout = null;
 
@@ -41,7 +41,8 @@ class ColumnTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->addBlock('Magento\Wishlist\Block\Customer\Wishlist\Item\Column', 'test');
         $this->_layout->addBlock('Magento\Core\Block\Text', 'child', 'test');
     }
diff --git a/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/OptionsTest.php b/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/OptionsTest.php
index 0eee49131be..d8c292a2c86 100644
--- a/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/OptionsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/OptionsTest.php
@@ -34,7 +34,7 @@ class OptionsTest extends \PHPUnit_Framework_TestCase
 {
     public function testGetTemplate()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Wishlist\Block\Customer\Wishlist\Item\Options');
         $this->assertEmpty($block->getTemplate());
         $product = new \Magento\Object(array('type_id' => 'test'));
diff --git a/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/ItemsTest.php b/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/ItemsTest.php
index 8b0e091bbe4..61eea886189 100644
--- a/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/ItemsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/ItemsTest.php
@@ -31,7 +31,7 @@ class ItemsTest extends \PHPUnit_Framework_TestCase
 {
     public function testGetColumns()
     {
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $block = $layout->addBlock('Magento\Wishlist\Block\Customer\Wishlist\Items', 'test');
         $child = $this->getMock('Magento\Core\Block\Text', array('isEnabled'),
             array(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Block\Context')));
diff --git a/dev/tests/js/testsuite/mage/suggest/tree-suggest-test.js b/dev/tests/js/testsuite/mage/suggest/tree-suggest-test.js
index 3f7427fbd5c..9dd7b27eed6 100644
--- a/dev/tests/js/testsuite/mage/suggest/tree-suggest-test.js
+++ b/dev/tests/js/testsuite/mage/suggest/tree-suggest-test.js
@@ -64,33 +64,6 @@ TreeSuggestTest.prototype.testInit = function() {
     assertEquals(treeSuggestInstance.widgetEventPrefix, 'suggest');
 };
 
-TreeSuggestTest.prototype.testBind = function() {
-    return; // test is broken, see https://jira.corp.x.com/browse/MAGETWO-9269
-    var event = jQuery.Event('keydown'),
-        proxyEventsExecuted = false,
-        treeSuggestInstance = this.treeSuggestCreate();
-
-    treeSuggestInstance.dropdown.show();
-
-    event.keyCode = jQuery.ui.keyCode.LEFT;
-    this.stub(treeSuggestInstance, '_proxyEvents').done(function() {
-        proxyEventsExecuted = true
-    });
-
-    treeSuggestInstance.element.trigger(event);
-    assertTrue(proxyEventsExecuted);
-
-    event.keyCode = $.ui.keyCode.RIGHT;
-    proxyEventsExecuted = false;
-    this.stub(treeSuggestInstance, '_proxyEvents').done(function() {
-        proxyEventsExecuted = true
-    });
-
-    treeSuggestInstance.dropdown.show();
-    treeSuggestInstance.element.trigger(event);
-    assertTrue(proxyEventsExecuted);
-};
-
 TreeSuggestTest.prototype.testClose = function() {
     var treeSuggestInstance = this.treeSuggestCreate(),
         elementFocused = false;
diff --git a/dev/tests/performance/framework/Magento/TestFramework/Application.php b/dev/tests/performance/framework/Magento/TestFramework/Application.php
index d09b3c9aa51..4a4cfdbfb37 100644
--- a/dev/tests/performance/framework/Magento/TestFramework/Application.php
+++ b/dev/tests/performance/framework/Magento/TestFramework/Application.php
@@ -180,7 +180,7 @@ class Application
      */
     protected function _updateFilesystemPermissions()
     {
-        \Magento\Io\File::chmodRecursive($this->_objectManager->get('Magento\Core\Model\Dir')->getDir('var'), 0777);
+        \Magento\Io\File::chmodRecursive($this->_objectManager->get('Magento\App\Dir')->getDir('var'), 0777);
     }
 
     /**
diff --git a/dev/tests/static/framework/Magento/TestFramework/Utility/Classes.php b/dev/tests/static/framework/Magento/TestFramework/Utility/Classes.php
index d150d20c2ee..74b0f8e0fe3 100644
--- a/dev/tests/static/framework/Magento/TestFramework/Utility/Classes.php
+++ b/dev/tests/static/framework/Magento/TestFramework/Utility/Classes.php
@@ -222,9 +222,14 @@ class Classes
             $configDom->load($fileName);
             $xPath = new \DOMXPath($configDom);
             $vTypes = $xPath->query('/config/virtualType');
-            for ($i = 0; $i < $vTypes->length; $i++) {
-                $name = $vTypes->item($i)->attributes->getNamedItem('name')->textContent;
-                self::$_virtualClasses[$name] = $name;
+            /** @var \DOMNode $virtualType */
+            foreach ($vTypes as $virtualType) {
+                $name = $virtualType->attributes->getNamedItem('name')->textContent;
+                if (!$virtualType->attributes->getNamedItem('type')) {
+                    continue;
+                }
+                $type = $virtualType->attributes->getNamedItem('type')->textContent;
+                self::$_virtualClasses[$name] = $type;
             }
         }
 
@@ -232,6 +237,8 @@ class Classes
     }
 
     /**
+     * Check if instance is virtual type
+     *
      * @param $className string
      * @return bool
      */
@@ -244,7 +251,25 @@ class Classes
     }
 
     /**
-     * Check class is autogenerated
+     * Get real type name for virtual type
+     *
+     * @param string $className
+     * @return string
+     */
+    public static function resolveVirtualType($className)
+    {
+        if (false == self::isVirtual($className)) {
+            return $className;
+        }
+
+        $resolvedName = self::$_virtualClasses[$className];
+        return self::resolveVirtualType($resolvedName);
+    }
+
+
+
+    /**
+     * Check class is auto-generated
      *
      * @param string $className
      * @return bool
diff --git a/dev/tests/static/framework/Magento/TestFramework/Utility/Files.php b/dev/tests/static/framework/Magento/TestFramework/Utility/Files.php
index d7348a51128..3158e3c69d3 100644
--- a/dev/tests/static/framework/Magento/TestFramework/Utility/Files.php
+++ b/dev/tests/static/framework/Magento/TestFramework/Utility/Files.php
@@ -113,13 +113,13 @@ class Files
     {
         $key = __METHOD__ . "/{$this->_path}/{$appCode}/{$otherCode}/{$templates}";
         if (!isset(self::$_cache[$key])) {
-            $namespace = $module = $area = $package = $theme = '*';
+            $namespace = $module = $area = $theme = '*';
 
             $files = array();
             if ($appCode) {
                 $files = array_merge(
                     glob($this->_path . '/app/*.php', GLOB_NOSORT),
-                    self::_getFiles(array("{$this->_path}/app/code/{$namespace}/{$module}"), '*.php')
+                    self::getFiles(array("{$this->_path}/app/code/{$namespace}/{$module}"), '*.php')
                 );
             }
             if ($otherCode) {
@@ -127,16 +127,16 @@ class Files
                     $files,
                     glob($this->_path . '/*.php', GLOB_NOSORT),
                     glob($this->_path . '/pub/*.php', GLOB_NOSORT),
-                    self::_getFiles(array("{$this->_path}/downloader"), '*.php'),
-                    self::_getFiles(array("{$this->_path}/lib/{Mage,Magento,Varien}"), '*.php')
+                    self::getFiles(array("{$this->_path}/downloader"), '*.php'),
+                    self::getFiles(array("{$this->_path}/lib/{Mage,Magento,Varien}"), '*.php')
                 );
             }
             if ($templates) {
                 $files = array_merge(
                     $files,
-                    self::_getFiles(array("{$this->_path}/app/code/{$namespace}/{$module}"), '*.phtml'),
-                    self::_getFiles(
-                        array("{$this->_path}/app/design/{$area}/{$package}/{$theme}/{$namespace}_{$module}"),
+                    self::getFiles(array("{$this->_path}/app/code/{$namespace}/{$module}"), '*.phtml'),
+                    self::getFiles(
+                        array("{$this->_path}/app/design/{$area}/{$theme}/{$namespace}_{$module}"),
                         '*.phtml'
                     )
                 );
@@ -173,37 +173,37 @@ class Files
             if ($appCode) {
                 $files = array_merge(
                     $files,
-                    self::_getFiles(array("{$this->_path}/app/code/Magento"), '*.php')
+                    self::getFiles(array("{$this->_path}/app/code/Magento"), '*.php')
                 );
             }
             if ($devTests) {
                 $files = array_merge(
                     $files,
-                    self::_getFiles(array("{$this->_path}/dev/tests"), '*.php')
+                    self::getFiles(array("{$this->_path}/dev/tests"), '*.php')
                 );
             }
             if ($devTools) {
                 $files = array_merge(
                     $files,
-                    self::_getFiles(array("{$this->_path}/dev/tools/Magento"), '*.php')
+                    self::getFiles(array("{$this->_path}/dev/tools/Magento"), '*.php')
                 );
             }
             if ($downloaderApp) {
                 $files = array_merge(
                     $files,
-                    self::_getFiles(array("{$this->_path}/downloader/app/Magento"), '*.php')
+                    self::getFiles(array("{$this->_path}/downloader/app/Magento"), '*.php')
                 );
             }
             if ($downloaderLib) {
                 $files = array_merge(
                     $files,
-                    self::_getFiles(array("{$this->_path}/downloader/lib/Magento"), '*.php')
+                    self::getFiles(array("{$this->_path}/downloader/lib/Magento"), '*.php')
                 );
             }
             if ($lib) {
                 $files = array_merge(
                     $files,
-                    self::_getFiles(array("{$this->_path}/lib/Magento"), '*.php')
+                    self::getFiles(array("{$this->_path}/lib/Magento"), '*.php')
                 );
             }
             self::$_cache[$key] = $files;
@@ -346,7 +346,7 @@ class Files
         if (!isset(self::$_cache[__METHOD__][$cacheKey])) {
             $files = array();
             if ($params['include_code']) {
-                $files = self::_getFiles(
+                $files = self::getFiles(
                     array(
                         "{$this->_path}/app/code/{$params['namespace']}/{$params['module']}"
                         . "/view/{$params['area']}/layout"
@@ -364,7 +364,7 @@ class Files
                 );
                 $files = array_merge(
                     $files,
-                    self::_getFiles(
+                    self::getFiles(
                         $dirPatterns,
                         '*.xml'
                     )
@@ -390,11 +390,11 @@ class Files
         if (isset(self::$_cache[$key])) {
             return self::$_cache[$key];
         }
-        $namespace = $module = $area = $package = $theme = $skin = '*';
-        $files = self::_getFiles(
+        $namespace = $module = $area = $theme = $skin = '*';
+        $files = self::getFiles(
             array(
                 "{$this->_path}/app/code/{$namespace}/{$module}/view/{$area}",
-                "{$this->_path}/app/design/{$area}/{$package}/{$theme}/skin/{$skin}",
+                "{$this->_path}/app/design/{$area}/{$theme}/skin/{$skin}",
                 "{$this->_path}/pub/lib/{mage,varien}"
             ),
             '*.js'
@@ -415,13 +415,13 @@ class Files
         if (isset(self::$_cache[$key])) {
             return self::$_cache[$key];
         }
-        $namespace = $module = $package = $theme = '*';
+        $namespace = $module = $theme = '*';
         $paths = array(
             "{$this->_path}/app/code/{$namespace}/{$module}/view/{$area}",
-            "{$this->_path}/app/design/{$area}/{$package}/{$theme}",
+            "{$this->_path}/app/design/{$area}/{$theme}",
             "{$this->_path}/pub/lib/varien",
         );
-        $files = self::_getFiles(
+        $files = self::getFiles(
             $paths,
             '*.js'
         );
@@ -430,29 +430,19 @@ class Files
             $adminhtmlPaths = array(
                 "{$this->_path}/pub/lib/mage/{adminhtml,backend}",
             );
-            $files = array_merge($files, self::_getFiles($adminhtmlPaths, '*.js'));
+            $files = array_merge($files, self::getFiles($adminhtmlPaths, '*.js'));
         } else {
             $frontendPaths = array("{$this->_path}/pub/lib/mage");
             /* current structure of /pub/lib/mage directory contains frontend javascript in the root,
                backend javascript in subdirectories. That's why script shouldn't go recursive throught subdirectories
                to get js files for frontend */
-            $files = array_merge($files, self::_getFiles($frontendPaths, '*.js', false));
+            $files = array_merge($files, self::getFiles($frontendPaths, '*.js', false));
         }
 
         self::$_cache[$key] = $files;
         return $files;
     }
 
-    /**
-     * Returns list of Twig files in Magento app directory.
-     *
-     * @return array
-     */
-    public function getTwigFiles()
-    {
-        return self::_getFiles(array($this->_path . '/app'), '*.twig');
-    }
-
     /**
      * Returns list of Phtml files in Magento app directory.
      *
@@ -474,7 +464,7 @@ class Files
         if (isset(self::$_cache[$key])) {
             return self::$_cache[$key];
         }
-        $files = self::_getFiles(array($this->_path . '/app/code/*/*/view/email'), '*.html');
+        $files = self::getFiles(array($this->_path . '/app/code/*/*/view/email'), '*.html');
         $result = self::composeDataSets($files);
         self::$_cache[$key] = $result;
         return $result;
@@ -493,7 +483,7 @@ class Files
             return self::$_cache[$key];
         }
 
-        $subFiles = self::_getFiles(
+        $subFiles = self::getFiles(
             array(
                 $this->_path . '/app',
                 $this->_path . '/dev',
@@ -526,7 +516,7 @@ class Files
      * @param string $fileNamePattern
      * @return array
      */
-    protected static function _getFiles(array $dirPatterns, $fileNamePattern, $recursive = true)
+    public static function getFiles(array $dirPatterns, $fileNamePattern, $recursive = true)
     {
         $result = array();
         foreach ($dirPatterns as $oneDirPattern) {
@@ -535,7 +525,7 @@ class Files
             $filesInDir = array_diff($entriesInDir, $subDirs);
 
             if ($recursive) {
-                $filesInSubDir = self::_getFiles($subDirs, $fileNamePattern);
+                $filesInSubDir = self::getFiles($subDirs, $fileNamePattern);
                 $result = array_merge($result, $filesInDir, $filesInSubDir);
             }
         }
@@ -548,7 +538,7 @@ class Files
      */
     public function getDiConfigs()
     {
-        $primaryConfigs = glob($this->_path . '/app/etc/di/*.xml');
+        $primaryConfigs = glob($this->_path . '/app/etc/{di.xml,*/di.xml}', GLOB_BRACE);
         $moduleConfigs = glob($this->_path . '/app/code/*/*/etc/{di,*/di}.xml', GLOB_BRACE);
         $configs = array_merge($primaryConfigs, $moduleConfigs);
         return $configs;
@@ -661,7 +651,7 @@ class Files
     {
         $key = __METHOD__ . "/{$module}";
         if (!isset(self::$_cache[$key])) {
-            $files = self::_getFiles(array("{$this->_path}/app/code/Magento/{$module}"), '*.php');
+            $files = self::getFiles(array("{$this->_path}/app/code/Magento/{$module}"), '*.php');
             self::$_cache[$key] = $files;
         }
 
diff --git a/dev/tests/static/phpunit.xml.dist b/dev/tests/static/phpunit.xml.dist
index aee6d138cf1..80094e84bd9 100644
--- a/dev/tests/static/phpunit.xml.dist
+++ b/dev/tests/static/phpunit.xml.dist
@@ -38,9 +38,6 @@
         <testsuite name="Code Integrity Tests">
             <directory>testsuite/Magento/Test/Integrity</directory>
         </testsuite>
-        <testsuite name="Twig Syntax Checker">
-            <directory>testsuite/Magento/Test/Twig/TwigExtensionTest.php</directory>
-        </testsuite>
     </testsuites>
     <php>
         <ini name="date.timezone" value="America/Los_Angeles"/>
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php b/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php
index 512ea7ece34..364734d929f 100644
--- a/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php
@@ -39,6 +39,10 @@ class ClassesTest extends \PHPUnit_Framework_TestCase
 
     protected static $_keywordsBlacklist = array("String", "Array", "Boolean", "Element");
 
+    protected static $_namespaceBlacklist = null;
+
+    protected static $_referenceBlackList = null;
+
     public function testPhpFiles()
     {
         $invoker = new \Magento\TestFramework\Utility\AggregateInvoker($this);
@@ -210,10 +214,13 @@ class ClassesTest extends \PHPUnit_Framework_TestCase
              * @param array $file
              */
             function ($file) {
-                $relativePath = str_replace(\Magento\TestFramework\Utility\Files::init()->getPathToSource(), "", $file);
+                $relativePath = str_replace(\Magento\TestFramework\Utility\Files::init()->getPathToSource() . "/",
+                    "",
+                    $file
+                );
                 // exceptions made for the files from the blacklist
-                $blacklist = require __DIR__ . '/NamespaceBlacklist.php';
-                if (in_array($relativePath, $blacklist)) {
+                self::_setNamespaceBlackList();
+                if (in_array($relativePath, self::$_namespaceBlacklist)) {
                     return;
                 }
 
@@ -237,7 +244,31 @@ class ClassesTest extends \PHPUnit_Framework_TestCase
         );
     }
 
+    protected function _setNamespaceBlackList()
+    {
+        if (!isset(self::$_namespaceBlacklist)) {
+            $blackList = array();
+            foreach (glob(__DIR__ . '/_files/blacklist/namespace.txt') as $list) {
+                $fileList = file($list, FILE_IGNORE_NEW_LINES);
+                foreach ($fileList as $currentFile) {
+                    $absolutePath =
+                        \Magento\TestFramework\Utility\Files::init()->getPathToSource() .
+                        DIRECTORY_SEPARATOR .
+                        $currentFile;
+                    if (is_dir($absolutePath)) {
+                        $recursiveFiles =
+                            \Magento\TestFramework\Utility\Files::getFiles(array($absolutePath), '*.php', true);
+                        $blackList = array_merge($blackList, $recursiveFiles);
+                    } else {
+                        array_push($blackList, $currentFile);
+                    }
+                }
 
+            }
+            self::$_namespaceBlacklist = $blackList;
+        }
+    }
+    
     /**
      * Assert PHP classes have valid formal namespaces according to file locations
      *
@@ -358,22 +389,30 @@ class ClassesTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * This function is to remove legacy code usages according to ReferenceBlacklist.php
+     * This function is to remove legacy code usages according to _files/blacklist/reference.txt
      * @param $classes
      * @return array
      */
     protected function referenceBlacklistFilter($classes)
     {
         // exceptions made for the files from the blacklist
-        $blacklist = require __DIR__ . '/ReferenceBlacklist.php';
+        self::_setReferenceBlacklist();
         foreach ($classes as $class) {
-            if (in_array($class, $blacklist)) {
+            if (in_array($class, self::$_referenceBlackList)) {
                 unset($classes[array_search($class, $classes)]);
             }
         }
         return $classes;
     }
 
+    protected function _setReferenceBlacklist()
+    {
+        if (!isset(self::$_referenceBlackList)) {
+            $blackList = file(__DIR__ . DIRECTORY_SEPARATOR . '_files/blacklist/reference.txt', FILE_IGNORE_NEW_LINES);
+            self::$_referenceBlackList = $blackList;
+        }
+    }
+
     /**
      * This function is to remove special cases (if any) from the list of found bad classes
      * @param array $badClasses
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/Di/ConfigurationTest.php b/dev/tests/static/testsuite/Magento/Test/Integrity/Di/ConfigurationTest.php
new file mode 100644
index 00000000000..9be734c294c
--- /dev/null
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/Di/ConfigurationTest.php
@@ -0,0 +1,104 @@
+<?php
+/**
+ * DI configuration test. Checks configuration of types and virtual types parameters
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\Test\Integrity\Di;
+
+class ConfigurationTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\ObjectManager\Config\Mapper\Dom()
+     */
+    protected $_mapper;
+
+    protected function setUp()
+    {
+        $basePath = \Magento\TestFramework\Utility\Files::init()->getPathToSource();
+        \Magento\Autoload\IncludePath::addIncludePath(array(
+            $basePath . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'code',
+            $basePath . DIRECTORY_SEPARATOR . 'lib',
+        ));
+        $this->_mapper = new \Magento\ObjectManager\Config\Mapper\Dom();
+
+    }
+
+    /**
+     * @dataProvider configFilesDataProvider
+     */
+    public function testConfigurationOfInstanceParameters($file)
+    {
+        $dom = new \DOMDocument();
+        $dom->load($file);
+        $data = $this->_mapper->convert($dom);
+
+        foreach ($data as $instanceName => $parameters) {
+            if (!isset($parameters['parameters']) || empty($parameters['parameters'])) {
+                continue;
+            }
+
+            if (\Magento\TestFramework\Utility\Classes::isVirtual($instanceName)) {
+                $instanceName = \Magento\TestFramework\Utility\Classes::resolveVirtualType($instanceName);
+            }
+            $parameters = $parameters['parameters'];
+
+            if (!class_exists($instanceName)) {
+                $this->fail('Non existed class: ' . $instanceName);
+            }
+
+            $reflectionClass = new \ReflectionClass($instanceName);
+
+            $constructor = $reflectionClass->getConstructor();
+            if (!$constructor) {
+                $this->fail('Class ' . $instanceName . ' does not have __constructor');
+            }
+
+            $classParameters = $constructor->getParameters();
+            foreach ($classParameters as $classParameter) {
+                $parameterName = $classParameter->getName();
+                if (array_key_exists($parameterName, $parameters)) {
+                    unset($parameters[$parameterName]);
+                }
+            }
+            $this->assertEmpty($parameters,
+                'Configuration of ' . $instanceName
+                . ' contains data for non-existed parameters: ' . implode(', ', array_keys($parameters))
+                . ' in file: ' . $file
+            );
+        }
+    }
+
+    /**
+     * @return array
+     */
+    public function configFilesDataProvider()
+    {
+        $output = array();
+        $files = \Magento\TestFramework\Utility\Files::init()->getDiConfigs();
+        foreach ($files as $file) {
+            $output[$file] = array($file);
+        }
+        return $output;
+    }
+}
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/NamespaceBlacklist.php b/dev/tests/static/testsuite/Magento/Test/Integrity/NamespaceBlacklist.php
deleted file mode 100644
index 2b0e29cbf76..00000000000
--- a/dev/tests/static/testsuite/Magento/Test/Integrity/NamespaceBlacklist.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-/**
- * Files excluded from the ClassesTest->testClassNamespace() for PSR-X standards
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    tests
- * @package     static
- * @subpackage  Integrity
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-$i18nFixtureDir = '/dev/tests/integration/testsuite/Magento/Test/Tools/I18n/Code/Dictionary/_files/';
-$i18nLibDir = '/dev/tools/Magento/Tools/I18n/Zend/';
-$phpExemplar = '/dev/tests/static/testsuite/Magento/Test/Php/Exemplar/';
-
-return array(
-    '/dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/code/Magento/SomeModule/Model/Test.php',
-    '/dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/code/Magento/SomeModule/Helper/Test.php',
-    $i18nLibDir . 'Exception.php',
-    $i18nLibDir . 'Console/Getopt/Exception.php',
-    $i18nLibDir . 'Console/Getopt.php',
-    $i18nFixtureDir . 'source/app/code/Magento/FirstModule/Model/Model.php',
-    $i18nFixtureDir . 'source/app/code/Magento/SecondModule/Model/Model.php',
-    $i18nFixtureDir . 'source/unused/Model.php',
-    $i18nFixtureDir . 'source/app/code/Magento/FirstModule/Helper/Helper.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/coupling.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/cyclomatic_complexity.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/descendant_count.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/field_count.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/inheritance_depth.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/method_count.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/method_length.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/naming.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/parameter_list.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/prohibited_statement.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/prohibited_statement_goto.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/public_count.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/unused.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/classes/brace_same_line.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/classes/brace_several_lines_below.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/classes/brace_with_code.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/classes/brace_with_spaces.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/classes/normal_class.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/functions/method_without_scope.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/inline_doc/normal.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/inline_doc/format/wrong_align.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/general/indentation_nonexact_phpdoc.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/constant/minuscule_letter.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/constant/normal_constant.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/method/capital_start.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/method/normal_camelcase.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/method/normal_plain.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/method/normal_underscore_start.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/method/underscore_middle.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/method/underscore_start_public.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/property/capital_start.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/property/normal_camelcase.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/property/normal_plain.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/property/normal_underscore.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/property/underscore_absent.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/property/underscore_middle.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/property/underscore_start_public.php',
-);
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/ReferenceBlacklist.php b/dev/tests/static/testsuite/Magento/Test/Integrity/ReferenceBlacklist.php
deleted file mode 100644
index 69ede68cd49..00000000000
--- a/dev/tests/static/testsuite/Magento/Test/Integrity/ReferenceBlacklist.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/**
- * Legacy class usages excluded from the ClassesTest->testClassReferences for PSR-X standards
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    tests
- * @package     static
- * @subpackage  Integrity
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-
-return array(
-    'PEAR_PackageFile',
-    'Simple_Xml',
-    'PersistentCustomerSegmentation',
-    'SolrClient',
-    'SolrQuery',
-    'RegionUpdater', // JavaScript usage
-    'Fixture_Module', // JavaScript usage
-    'TheCompoundNamespace_TheCompoundModule',
-    'Some_Module',
-    'Not_Existed_Class',
-    'CustomSelect',
-
-    // found in /dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/code/Magento/SomeModule/Model/Test.php
-    '\Magento\SomeModule\Model\Element\Proxy',
-
-    'Map_Module',
-    'Module_One',
-    'Module_Two',
-    'Module_Name',
-    'Test',
-    'Local_Module',
-
-    // found in /dev/tests/unit/testsuite/Magento/Webapi/Controller/Soap/HandlerTest.php
-    '\Magento\Webapi\Controller\Soap\Security',
-
-    'Mage',
-    'Pear_Package_Parser_v2',
-    'PEAR_Config',
-    'PEAR_DependencyDB',
-    'PEAR_Frontend',
-    'PEAR_Command',
-    'Zend',
-    'PEAR_PackageFileManager2',
-    'PEAR',
-);
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/namespace.txt b/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/namespace.txt
new file mode 100644
index 00000000000..8991e35d1b3
--- /dev/null
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/namespace.txt
@@ -0,0 +1,46 @@
+dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/code/Magento/SomeModule/Model/Test.php
+dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/code/Magento/SomeModule/Helper/Test.php
+dev/tools/Magento/Tools/I18n/Zend/Exception.php
+dev/tools/Magento/Tools/I18n/Zend/Console/Getopt/Exception.php
+dev/tools/Magento/Tools/I18n/Zend/Console/Getopt.php
+dev/tests/integration/testsuite/Magento/Test/Tools/I18n/Code/Dictionary/_files/source/app/code/Magento/FirstModule/Model/Model.php
+dev/tests/integration/testsuite/Magento/Test/Tools/I18n/Code/Dictionary/_files/source/app/code/Magento/SecondModule/Model/Model.php
+dev/tests/integration/testsuite/Magento/Test/Tools/I18n/Code/Dictionary/_files/source/unused/Model.php
+dev/tests/integration/testsuite/Magento/Test/Tools/I18n/Code/Dictionary/_files/source/app/code/Magento/FirstModule/Helper/Helper.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/coupling.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/cyclomatic_complexity.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/descendant_count.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/field_count.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/inheritance_depth.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/method_count.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/method_length.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/naming.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/parameter_list.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/prohibited_statement.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/prohibited_statement_goto.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/public_count.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/unused.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/classes/brace_same_line.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/classes/brace_several_lines_below.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/classes/brace_with_code.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/classes/brace_with_spaces.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/classes/normal_class.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/functions/method_without_scope.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/inline_doc/normal.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/inline_doc/format/wrong_align.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/general/indentation_nonexact_phpdoc.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/constant/minuscule_letter.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/constant/normal_constant.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/method/capital_start.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/method/normal_camelcase.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/method/normal_plain.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/method/normal_underscore_start.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/method/underscore_middle.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/method/underscore_start_public.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/property/capital_start.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/property/normal_camelcase.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/property/normal_plain.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/property/normal_underscore.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/property/underscore_absent.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/property/underscore_middle.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/property/underscore_start_public.php
\ No newline at end of file
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/reference.txt b/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/reference.txt
new file mode 100644
index 00000000000..2a23e999b3c
--- /dev/null
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/reference.txt
@@ -0,0 +1,28 @@
+PEAR_PackageFile
+Simple_Xml
+PersistentCustomerSegmentation
+SolrClient
+SolrQuery
+RegionUpdater
+Fixture_Module
+TheCompoundNamespace_TheCompoundModule
+Some_Module
+Not_Existed_Class
+CustomSelect
+\Magento\SomeModule\Model\Element\Proxy
+Map_Module
+Module_One
+Module_Two
+Module_Name
+Test
+Local_Module
+\Magento\Webapi\Controller\Soap\Security
+Mage
+Pear_Package_Parser_v2
+PEAR_Config
+PEAR_DependencyDB
+PEAR_Frontend
+PEAR_Command
+Zend
+PEAR_PackageFileManager2
+PEAR
\ No newline at end of file
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php b/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php
index 7c9e9a61c0f..e3021b8f889 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php
@@ -312,7 +312,7 @@ class ObsoleteCodeTest extends \PHPUnit_Framework_TestCase
             '/getOptions\(\)\s*->get(Base|App|Code|Design|Etc|Lib|Locale|Js|Media'
                 .'|Var|Tmp|Cache|Log|Session|Upload|Export)?Dir\(/S',
             $content,
-            'The class \Magento\Core\Model\Config\Options is obsolete. Replacement suggestion: \Magento\Core\Model\Dir'
+            'The class \Magento\Core\Model\Config\Options is obsolete. Replacement suggestion: \Magento\App\Dir'
         );
     }
 
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php
index 6a0f361aaf6..43d2b754e16 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php
@@ -217,7 +217,10 @@ return array(
         'Magento\Backend\Model\Config\Backend\Admin\Usecustom'
     ),
     array('Mage_Adminhtml_Model_System_Config_Backend_Admin_Usecustompath',
-        'Magento\Backend\Model\Config\Backend\Admin\Usecustompath'
+        'Magento\Backend\Model\Config\Backend\Admin\Custompath'
+    ),
+    array('Magento\Backend\Model\Config\Backend\Admin\Usecustompath',
+        'Magento\Backend\Model\Config\Backend\Admin\Custompath'
     ),
     array('Mage_Adminhtml_Model_System_Config_Backend_Admin_Usesecretkey',
         'Magento\Backend\Model\Config\Backend\Admin\Usesecretkey'
@@ -585,7 +588,7 @@ return array(
     array('Mage_Core_Controller_Magento_Router_Admin', 'Magento\Backend\Controller\Router\DefaultRouter'),
     array('Mage_Core_Model_Convert'),
     array('Mage_Core_Model_Config_Fieldset', 'Magento\Core\Model\Fieldset\Config'),
-    array('Mage_Core_Model_Config_Options', 'Magento\Core\Model\Dir'),
+    array('Mage_Core_Model_Config_Options', 'Magento\App\Dir'),
     array('Mage_Core_Model_Config_Module'),
     array('Mage_Core_Model_Config_System'),
     array('Mage_Core_Model_Design_Source_Apply'),
@@ -988,6 +991,7 @@ return array(
     array('Magento\Core\Model\Resource\Helper\Mysql4', 'Magento\Core\Model\Resource\Helper'),
     array('Magento\Catalog\Model\Resource\Helper\Mysql4', 'Magento\Catalog\Model\Resource\Helper'),
     array('Magento\Eav\Model\Resource\Helper\Mysql4', 'Magento\Eav\Model\Resource\Helper'),
+    array('Magento\Eav\Model\Entity\Attribute\Backend\Array', 'Magento\Eav\Model\Entity\Attribute\Backend\ArrayBackend'),
     array('Magento\Sales\Model\Resource\Helper\HelperInterface', 'Magento\Sales\Model\Resource\HelperInterface'),
     array('Magento\Reports\Model\Resource\Helper\HelperInterface', 'Magento\Reports\Model\Resource\HelperInterface'),
     array('Magento\Poll\Block\ActivePoll'),
@@ -1003,9 +1007,40 @@ return array(
     array('Magento\Poll\Model\Resource\Poll\Vote'),
     array('Mage:'),
     array('Magento\Backup', 'Magento\Backup\Factory'),
+    array('Magento\Core\Controller\Front\Router', 'Magento\Core\Controller\Request\HttpProxy'),
+    array('Magento\Core\Controller\Response\Http', 'Magento\Core\Controller\Varien\Action\Forward'),
+    array('Magento\Core\Controller\Varien\Action\Redirect', 'Magento\Core\Controller\Varien\DispatchableInterface'),
+    array('Magento\Core\Controller\Varien\Front'),
+    array('Magento\Core\Controller\FrontInterface', 'Magento\Core\Model\App\Handler'),
+    array('Magento\Core\Model\App\Proxy', 'Magento\Core\Model\Event\Config\SchemaLocator'),
+    array('Magento\Core\Controller\Varien\Router\AbstractRouter', 'Magento\Core\Controller\Varien\AbstractAction'),
+    array('Magento\Core\Controller\Varien\Exception', 'Magento\HTTP\HandlerFactory'),
+    array('Magento\Core\Controller\Request\Http', 'Magento\Core\Controller\Varien\Router\AbstractRouter'),
+    array('Magento\Core\Controller\Varien\Router\DefaultRouter', 'Magento\Core\Model\NoRouteHandlerList'),
+    array('Magento\Core\Controller\Varien\Action\Factory', 'Magento\Core\Model\Dir'),
+    array('Magento\Core\Model\ModuleList', 'Magento\Core\Model\ModuleListInterface'),
+    array('Magento\Core\Model\RouterList', 'Magento\Core\Model\App\State'),
+    array('Magento\Core\Model\Event\Config\Converter', 'Magento\Core\Model\Event\Config\Data'),
+    array('Magento\Core\Model\Event\Config\Reader', 'Magento\Core\Model\Event\Invoker\InvokerDefault'),
+    array('Magento\Core\Model\Event\Config', 'Magento\Core\Model\Event\ConfigInterface'),
+    array('Magento\Core\Model\Event\InvokerInterface', 'Magento\Core\Model\Event\Manager'),
+    array('Magento\HTTP\Handler\Composite', 'Magento\HTTP\HandlerInterface'),
+    array('Magento\Backend\Model\Request\PathInfoProcessor', 'Magento\Backend\Model\Router\NoRouteHandler'),
+    array('Magento\Core\Model\Request\PathInfoProcessor', 'Magento\Core\Model\Request\RewriteService'),
+    array('Magento\Core\Model\Router\NoRouteHandler', 'Magento\Core\Model\Resource\SetupFactory'),
+    array('Magento\Core\Model\Dir\Verification', 'Magento\Core\Model\Module\Declaration\Converter\Dom'),
+    array('Magento\Core\Model\Module\Declaration\Reader\Filesystem', 'Magento\Core\Model\Module\Dir'),
+    array('Magento\Core\Model\Module\Declaration\FileResolver', 'Magento\Core\Model\Module\Declaration\SchemaLocator'),
+    array('Magento\Core\Model\Module\Dir\ReverseResolver', 'Magento\Core\Model\Module\ResourceResolver'),
+    array('Magento\Core\Model\Module\ResourceResolverInterface', 'Magento\Core\Model\Resource\SetupInterface'),
+    array('Magento\Core\Model\Db\UpdaterInterface', 'Magento\Core\Model\Router\NoRouteHandlerInterface'),
+    array('Magento\Core\Model\Router\NoRouteHandlerInterface', 'Magento\Core\Model\UrlInterface'),
     array('Magento\Sales\Model\Resource\Order\Attribute\Backend\Parent'),
     array('Magento\Sales\Model\Resource\Order\Creditmemo\Attribute\Backend\Parent'),
     array('Magento\Sales\Model\Resource\Order\Invoice\Attribute\Backend\Parent'),
     array('Magento\Sales\Model\Resource\Order\Shipment\Attribute\Backend\Parent'),
     array('Magento\Sales\Model\Resource\Quote\Address\Attribute\Backend\Parent'),
+    array('Magento\Core\Model\ThemeInterface', 'Magento\View\Design\ThemeInterface'),
+    array('Magento\Core\Model\View\DesignInterface', 'Magento\View\DesignInterface'),
+    array('Magento\Core\Model\Layout\Element', 'Magento\View\Layout\Element'),
 );
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_config_nodes.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_config_nodes.php
index 43453169858..68b8a2c4de0 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_config_nodes.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_config_nodes.php
@@ -46,7 +46,7 @@ return array(
     '/config/*[self::global|self::adminhtml|self::frontend]/events' => 'This configuration moved to events.xml file',
     '/config/*[self::global|self::adminhtml|self::frontend]/routers' =>
         'Routes configuration moved to routes.xml file,'
-        . 'routers list can be set through Di configuration of \Magento\Core\Model\RouterList model',
+        . 'routers list can be set through Di configuration of \Magento\App\RouterList model',
     '/config/global/importexport' => 'This configuration moved to import.xml and export.xml files',
     '/config/global/catalog/product/type' => 'This configuration moved to product_types.xml file',
     '/config/global/catalog/product/options' => 'This configuration moved to product_options.xml file',
@@ -56,7 +56,7 @@ return array(
     '/config/global/salesrule' => 'This configuration moved to Di configuration of \Magento\SalesRule\Helper\Coupon',
     '/config/global/session' => 'This configuration moved to Di configuration of \Magento\Core\Model\Session\Validator',
     '/config/global/ignore_user_agents' => 'This configuration moved to Di configuration of \Magento\Log\Model\Visitor',
-    '/config/global/request' => 'This configuration moved to Di configuration of \Magento\Core\Controller\Request\Http',
+    '/config/global/request' => 'This configuration moved to Di configuration of \Magento\App\RequestInterface',
     '/config/global/secure_url' =>
         'This configuration moved to Di configuration of \Magento\Core\Model\Url\SecurityInfo',
     '/config/global/dev' =>
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_constants.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_constants.php
index dcc7cdb7df3..0cfb4ae052f 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_constants.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_constants.php
@@ -141,6 +141,10 @@ return array(
     array('XML_PATH_CHECK_EXTENSIONS', 'Magento\Install\Model\Config'),
     array('XML_PATH_CONNECTION_TYPE', 'Magento\Core\Model\Config\Resource'),
     array('XML_PATH_COUNTRY_DEFAULT', 'Magento\Paypal\Model\System\Config\Backend\MerchantCountry'),
+    array('XML_PATH_DEBUG_TEMPLATE_HINTS', 'Magento\Core\Block\Template',
+        'Magento\Core\Model\TemplateEngine\Plugin::XML_PATH_DEBUG_TEMPLATE_HINTS'),
+    array('XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS', 'Magento\Core\Block\Template',
+        'Magento\Core\Model\TemplateEngine\Plugin::XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS'),
     array('XML_PATH_DEFAULT_COUNTRY', 'Magento\Core\Model\Locale'),
     array('XML_PATH_DEFAULT_LOCALE', 'Magento\Core\Model\Locale',
         'Magento_Core_Model_LocaleInterface::XML_PATH_DEFAULT_LOCALE'
@@ -204,7 +208,7 @@ return array(
         'Magento_Core_Model_Session_Validator::XML_PATH_USE_USER_AGENT'
     ),
 
-    array('XML_NODE_DIRECT_FRONT_NAMES', 'Magento\Core\Controller\Request\Http'),
+    array('XML_NODE_DIRECT_FRONT_NAMES', 'Magento\App\Request\Http'),
 
     array('XML_NODE_USET_AGENT_SKIP', 'Magento\Core\Model\Session\AbstractSession'),
     array('XML_PAGE_TYPE_RENDER_INHERITED', 'Magento\Core\Controller\Varien\Action'),
@@ -234,12 +238,17 @@ return array(
     array('XML_PATH_DISABLED_CACHE_TYPES', 'Magento\DesignEditor\Helper\Data'),
     array('XML_PATH_ENCRYPTION_MODEL', 'Magento\Core\Helper\Data'),
     array('CONFIG_KEY_PATH_TO_MAP_FILE', 'Magento\Core\Model\Resource\Setup\Migration'),
-    array('XML_PATH_IGNORE_DEV_MODE', 'Magento\Core\Model\Db\UpdaterInterface'),
-    array('XML_PATH_SKIP_PROCESS_MODULES_UPDATES', 'Magento\Core\Model\Db\UpdaterInterface'),
+    array('XML_PATH_IGNORE_DEV_MODE', 'Magento\App\UpdaterInterface'),
+    array('XML_PATH_SKIP_PROCESS_MODULES_UPDATES', 'Magento\App\UpdaterInterface'),
     array('XML_NODE_SESSION_SAVE', 'Magento\Core\Model\Session\AbstractSession',
         'Magento_Core_Model_Session_AbstractSession::PARAM_SESSION_SAVE_METHOD'
     ),
     array('XML_NODE_SESSION_SAVE_PATH', 'Magento\Core\Model\Session\AbstractSession',
         'Magento_Core_Model_Session_AbstractSession::PARAM_SESSION_SAVE_PATH'
     ),
+    array('XML_PATH_USE_CUSTOM_ADMIN_PATH', 'Magento\Backend\Helper\Data'),
+    array('XML_PATH_CUSTOM_ADMIN_PATH', 'Magento\Backend\Helper\Data'),
+    array('XML_PATH_BACKEND_AREA_FRONTNAME', 'Magento\Backend\Helper\Data'),
+    array('PARAM_BACKEND_FRONT_NAME', 'Magento\Backend\Helper\Data'),
+
 );
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php
index 02c2c19efdd..0cee99fdcec 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php
@@ -47,7 +47,7 @@ return array(
     array('_beforeMove', 'Magento\Catalog\Model\Resource\Category\Tree'),
     array('_bytesToMbytes', 'Magento\Catalog\Model\Product\Option\Type\File'),
     array('_calculatePrice', 'Magento\Sales\Model\Quote\Item\AbstractItem'),
-    array('_canBeStoreCodeInUrl', 'Magento\Core\Controller\Request\Http'),
+    array('_canBeStoreCodeInUrl', 'Magento\App\Request\Http'),
     array('_canShowField', 'Magento\Backend\Block\System\Config\Form'),
     array('_canUseCacheForInit', 'Magento\Core\Model\Config'),
     array('_canUseLocalModules'),
@@ -198,7 +198,7 @@ return array(
     array('addLinkRel', 'Magento\Page\Block\Html\Head'),
     array('addLogInLink', 'Magento\Customer\Block\Account\Link'),
     array('addModule', 'Magento\Core\Controller\Varien\Router\Base'),
-    array('addRouter', 'Magento\Core\Controller\Varien\Front'),
+    array('addRouter', 'Magento\App\FrontController'),
     array('addOptionRenderer', 'Magento\Catalog\Block\Product\View\Options'),
     array('addPageHandles', 'Magento\Core\Model\Layout\Update', 'Magento\Core\Model\Layout\Merge'),
     array('addPagerLimit', 'Magento\Catalog\Block\Product\ProductList\Toolbar'),
@@ -266,7 +266,7 @@ return array(
     ),
     array('cleanVarFolder', '', 'Magento_Io_File::rmdirRecursive()'),
     array('cleanVarSubFolders', '',
-        'glob() on \Magento\Core\Model\Dir::getBaseDir(\Magento\Core\Model\App\Dir::VAR_DIR)'),
+        'glob() on \Magento\App\Dir::getBaseDir(\Magento\Core\Model\App\Dir::VAR_DIR)'),
     array('cloneIndexTable', 'Magento\Index\Model\Resource\AbstractResource'),
     array('collectRoutes', 'Magento\Backend\Controller\Router\DefaultRouter'),
     array('collectRoutes', 'Magento\Core\Controller\Varien\Router\Base'),
@@ -352,9 +352,12 @@ return array(
     array('getDebug', 'Magento\Paypal\Model\Api\AbstractApi'),
     array('getDefaultBasePath', 'Magento\Core\Model\Store'),
     array('getDeleteUrl', 'Magento\Adminhtml\Block\Catalog\Product\Edit'),
+    array('getDirectOutput', 'Magento\Core\Block\Template'),
     array('getDirectOutput', 'Magento\Core\Model\Layout'),
+    array('getDirectOutput', 'Magento\View\LayoutInterface'),
     array('getDistroServerVars', 'Magento\Core\Model\Config', 'getDistroBaseUrl'),
     array('getElementClass', 'Magento\Core\Model\Layout\Update'),
+    array('getEngineFactory', 'Magento\Core\Block\Template\Context', 'getEnginePool'),
     array('getEntityIdsToIncrementIds', 'Magento\Rss\Model\Resource\Order'),
     array('getEntityTypeIdsToTypes', 'Magento\Rss\Model\Resource\Order'),
     array('getEventConfig', 'Magento\Core\Model\Config'),
@@ -427,7 +430,7 @@ return array(
     array('getOrderId', 'Magento\Checkout\Block\Onepage\Success'),
     array('getOrderId', 'Magento\Shipping\Block\Tracking\Popup'),
     array('getOriginalHeigh', '', 'getOriginalHeight'),
-    array('getOriginalRequest', 'Magento\Core\Controller\Request\Http'),
+    array('getOriginalRequest', 'Magento\App\Request\Http'),
     array('getPackage', 'Magento\Widget\Model\Widget\Instance'),
     array('getPackageTheme', 'Magento\Widget\Model\Widget\Instance', 'getThemeId'),
     array('getPageHandleLabel', 'Magento\Core\Model\Layout\Update', 'Magento\Core\Model\Layout\Merge'),
@@ -484,10 +487,10 @@ return array(
     array('getResTreeJson', 'Magento\Adminhtml\Block\Api\Tab\Rolesedit', 'getTree'),
     array(
         'getRouterByRoute',
-        'Magento\Core\Controller\Varien\Front',
+        'Magento\App\FrontController',
         'Magento_Core_Model_RouterList::getRouterByFrontName'
     ),
-    array('getRouterByFrontName', 'Magento\Core\Controller\Varien\Front',
+    array('getRouterByFrontName', 'Magento\App\FrontController',
         'Magento_Core_Model_RouterList::getRouterByFrontName'
     ),
     array('getRouters', 'Magento\Core\Model\Config'),
@@ -499,6 +502,7 @@ return array(
     array('getSecure', 'Magento\Core\Model\Url', 'isSecure'),
     array('getSelectionFinalPrice', 'Magento\Bundle\Model\Product\Price'),
     array('getShipId', 'Magento\Shipping\Block\Tracking\Popup'),
+    array('getShowTemplateHints', 'Magento\Core\Block\Template'),
     array('getSortedChildBlocks', '', 'getChildNames() + $this->getLayout()->getBlock($name)'),
     array('getSortedChildren', '', 'getChildNames'),
     array('getSortedElements', 'Magento\Data\Form\Element\Fieldset', 'getElements'),
@@ -507,7 +511,7 @@ return array(
     array('getStore', 'Magento\Captcha\Helper\Data'),
     array('getStore', 'Magento\Adminhtml\Block\Promo\Widget\Chooser\Sku'),
     array('getStoreButtonsHtml', 'Magento\Backend\Block\System\Config\Tabs'),
-    array('getStoreCodeFromPath', 'Magento\Core\Controller\Request\Http'),
+    array('getStoreCodeFromPath', 'Magento\App\Request\Http'),
     array('getStoreCurrency', 'Magento\Sales\Model\Order'),
     array('getStoreSelectOptions', 'Magento\Backend\Block\System\Config\Tabs'),
     array('getStores', 'Magento\Eav\Block\Adminhtml\Attribute\Edit\Options\AbstractOptions'),
@@ -568,7 +572,7 @@ return array(
     array('imageAction', 'Magento\Catalog\Controller\Product'),
     array('implodeStreetAddress', 'Magento\Customer\Model\Address\AbstractAddress'),
     array('importFromTextArray'),
-    array('init', 'Magento\Core\Controller\Varien\Front'),
+    array('init', 'Magento\App\FrontController'),
     array('init', 'Magento\Core\Model\App'),
     array('init', 'Magento\Core\Model\Config'),
     array('init', 'Magento\Webapi\Controller\Front'),
@@ -583,6 +587,8 @@ return array(
     array('isAllowedGuestCheckout', 'Magento\Sales\Model\Quote'),
     array('isAutomaticCleaningAvailable', 'Magento\Cache\Backend\Eaccelerator'),
     array('isCheckoutAvailable', 'Magento\Checkout\Model\Type\Multishipping'),
+    array('isDirectOutput', 'Magento\Core\Model\Layout'),
+    array('isDirectOutput', 'Magento\View\LayoutInterface'),
     array('isFulAmountCovered'),
     array('isInstalled', 'Magento\Core\Model\App'),
     array('isLeyeredNavigationAllowed'),
@@ -687,6 +693,7 @@ return array(
     array('setBlockAlias'),
     array('setConfig', 'Magento\Captcha\Helper\Data'),
     array('setCustomerId', 'Magento\Customer\Model\Resource\Address'),
+    array('setDirectOutput', 'Magento\Core\Model\Layout'),
     array('setInstance', 'Magento\TestFramework\Bootstrap', 'Magento_TestFramework_Helper_Bootstrap::setInstance'),
     array('setIsAjaxRequest', 'Magento\Core\Model\Translate\Inline'),
     array('setNeedUsePriceExcludeTax', '', 'Magento_Tax_Model_Config::setPriceIncludesTax()'),
@@ -835,7 +842,6 @@ return array(
     array('_helper', 'Magento\Catalog\Model\Product\Type\AbstractType'),
     array('getHelper', 'Magento\Catalog\Model\Resource\Product\Type\Configurable\Attribute\Collection'),
     array('getHelper', 'Magento\Cms\Model\Wysiwyg\Images\Storage'),
-    array('getHelper', 'Magento\Core\Model\AppProxy'),
     array('getHelper', 'Magento\Core\Model\App'),
     array('getCatalogHelper', 'Magento\Adminhtml\Block\Catalog\Category\Tabs'),
     array('getStabilityOptions', 'Magento\Connect\Model\Extension'),
@@ -856,12 +862,21 @@ return array(
     array('_getProductType', 'Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Config\Matrix'),
     array('_getProductType', 'Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Config'),
     array('_getSession', 'Magento\Adminhtml\Model\Sales\Order'),
-    array('setIsSerializable', 'Magento\Core\Model\App\State'),
-    array('getIsSerializable', 'Magento\Core\Model\App\State'),
+    array('setIsSerializable', 'Magento\App\State'),
+    array('getIsSerializable', 'Magento\App\State'),
     array('_getInventoryItemResource', 'Magento\Reports\Model\Resource\Product\Lowstock\Collection'),
     array('getMigrationInstance', 'Magento\Customer\Model\Resource\Setup', '$this->_migrationFactory->create()'),
     array('turnOnReadCommittedMode', 'Magento\Backup\Model\Resource\Db'),
     array('turnOnSerializableMode', 'Magento\Backup\Model\Resource\Db', 'prepareTransactionIsolationLevel'),
     array('_getResourceModel', '\Magento\Webapi\Model\Source\Acl\Role', '$this->_resource'),
     array('_getSession', '\Magento\Adminhtml\Model\Giftmessage\Save', '$this->_session'),
+    array('_initRequest', '\Magento\Core\Model\App'),
+    array('run', '\Magento\Core\Model\App'),
+    array('_initFrontController', '\Magento\Core\Model\App'),
+    array('_getFrontControllerByCurrentArea', '\Magento\Core\Model\App'),
+    array('run', '\Magento\Core\Model\AppInterface'),
+    array('setModuleDir', 'Magento\Core\Model\Config\Modules\Reader'),
+    array('setModuleDir', 'Magento\Core\Model\Config'),
+    array('getAreaConfig', 'Magento\Core\Model\Config'),
+    array('getViewConfig', '\Magento\Core\Model\View\Config', 'get'),
 );
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_properties.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_properties.php
index e2a46c7a088..3696180a5ff 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_properties.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_properties.php
@@ -51,6 +51,7 @@ return array(
     array('_customEtcDir', 'Magento\Core\Model\Config'),
     array('_defaultTemplates', 'Magento\Core\Model\Email\Template'),
     array('_designProductSettingsApplied'),
+    array('_directOutput', 'Magento\Core\Model\Layout'),
     array('_dirs', 'Magento\Core\Model\Resource'),
     array('_distroServerVars'),
     array('_entityIdsToIncrementIds'),
@@ -69,8 +70,8 @@ return array(
     array('_modulesReader', 'Magento\Core\Model\ObjectManager\ConfigLoader'),
     array('_moduleReader', 'Magento\Backend\Model\Menu\Config'),
     array('_option', 'Magento\Captcha\Helper\Data', '_dirs'),
-    array('_options', 'Magento\Core\Model\Config', 'Magento\Core\Model\Dir'),
-    array('_optionsMapping', null, '\Magento\Core\Model\Dir::getBaseDir($nodeKey)'),
+    array('_options', 'Magento\Core\Model\Config', 'Magento\App\Dir'),
+    array('_optionsMapping', null, '\Magento\App\Dir::getBaseDir($nodeKey)'),
     array('_order', 'Magento\Checkout\Block\Onepage\Success'),
     array('_order_id'),
     array('_parent', 'Magento\Core\Block\AbstractBlock'),
@@ -86,12 +87,16 @@ return array(
     array('_skipFieldsByModel'),
     array('_ship_id'),
     array('_shipTable', 'Magento\Shipping\Model\Resource\Carrier\Tablerate\Collection'),
+    array('_showTemplateHints', 'Magento\Core\Block\Template',
+        'Magento\Core\Model\TemplateEngine\Plugin\DebugHints'),
+    array('_showTemplateHintsBlocks', 'Magento\Core\Block\Template',
+        'Magento\Core\Model\TemplateEngine\Plugin\DebugHints'),
     array('_sortedChildren'),
     array('_sortInstructions'),
     array('_storeFilter', 'Magento\Catalog\Model\Product\Type\AbstractType'),
     array('_substServerVars'),
     array('_track_id'),
-    array('_varSubFolders', null, 'Magento\Core\Model\Dir'),
+    array('_varSubFolders', null, 'Magento\App\Dir'),
     array('_viewDir', 'Magento\Core\Block\Template', '_dirs'),
     array('decoratedIsFirst', null, 'getDecoratedIsFirst'),
     array('decoratedIsEven', null, 'getDecoratedIsEven'),
@@ -101,4 +106,13 @@ return array(
     array('_useAnalyticFunction'),
     array('_defaultIndexer', 'Magento\CatalogInventory\Model\Resource\Indexer\Stock'),
     array('_engine', 'Magento\CatalogSearch\Model\Resource\Fulltext'),
+    array('_moduleNamespaces', 'Magento\Core\Model\Config'),
+    array('_allowedAreas', 'Magento\Core\Model\Config'),
+    array('_app', 'Magento\Core\Block\AbstractBlock'),
+    array('_app', 'Magento\Core\Block\Template'),
+    array('_config', 'Magento\Backend\Helper\Data'),
+    array('_defaultAreaFrontName', 'Magento\Backend\Helper\Data'),
+    array('_areaFrontName', 'Magento\Backend\Helper\Data'),
+    array('_backendFrontName', 'Magento\Backend\Helper\Data'),
+    array('_app', 'Magento\Backend\Block\Widget\Grid\Column\Renderer\Currency'),
 );
diff --git a/dev/tests/static/testsuite/Magento/Test/Php/_files/blacklist/common.txt b/dev/tests/static/testsuite/Magento/Test/Php/_files/blacklist/common.txt
index fa947c421f3..0c86795a6b3 100644
--- a/dev/tests/static/testsuite/Magento/Test/Php/_files/blacklist/common.txt
+++ b/dev/tests/static/testsuite/Magento/Test/Php/_files/blacklist/common.txt
@@ -105,9 +105,6 @@ lib/Magento/HTTP/Adapter/Curl.php
 lib/Magento/HTTP/Client.php
 lib/Magento/HTTP/Client/Curl.php
 lib/Magento/HTTP/Client/Socket.php
-lib/Magento/HTTP/Handler/Composite.php
-lib/Magento/HTTP/HandlerFactory.php
-lib/Magento/HTTP/HandlerInterface.php
 lib/Magento/HTTP/IClient.php
 lib/Magento/Image
 lib/Magento/Io
diff --git a/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/common.txt b/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/common.txt
index aeb96a0f570..f128360d4c0 100644
--- a/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/common.txt
+++ b/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/common.txt
@@ -82,7 +82,6 @@ lib/Magento/HTTP/Client
 lib/Magento/Acl
 lib/PEAR
 lib/phpseclib
-lib/Twig
 lib/Magento/Convert
 Magento/Cron/Model
 Magento/SalesRule/Model/Resource/Report/Rule
diff --git a/dev/tests/static/testsuite/Magento/Test/Php/_files/whitelist/common.txt b/dev/tests/static/testsuite/Magento/Test/Php/_files/whitelist/common.txt
index b3699045d21..6cbba2ed7d3 100644
--- a/dev/tests/static/testsuite/Magento/Test/Php/_files/whitelist/common.txt
+++ b/dev/tests/static/testsuite/Magento/Test/Php/_files/whitelist/common.txt
@@ -41,11 +41,6 @@ app/code/Magento/Checkout/Block/Cart/Link.php
 app/code/Magento/Checkout/Block/Link.php
 app/code/Magento/Cms/Controller/Router.php
 app/code/Magento/Cms/Model/Template/FilterProvider.php
-app/code/Magento/Core/Controller/Varien/AbstractAction.php
-app/code/Magento/Core/Controller/Varien/Action/Factory.php
-app/code/Magento/Core/Controller/Varien/Action/Forward.php
-app/code/Magento/Core/Controller/Varien/DispatchableInterface.php
-app/code/Magento/Core/Controller/Varien/Router/AbstractRouter.php
 app/code/Magento/Core/data
 app/code/Magento/Core/Helper/Css.php
 app/code/Magento/Core/Model/Config
@@ -55,8 +50,6 @@ app/code/Magento/Core/Model/Design.php
 app/code/Magento/Core/Model/Design/FileResolution
 app/code/Magento/Core/Model/Design/Fallback
 app/code/Magento/Core/Model/Design/Source/Design.php
-app/code/Magento/Core/Model/Dir
-app/code/Magento/Core/Model/Dir.php
 app/code/Magento/Core/Model/Email/Template/Config
 app/code/Magento/Core/Model/Email/Template/Config.php
 app/code/Magento/Core/Model/EntryPoint
@@ -66,8 +59,6 @@ app/code/Magento/Core/Model/Layout/Update.php
 app/code/Magento/Core/Model/Layout/Argument
 app/code/Magento/Core/Model/Locale/Validator.php
 app/code/Magento/Core/Model/LocaleInterface.php
-app/code/Magento/Core/Model/Module/Dir
-app/code/Magento/Core/Model/Module/Dir.php
 app/code/Magento/Core/Model/ObjectManager
 app/code/Magento/Core/Model/Page
 app/code/Magento/Core/Model/Page.php
@@ -79,7 +70,6 @@ app/code/Magento/Core/Model/AbstractShell.php
 app/code/Magento/Core/Model/TemplateEngine
 app/code/Magento/Core/Model/Theme
 app/code/Magento/Core/Model/Theme.php
-app/code/Magento/Core/Model/ThemeInterface.php
 app/code/Magento/Core/Model/Url/SecurityInfo.php
 app/code/Magento/Core/Model/Url/SecurityInfoInterface.php
 app/code/Magento/Core/Helper/AbstractHelper.php
@@ -164,3 +154,4 @@ lib/Magento/Cache/Core.php
 lib/Magento/Convert
 lib/Magento/Date.php
 lib/Magento/Object.php
+lib/Magento/App
diff --git a/dev/tests/static/testsuite/Magento/Test/Twig/TwigExtensionTest.php b/dev/tests/static/testsuite/Magento/Test/Twig/TwigExtensionTest.php
deleted file mode 100644
index 2bc51a7cf87..00000000000
--- a/dev/tests/static/testsuite/Magento/Test/Twig/TwigExtensionTest.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * Run a twig syntax checker
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Test\Twig;
-
-class TwigExtensionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testTwigTemplatesValid()
-    {
-        $invoker = new \Magento\TestFramework\Utility\AggregateInvoker($this);
-        $invoker(
-            function ($file, $runTest = true) {
-                if (!$runTest) {
-                    return;
-                }
-                exec('php ' . __DIR__ . "/_files/twig-lint.phar lint $file", $output, $returnVar);
-                $this->assertEquals(
-                    0, $returnVar,
-                    "File $file could not be validated by twig-lint.  The output is : \n" . implode("\n", $output)
-                );
-            },
-            $this->listAllTwigFiles()
-        );
-    }
-
-    public function listAllTwigFiles()
-    {
-        $testData = \Magento\TestFramework\Utility\Files::composeDataSets(
-            \Magento\TestFramework\Utility\Files::init()->getTwigFiles());
-        if (empty($testData)) {
-            $testData[] = array('Dummy data for when no twig files exist.', false);
-        }
-        return $testData;
-    }
-}
diff --git a/dev/tests/unit/framework/Magento/Test/Block/Adminhtml.php b/dev/tests/unit/framework/Magento/Test/Block/Adminhtml.php
index fcb6d2b0692..b5d3e3e4ccf 100644
--- a/dev/tests/unit/framework/Magento/Test/Block/Adminhtml.php
+++ b/dev/tests/unit/framework/Magento/Test/Block/Adminhtml.php
@@ -93,16 +93,16 @@ class Adminhtml extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         // These mocks are accessed via context
-        $this->_designMock         = $this->_makeMock('Magento\Core\Model\View\DesignInterface');
+        $this->_designMock         = $this->_makeMock('Magento\View\DesignInterface');
         $this->_sessionMock         = $this->_makeMock('Magento\Core\Model\Session');
         $this->_translatorMock      = $this->_makeMock('Magento\Core\Model\Translate');
         $this->_layoutMock          = $this->_makeMock('Magento\Core\Model\Layout');
-        $this->_requestMock         = $this->_makeMock('Magento\Core\Controller\Request\Http');
+        $this->_requestMock         = $this->_makeMock('Magento\App\RequestInterface');
         $this->_messagesMock        = $this->_makeMock('Magento\Core\Block\Messages');
-        $this->_urlMock             = $this->_makeMock('Magento\Core\Model\UrlInterface');
-        $this->_eventManagerMock    = $this->_makeMock('Magento\Core\Model\Event\Manager');
-        $this->_controllerMock      = $this->_makeMock('Magento\Core\Controller\Varien\Front');
-        $this->_dirMock             = $this->_makeMock('Magento\Core\Model\Dir');
+        $this->_urlMock             = $this->_makeMock('Magento\UrlInterface');
+        $this->_eventManagerMock    = $this->_makeMock('Magento\Event\ManagerInterface');
+        $this->_controllerMock      = $this->_makeMock('Magento\App\FrontController');
+        $this->_dirMock             = $this->_makeMock('Magento\App\Dir');
         $this->_loggerMock          = $this->_makeMock('Magento\Core\Model\Logger');
         $this->_filesystemMock      = $this->_makeMock('Magento\Filesystem');
         $this->_cacheMock           = $this->_makeMock('Magento\Core\Model\CacheInterface');
@@ -110,9 +110,9 @@ class Adminhtml extends \PHPUnit_Framework_TestCase
         $this->_storeManagerMock    = $this->_makeMock('Magento\Core\Model\StoreManager');
         $this->_helperFactoryMock   = $this->_makeMock('Magento\Core\Model\Factory\Helper');
         $viewUrlMock                = $this->_makeMock('Magento\Core\Model\View\Url');
-        $viewConfigMock             = $this->_makeMock('Magento\Core\Model\View\Config');
+        $viewConfigMock             = $this->_makeMock('Magento\View\ConfigInterface');
         $viewFileSystemMock         = $this->_makeMock('Magento\Core\Model\View\FileSystem');
-        $templateFactoryMock        = $this->_makeMock('Magento\Core\Model\TemplateEngine\Factory');
+        $templatePoolMock           = $this->_makeMock('Magento\Core\Model\TemplateEngine\Pool');
         $authorizationMock          = $this->_makeMock('Magento\AuthorizationInterface');
         $cacheStateMock             = $this->_makeMock('Magento\Core\Model\Cache\StateInterface');
         $appMock                    = $this->_makeMock('Magento\Core\Model\App');
@@ -144,7 +144,7 @@ class Adminhtml extends \PHPUnit_Framework_TestCase
             $this->_loggerMock,
             $this->_filesystemMock,
             $viewFileSystemMock,
-            $templateFactoryMock,
+            $templatePoolMock,
             $authorizationMock,
             $appMock,
             $backendSessionMock,
diff --git a/dev/tests/unit/framework/tests/unit/testsuite/Magento/TestFramework/Helper/ObjectManagerTest.php b/dev/tests/unit/framework/tests/unit/testsuite/Magento/TestFramework/Helper/ObjectManagerTest.php
index d20cfa73882..f1a4503a09d 100644
--- a/dev/tests/unit/framework/tests/unit/testsuite/Magento/TestFramework/Helper/ObjectManagerTest.php
+++ b/dev/tests/unit/framework/tests/unit/testsuite/Magento/TestFramework/Helper/ObjectManagerTest.php
@@ -35,15 +35,15 @@ class ObjectManagerTest extends \PHPUnit_Framework_TestCase
      * @var array
      */
     protected $_blockDependencies = array(
-        'request'         => 'Magento\Core\Controller\Request\Http',
-        'layout'          => 'Magento\Core\Model\Layout',
-        'eventManager'    => 'Magento\Core\Model\Event\Manager',
+        'request'         => 'Magento\App\RequestInterface',
+        'layout'          => 'Magento\View\LayoutInterface',
+        'eventManager'    => 'Magento\Event\ManagerInterface',
         'translator'      => 'Magento\Core\Model\Translate',
         'cache'           => 'Magento\Core\Model\CacheInterface',
-        'design'          => 'Magento\Core\Model\View\DesignInterface',
+        'design'          => 'Magento\View\DesignInterface',
         'session'         => 'Magento\Core\Model\Session',
         'storeConfig'     => 'Magento\Core\Model\Store\Config',
-        'frontController' => 'Magento\Core\Controller\Varien\Front'
+        'frontController' => 'Magento\App\FrontController'
     );
 
     /**
@@ -52,7 +52,7 @@ class ObjectManagerTest extends \PHPUnit_Framework_TestCase
      * @var array
      */
     protected $_modelDependencies = array(
-        'eventDispatcher'    => 'Magento\Core\Model\Event\Manager',
+        'eventDispatcher'    => 'Magento\Event\ManagerInterface',
         'cacheManager'       => 'Magento\Core\Model\CacheInterface',
         'resource'           => 'Magento\Core\Model\Resource\AbstractResource',
         'resourceCollection' => 'Magento\Data\Collection\Db'
@@ -73,7 +73,7 @@ class ObjectManagerTest extends \PHPUnit_Framework_TestCase
 
         $area = 'frontend';
         /** @var $layoutMock \Magento\Core\Model\Layout */
-        $layoutMock = $this->getMock('Magento\Core\Model\Layout', array('getArea'), array(), '', false);
+        $layoutMock = $this->getMockBuilder('Magento\View\LayoutInterface')->getMockForAbstractClass();
         $layoutMock->expects($this->once())
             ->method('getArea')
             ->will($this->returnValue($area));
diff --git a/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/BaseurlTest.php b/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/BaseurlTest.php
index 9dc6fb99479..98b1c5c3c00 100644
--- a/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/BaseurlTest.php
+++ b/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/BaseurlTest.php
@@ -64,7 +64,7 @@ class BaseurlTest extends \PHPUnit_Framework_TestCase
     {
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $this->_configMock = $this->getMock('Magento\Core\Model\Config', array(), array(), '', false);
-        $this->_urlBuilderMock = $this->getMock('Magento\Core\Model\UrlInterface');
+        $this->_urlBuilderMock = $this->getMock('Magento\UrlInterface');
 
         $this->_storeManagerMock = $this->getMock('Magento\Core\Model\StoreManagerInterface');
         $configFactoryMock = $this->getMock('Magento\Core\Model\Config\ValueFactory', array('create'),
diff --git a/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/CacheOutdatedTest.php b/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/CacheOutdatedTest.php
index aed0cc53796..7c5408da6d7 100644
--- a/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/CacheOutdatedTest.php
+++ b/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/CacheOutdatedTest.php
@@ -52,7 +52,7 @@ class CacheOutdatedTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_authorizationMock = $this->getMock('Magento\AuthorizationInterface');
-        $this->_urlInterfaceMock = $this->getMock('Magento\Core\Model\UrlInterface');
+        $this->_urlInterfaceMock = $this->getMock('Magento\UrlInterface');
         $this->_cacheTypeListMock = $this->getMock('Magento\Core\Model\Cache\TypeListInterface');
 
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
diff --git a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CacheTest.php b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CacheTest.php
index 24086c3899a..1c90bbe975e 100644
--- a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CacheTest.php
+++ b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CacheTest.php
@@ -31,12 +31,12 @@ class CacheTest extends \PHPUnit_Framework_TestCase
         // Wire object with mocks
         $context = $this->getMock('Magento\Backend\Controller\Context', array(), array(), '', false);
 
-        $request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $request = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
         $context->expects($this->any())
             ->method('getRequest')
             ->will($this->returnValue($request));
 
-        $response = $this->getMock('Magento\Core\Controller\Response\Http', array(), array(), '', false);
+        $response = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
         $context->expects($this->any())
             ->method('getResponse')
             ->will($this->returnValue($response));
@@ -46,12 +46,12 @@ class CacheTest extends \PHPUnit_Framework_TestCase
             ->method('getObjectManager')
             ->will($this->returnValue($objectManager));
 
-        $frontController = $this->getMock('Magento\Core\Controller\Varien\Front', array(), array(), '', false);
+        $frontController = $this->getMock('Magento\App\FrontController', array(), array(), '', false);
         $context->expects($this->any())
             ->method('getFrontController')
             ->will($this->returnValue($frontController));
 
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $eventManager->expects($this->once())
             ->method('dispatch')
             ->with('clean_media_cache_after');
@@ -97,10 +97,16 @@ class CacheTest extends \PHPUnit_Framework_TestCase
             ->method('getUrl')
             ->with('*/*')
             ->will($this->returnValue('redirect_url'));
+
         $response->expects($this->once())
             ->method('setRedirect')
             ->with('redirect_url');
 
+        $response->expects($this->once())
+            ->method('getHeader')
+            ->with('X-Frame-Options')
+            ->will($this->returnValue(false));
+
         // Run
         $controller->cleanMediaAction();
     }
diff --git a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CustomerTest.php b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CustomerTest.php
index 77df031b09f..e8cf25106fe 100644
--- a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CustomerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CustomerTest.php
@@ -35,14 +35,14 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
     /**
      * Request mock instance
      *
-     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Controller\Request\Http
+     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
      * Response mock instance
      *
-     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Controller\Response\Http
+     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\App\ResponseInterface
      */
     protected $_response;
 
@@ -79,15 +79,15 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
      */
     protected function setUp()
     {
-        $this->_request = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $this->_request = $this->getMockBuilder('Magento\App\Request\Http')
             ->disableOriginalConstructor()
-            ->setMethods(array('getParam'))
             ->getMock();
 
-        $this->_response = $this->getMockBuilder('Magento\Core\Controller\Response\Http')
+        $this->_response = $this->getMockBuilder('Magento\App\Response\Http')
             ->disableOriginalConstructor()
             ->setMethods(array('setRedirect', 'getHeader'))
             ->getMock();
+
         $this->_response->expects($this->any())
             ->method('getHeader')
             ->with($this->equalTo('X-Frame-Options'))
@@ -97,7 +97,7 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->setMethods(array('get', 'create'))
             ->getMock();
-        $frontControllerMock = $this->getMockBuilder('Magento\Core\Controller\Varien\Front')
+        $frontControllerMock = $this->getMockBuilder('Magento\App\FrontController')
             ->disableOriginalConstructor()
             ->getMock();
 
diff --git a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/Sales/Order/CreditmemoTest.php b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/Sales/Order/CreditmemoTest.php
index 9504739bc2e..31471bf54a8 100644
--- a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/Sales/Order/CreditmemoTest.php
+++ b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/Sales/Order/CreditmemoTest.php
@@ -31,12 +31,12 @@ class CreditmemoTest extends \PHPUnit_Framework_TestCase
     protected $_controller;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\ResponseInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_responseMock;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_requestMock;
 
@@ -56,11 +56,9 @@ class CreditmemoTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $this->_responseMock = $this->getMock('Magento\Core\Controller\Response\Http',
-            array('setRedirect'), array(), '', false
-        );
+        $this->_responseMock = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
         $this->_responseMock->headersSentThrowsException = false;
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $this->_sessionMock = $this->getMock('Magento\Backend\Model\Session',
             array('addError', 'setFormData'), array(), '', false);
         $this->_objectManager = $this->getMock('Magento\ObjectManager', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/System/AccountTest.php b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/System/AccountTest.php
index f55b104c8ac..db832d341ef 100644
--- a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/System/AccountTest.php
+++ b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/System/AccountTest.php
@@ -32,10 +32,10 @@ class AccountTest extends \PHPUnit_Framework_TestCase
     /** @var \Magento\Adminhtml\Controller\System\Account */
     protected $_controller;
 
-    /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Controller\Request\Http */
+    /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\App\RequestInterface */
     protected $_requestMock;
 
-    /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Controller\Response\Http */
+    /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\App\ResponseInterface */
     protected $_responseMock;
 
     /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\ObjectManager\ObjectManager */
@@ -64,11 +64,11 @@ class AccountTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_requestMock = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $this->_requestMock = $this->getMockBuilder('Magento\App\Request\Http')
             ->disableOriginalConstructor()
             ->setMethods(array('getOriginalPathInfo'))
             ->getMock();
-        $this->_responseMock = $this->getMockBuilder('Magento\Core\Controller\Response\Http')
+        $this->_responseMock = $this->getMockBuilder('Magento\App\Response\Http')
             ->disableOriginalConstructor()
             ->setMethods(array())
             ->getMock();
@@ -76,7 +76,7 @@ class AccountTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->setMethods(array('get', 'create'))
             ->getMock();
-        $frontControllerMock = $this->getMockBuilder('Magento\Core\Controller\Varien\Front')
+        $frontControllerMock = $this->getMockBuilder('Magento\App\FrontController')
             ->disableOriginalConstructor()
             ->getMock();
 
diff --git a/dev/tests/unit/testsuite/Magento/Adminhtml/DashboardTest.php b/dev/tests/unit/testsuite/Magento/Adminhtml/DashboardTest.php
index 6b33b26d8a0..69288d11317 100644
--- a/dev/tests/unit/testsuite/Magento/Adminhtml/DashboardTest.php
+++ b/dev/tests/unit/testsuite/Magento/Adminhtml/DashboardTest.php
@@ -26,35 +26,38 @@ namespace Magento\Adminhtml;
 class DashboardTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
+    /**
+     * @var PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_response;
+
     protected function setUp()
     {
-        $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $helperMock = $this->getMockBuilder('Magento\Backend\Helper\DataProxy')
-            ->disableOriginalConstructor()
-            ->getMock();
-        /** @var $request \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject */
-        $this->_request = $objectManagerHelper->getObject('Magento\Core\Controller\Request\Http',
-            array('helper' => $helperMock));
+        $this->_request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $this->_response = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
     }
 
     protected function tearDown()
     {
         $this->_request = null;
+        $this->_response = null;
     }
 
     public function testTunnelAction()
     {
         $fixture = uniqid();
-        $this->_request->setParam('ga', urlencode(base64_encode(json_encode(array(1)))));
-        $this->_request->setParam('h', $fixture);
-
-        $tunnelResponse = new \Zend_Http_Response(200, array('Content-Type' => 'test_header'), 'success_msg');
-        $httpClient = $this->getMock('Magento\HTTP\ZendClient', array('request'));
-        $httpClient->expects($this->once())->method('request')->will($this->returnValue($tunnelResponse));
+        $this->_request->expects($this->at(0))
+            ->method('getParam')->with('ga')
+            ->will($this->returnValue(urlencode(base64_encode(json_encode(array(1))))));
+        $this->_request->expects($this->at(1))->method('getParam')->with('h')->will($this->returnValue($fixture));
+        $tunnelResponse = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
+        $httpClient = $this->getMock('Magento\HTTP\ZendClient',
+            array('setUri', 'setParameterGet', 'setConfig', 'request', 'getHeaders')
+        );
         /** @var $helper \Magento\Adminhtml\Helper\Dashboard\Data|PHPUnit_Framework_MockObject_MockObject */
         $helper = $this->getMock('Magento\Adminhtml\Helper\Dashboard\Data',
             array('getChartDataHash'), array(), '', false, false
@@ -70,15 +73,34 @@ class DashboardTest extends \PHPUnit_Framework_TestCase
             ->method('create')
             ->with('Magento\HTTP\ZendClient')
             ->will($this->returnValue($httpClient));
-
-        $controller = $this->_factory($this->_request, null, $objectManager);
+        $httpClient->expects($this->once())->method('setUri')->will($this->returnValue($httpClient));
+        $httpClient->expects($this->once())->method('setParameterGet')->will(($this->returnValue($httpClient)));
+        $httpClient->expects($this->once())->method('setConfig')->will(($this->returnValue($httpClient)));
+        $httpClient->expects($this->once())->method('request')->with('GET')->will($this->returnValue($tunnelResponse));
+        $tunnelResponse->expects(
+            $this->any())->method('getHeaders')->will($this->returnValue(array('Content-type' => 'test_header'))
+            );
+        $this->_response->expects($this->any())->method('setHeader')->will($this->returnValue($this->_response));
+        $tunnelResponse->expects($this->any())->method('getBody')->will($this->returnValue('success_msg'));
+        $this->_response->expects(
+            $this->once())->method('setBody')->with('success_msg')->will($this->returnValue($this->_response));
+        $this->_response->expects($this->any())->method('getBody')->will($this->returnValue('success_msg'));
+        $controller = $this->_factory($this->_request, $this->_response, $objectManager);
         $controller->tunnelAction();
         $this->assertEquals('success_msg', $controller->getResponse()->getBody());
     }
 
     public function testTunnelAction400()
     {
-        $controller = $this->_factory($this->_request);
+        $this->_response->expects($this->once())->method('setBody')
+            ->with('Service unavailable: invalid request')
+            ->will($this->returnValue($this->_response));
+        $this->_response->expects($this->any())->method('setHeader')->will($this->returnValue($this->_response));
+        $this->_response->expects(
+            $this->once())->method('setHttpResponseCode')->with(400)->will($this->returnValue($this->_response)
+            );
+        $this->_response->expects($this->once())->method('getHttpResponseCode')->will($this->returnValue(400));
+        $controller = $this->_factory($this->_request, $this->_response);
         $controller->tunnelAction();
         $this->assertEquals(400, $controller->getResponse()->getHttpResponseCode());
     }
@@ -86,9 +108,10 @@ class DashboardTest extends \PHPUnit_Framework_TestCase
     public function testTunnelAction503()
     {
         $fixture = uniqid();
-        $this->_request->setParam('ga', urlencode(base64_encode(json_encode(array(1)))));
-        $this->_request->setParam('h', $fixture);
-
+        $this->_request->expects($this->at(0))
+            ->method('getParam')->with('ga')
+            ->will($this->returnValue(urlencode(base64_encode(json_encode(array(1))))));
+        $this->_request->expects($this->at(1))->method('getParam')->with('h')->will($this->returnValue($fixture));
         /** @var $helper \Magento\Adminhtml\Helper\Dashboard\Data|PHPUnit_Framework_MockObject_MockObject */
         $helper = $this->getMock('Magento\Adminhtml\Helper\Dashboard\Data',
             array('getChartDataHash'), array(), '', false, false
@@ -112,7 +135,17 @@ class DashboardTest extends \PHPUnit_Framework_TestCase
             ->with('Magento\Core\Model\Logger')
             ->will($this->returnValue($loggerMock));
 
-        $controller = $this->_factory($this->_request, null, $objectManager);
+        $this->_response->expects($this->once())
+            ->method('setBody')
+            ->with('Service unavailable: see error log for details')
+            ->will($this->returnValue($this->_response));
+        $this->_response->expects($this->any())->method('setHeader')->will($this->returnValue($this->_response));
+        $this->_response->expects($this->once())
+            ->method('setHttpResponseCode')
+            ->with(503)
+            ->will($this->returnValue($this->_response));
+        $this->_response->expects($this->once())->method('getHttpResponseCode')->will($this->returnValue(503));
+        $controller = $this->_factory($this->_request, $this->_response, $objectManager);
         $controller->tunnelAction();
         $this->assertEquals(503, $controller->getResponse()->getHttpResponseCode());
     }
@@ -120,17 +153,16 @@ class DashboardTest extends \PHPUnit_Framework_TestCase
     /**
      * Create the tested object
      *
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Controller\Response\Http|null $response
+     * @param Magento\App\Request\Http $request
+     * @param \Magento\App\Response\Http|null $response
      * @param \Magento\ObjectManager|null $objectManager
      * @return \Magento\Adminhtml\Controller\Dashboard|PHPUnit_Framework_MockObject_MockObject
      */
     protected function _factory($request, $response = null, $objectManager = null)
     {
         if (!$response) {
-            $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
-            /** @var $response \Magento\Core\Controller\Response\Http|PHPUnit_Framework_MockObject_MockObject */
-            $response = $this->getMockForAbstractClass('Magento\Core\Controller\Response\Http', array($eventManager));
+            /** @var $response \Magento\App\ResponseInterface|PHPUnit_Framework_MockObject_MockObject */
+            $response = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
             $response->headersSentThrowsException = false;
         }
         if (!$objectManager) {
@@ -138,7 +170,7 @@ class DashboardTest extends \PHPUnit_Framework_TestCase
         }
         $rewriteFactory = $this->getMock('Magento\Core\Model\Url\RewriteFactory', array('create'), array(), '', false);
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $varienFront = $helper->getObject('Magento\Core\Controller\Varien\Front',
+        $varienFront = $helper->getObject('Magento\App\FrontController',
             array('rewriteFactory' => $rewriteFactory)
         );
 
diff --git a/dev/tests/unit/testsuite/Magento/App/Action/ForwardTest.php b/dev/tests/unit/testsuite/Magento/App/Action/ForwardTest.php
new file mode 100644
index 00000000000..22819d8ad4d
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/App/Action/ForwardTest.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App\Action;
+
+class ForwardTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\App\Action\Forward
+     */
+    protected $_model;
+
+    /**
+     * @var \Magento\App\RequestInterface
+     */
+    protected $_request;
+
+    /**
+     * @var \Magento\App\ResponseInterface
+     */
+    protected $_response;
+
+    protected function setUp()
+    {
+        $this->_request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false );
+        $this->_response = $this->getMock('\Magento\App\Response\Http');
+        $this->_model = new \Magento\App\Action\Forward($this->_request, $this->_response);
+    }
+
+    public function testDispatch()
+    {
+        $this->_request->expects($this->once())->method('setDispatched')->with(false);
+        $this->_model->dispatch('actions');
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/App/AreaListTest.php b/dev/tests/unit/testsuite/Magento/App/AreaListTest.php
new file mode 100644
index 00000000000..80f72cb28b4
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/App/AreaListTest.php
@@ -0,0 +1,95 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+class AreaListTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\App\AreaList
+     */
+    protected $_model;
+
+    /**
+     * @var \Magento\App\Area\FrontNameResolverFactory
+     */
+    protected $_resolverFactory;
+
+    protected function setUp()
+    {
+        $this->_resolverFactory = $this
+            ->getMock('\Magento\App\Area\FrontNameResolverFactory', array(), array(), '', false);
+    }
+
+    public function testGetCodeByFrontNameWhenAreaDoesNotContainFrontName()
+    {
+        $expected = 'expectedFrontName';
+        $this->_model = new \Magento\App\AreaList($this->_resolverFactory,
+            array('testArea' => array('frontNameResolver' => 'testValue')), $expected);
+
+        $resolverMock = $this->getMock('\Magento\App\Area\FrontNameResolverInterface');
+        $this->_resolverFactory->expects($this->any())->method('create')
+            ->with('testValue')->will($this->returnValue($resolverMock));
+
+        $actual = $this->_model->getCodeByFrontName('testFrontName');
+        $this->assertEquals($expected, $actual);
+    }
+
+    public function testGetCodeByFrontNameReturnsAreaCode()
+    {
+        $expected = 'testArea';
+        $this->_model = new \Magento\App\AreaList($this->_resolverFactory,
+            array('testArea'=>array('frontName' => 'testFrontName')), $expected);
+
+        $actual = $this->_model->getCodeByFrontName('testFrontName');
+        $this->assertEquals($expected, $actual);
+    }
+
+    public function testGetFrontNameWhenAreaCodeAndFrontNameAreSet()
+    {
+        $expected = 'testFrontName';
+        $this->_model = new \Magento\App\AreaList($this->_resolverFactory,
+            array('testAreaCode' => array('frontName' => 'testFrontName')), $expected);
+
+        $actual = $this->_model->getFrontName('testAreaCode');
+        $this->assertEquals($expected, $actual);
+    }
+
+    public function testGetFrontNameWhenAreaCodeAndFrontNameArentSet()
+    {
+        $this->_model = new \Magento\App\AreaList($this->_resolverFactory, array(), '');
+
+        $actual = $this->_model->getFrontName('testAreaCode');
+        $this->assertNull($actual);
+    }
+
+    public function testGetCodes()
+    {
+        $this->_model = new \Magento\App\AreaList($this->_resolverFactory,
+            array('area1' => 'value1', 'area2' => 'value2'), '');
+
+        $expected = array(0 => 'area1', 1 => 'area2');
+        $actual = $this->_model->getCodes();
+        $this->assertEquals($expected, $actual);
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Dir/VerificationTest.php b/dev/tests/unit/testsuite/Magento/App/Dir/VerificationTest.php
similarity index 89%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Dir/VerificationTest.php
rename to dev/tests/unit/testsuite/Magento/App/Dir/VerificationTest.php
index 1e5bbc05f1e..3c6bc232a4e 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Dir/VerificationTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Dir/VerificationTest.php
@@ -22,7 +22,7 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model\Dir;
+namespace Magento\App\Dir;
 
 class VerificationTest extends \PHPUnit_Framework_TestCase
 {
@@ -64,12 +64,12 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
      * @param bool $isExist
      * @param array $actualCreatedDirs
      * @param array $actualVerifiedDirs
-     * @return \Magento\Core\Model\Dir\Verification
+     * @return \Magento\App\Dir\Verification
      */
     protected function _createModelForVerification($mode, $isExist, &$actualCreatedDirs, &$actualVerifiedDirs)
     {
-        $dirs = new \Magento\Core\Model\Dir('base_dir');
-        $appState = new \Magento\Core\Model\App\State(time(), $mode);
+        $dirs = new \Magento\App\Dir('base_dir');
+        $appState = new \Magento\App\State(time(), $mode);
 
         $filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
         $filesystem->expects($this->any())
@@ -93,7 +93,7 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
             ->method('isWritable')
             ->will($this->returnCallback($callbackVerify));
 
-        return new \Magento\Core\Model\Dir\Verification(
+        return new \Magento\App\Dir\Verification(
             $filesystem,
             $dirs,
             $appState
@@ -107,7 +107,7 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
     {
         return array(
             'developer mode' => array(
-                \Magento\Core\Model\App\State::MODE_DEVELOPER,
+                \Magento\App\State::MODE_DEVELOPER,
                 array(
                     'base_dir/pub/media',
                     'base_dir/pub/static',
@@ -119,7 +119,7 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
                 ),
             ),
             'default mode' => array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 array(
                     'base_dir/pub/media',
                     'base_dir/pub/static',
@@ -131,7 +131,7 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
                 ),
             ),
             'production mode' => array(
-                \Magento\Core\Model\App\State::MODE_PRODUCTION,
+                \Magento\App\State::MODE_PRODUCTION,
                 array(
                     'base_dir/pub/media',
                     'base_dir/var',
@@ -150,8 +150,8 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
         $this->setExpectedException('Magento\BootstrapException',
             'Cannot create or verify write access: base_dir/var/log, base_dir/var/session');
 
-        $dirs = new \Magento\Core\Model\Dir('base_dir');
-        $appState = new \Magento\Core\Model\App\State(time());
+        $dirs = new \Magento\App\Dir('base_dir');
+        $appState = new \Magento\App\State(time());
 
         $callback = function ($dir) {
             if (($dir == 'base_dir/var/log') || ($dir == 'base_dir/var/session')) {
@@ -164,7 +164,7 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnCallback($callback));
 
         // Do
-        $model = new \Magento\Core\Model\Dir\Verification(
+        $model = new \Magento\App\Dir\Verification(
             $filesystem,
             $dirs,
             $appState
@@ -178,8 +178,8 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
         $this->setExpectedException('Magento\BootstrapException',
             'Cannot create or verify write access: base_dir/var/log, base_dir/var/session');
 
-        $dirs = new \Magento\Core\Model\Dir('base_dir');
-        $appState = new \Magento\Core\Model\App\State(time());
+        $dirs = new \Magento\App\Dir('base_dir');
+        $appState = new \Magento\App\State(time());
 
         $filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
         $filesystem->expects($this->any())
@@ -200,7 +200,7 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValueMap($dirWritableMap));
 
         // Do
-        $model = new \Magento\Core\Model\Dir\Verification(
+        $model = new \Magento\App\Dir\Verification(
             $filesystem,
             $dirs,
             $appState
diff --git a/dev/tests/unit/testsuite/Magento/App/FrontControllerTest.php b/dev/tests/unit/testsuite/Magento/App/FrontControllerTest.php
new file mode 100644
index 00000000000..38335400c91
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/App/FrontControllerTest.php
@@ -0,0 +1,105 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\App;
+
+class FrontControllerTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\App\FrontController
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_eventManager;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_response;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_request;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_routerList;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_router;
+
+    protected function setUp()
+    {
+        $this->_eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
+        $this->_response = $this->getMock('Magento\App\ResponseInterface', array(), array(), '', false);
+        $this->_routerList = $this->getMock('Magento\App\RouterList', array('getRouters'), array(), '', false);
+        $this->_request = $this->getMock('Magento\App\RequestInterface', array('isDispatched', 'getModuleName',
+            'setModuleName', 'getActionName', 'setActionName', 'getParam'));
+        $this->_router = $this->getMock('Magento\App\Router\AbstractRouter',
+            array('setFront', 'match'), array(), '', false);
+        $this->_model = new \Magento\App\FrontController($this->_eventManager, $this->_response, $this->_routerList);
+    }
+
+    /**
+     * @expectedException \LogicException
+     */
+    public function testDispatchThrowException()
+    {
+        $this->_routerList->expects($this->any())->method('getRouters')->will($this->returnValue($this->_router));
+        $this->_model->dispatch($this->_request);
+        $this->_eventManager->expects($this->never())->method('dispatch');
+    }
+
+    public function testWhenRequestDispatched()
+    {
+        $this->_request->expects($this->once())->method('isDispatched')->will($this->returnValue(true));
+        $this->_routerList->expects($this->never())->method('getRouters');
+        $this->_eventManager->expects($this->atLeastOnce())->method('dispatch');
+        $this->_model->dispatch($this->_request);
+    }
+
+    /**
+     * @expectedException \LogicException
+     */
+    public function testWhenDispatchedActionInterface()
+    {
+        $this->_router = $this->getMock('Magento\App\Router\AbstractRouter',
+            array('setFront', 'match'), array(), '', false);
+        $this->_routerList->expects($this->atLeastOnce())->method('getRouters')
+            ->will($this->returnValue(array($this->_router)));
+        $controllerInstance = $this->getMock('\Magento\App\ActionInterface');
+        $this->_router->expects($this->atLeastOnce())->method('match')->will($this->returnValue($controllerInstance));
+        $this->_request->expects($this->atLeastOnce())->method('getActionName')->will($this->returnValue('testString'));
+        $controllerInstance->expects($this->atLeastOnce())->method('dispatch')->with('testString');
+
+        $this->_model->dispatch($this->_request);
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Converter/DomTest.php b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/Converter/DomTest.php
similarity index 93%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Converter/DomTest.php
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/Converter/DomTest.php
index fc118ab1cca..77b35b2d723 100755
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Converter/DomTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/Converter/DomTest.php
@@ -21,18 +21,18 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Declaration\Converter;
+namespace Magento\App\Module\Declaration\Converter;
 
 class DomTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Module\Declaration\Converter\Dom
+     * @var \Magento\App\Module\Declaration\Converter\Dom
      */
     protected $_converter;
 
     protected function setUp()
     {
-        $this->_converter = new \Magento\Core\Model\Module\Declaration\Converter\Dom();
+        $this->_converter = new \Magento\App\Module\Declaration\Converter\Dom();
     }
 
     public function testConvertWithValidDom()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Converter/_files/converted_valid_module.php b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/Converter/_files/converted_valid_module.php
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Converter/_files/converted_valid_module.php
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/Converter/_files/converted_valid_module.php
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Converter/_files/valid_module.xml b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/Converter/_files/valid_module.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Converter/_files/valid_module.xml
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/Converter/_files/valid_module.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/Four/etc/module.xml b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/Four/etc/module.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/Four/etc/module.xml
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/Four/etc/module.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/One/etc/module.xml b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/One/etc/module.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/One/etc/module.xml
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/One/etc/module.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/Three/etc/module.xml b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/Three/etc/module.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/Three/etc/module.xml
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/Three/etc/module.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/Two/etc/module.xml b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/Two/etc/module.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/Two/etc/module.xml
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/Two/etc/module.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/etc/custom/module.xml b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/etc/custom/module.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/etc/custom/module.xml
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/etc/custom/module.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolverTest.php b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolverTest.php
similarity index 84%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolverTest.php
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolverTest.php
index fcdc9a5e3b2..8e258ee12da 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolverTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolverTest.php
@@ -21,12 +21,12 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Declaration;
+namespace Magento\App\Module\Declaration;
 
 class FileResolverTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Module\Declaration\FileResolver
+     * @var \Magento\App\Module\Declaration\FileResolver
      */
     protected $_model;
 
@@ -34,20 +34,20 @@ class FileResolverTest extends \PHPUnit_Framework_TestCase
     {
         $baseDir = __DIR__ . str_replace('/', DIRECTORY_SEPARATOR, '/FileResolver/_files');
 
-        $applicationDirs = $this->getMock('Magento\Core\Model\Dir', array(), array('getDir'), '', false);
+        $applicationDirs = $this->getMock('Magento\App\Dir', array(), array('getDir'), '', false);
         $applicationDirs->expects($this->any())
             ->method('getDir')
             ->will($this->returnValueMap(array(
                 array(
-                    \Magento\Core\Model\Dir::CONFIG,
+                    \Magento\App\Dir::CONFIG,
                     $baseDir . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR .'etc',
                 ),
                 array(
-                    \Magento\Core\Model\Dir::MODULES,
+                    \Magento\App\Dir::MODULES,
                     $baseDir . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR .'code',
                 ),
             )));
-        $this->_model = new \Magento\Core\Model\Module\Declaration\FileResolver($applicationDirs);
+        $this->_model = new \Magento\App\Module\Declaration\FileResolver($applicationDirs);
     }
 
     public function testGet()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Reader/FilesystemTest.php b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/Reader/FilesystemTest.php
similarity index 83%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Reader/FilesystemTest.php
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/Reader/FilesystemTest.php
index b354903ec3b..a0e57985a5a 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Reader/FilesystemTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/Reader/FilesystemTest.php
@@ -21,37 +21,37 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Declaration\Reader;
+namespace Magento\App\Module\Declaration\Reader;
 
 class FilesystemTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Module\Declaration\Reader\Filesystem
+     * @var \Magento\App\Module\Declaration\Reader\Filesystem
      */
     protected $_model;
 
     protected function setUp()
     {
         $baseDir = __DIR__ . str_replace('/', DIRECTORY_SEPARATOR, '/../FileResolver/_files');
-        $applicationDirs = $this->getMock('Magento\Core\Model\Dir', array(), array('getDir'), '', false);
+        $applicationDirs = $this->getMock('Magento\App\Dir', array(), array('getDir'), '', false);
         $applicationDirs->expects($this->any())->method('getDir')
             ->will($this->returnValueMap(array(
                 array(
-                    \Magento\Core\Model\Dir::CONFIG,
+                    \Magento\App\Dir::CONFIG,
                     $baseDir . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR .'etc',
                 ),
                 array(
-                    \Magento\Core\Model\Dir::MODULES,
+                    \Magento\App\Dir::MODULES,
                         $baseDir . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR .'code',
                 ),
             )));
-        $fileResolver = new \Magento\Core\Model\Module\Declaration\FileResolver($applicationDirs);
-        $converter = new \Magento\Core\Model\Module\Declaration\Converter\Dom();
+        $fileResolver = new \Magento\App\Module\Declaration\FileResolver($applicationDirs);
+        $converter = new \Magento\App\Module\Declaration\Converter\Dom();
         $schemaLocatorMock = $this->getMock(
-            'Magento\Core\Model\Module\Declaration\SchemaLocator', array(), array(), '', false
+            'Magento\App\Module\Declaration\SchemaLocator', array(), array(), '', false
         );
         $validationStateMock = $this->getMock('Magento\Config\ValidationStateInterface');
-        $this->_model = new \Magento\Core\Model\Module\Declaration\Reader\Filesystem(
+        $this->_model = new \Magento\App\Module\Declaration\Reader\Filesystem(
             $fileResolver, $converter, $schemaLocatorMock, $validationStateMock
         );
     }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Dir/ReverseResolverTest.php b/dev/tests/unit/testsuite/Magento/App/Module/Dir/ReverseResolverTest.php
similarity index 85%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Dir/ReverseResolverTest.php
rename to dev/tests/unit/testsuite/Magento/App/Module/Dir/ReverseResolverTest.php
index 06c9ef2c706..f4e550ee4fd 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Dir/ReverseResolverTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Module/Dir/ReverseResolverTest.php
@@ -21,30 +21,30 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Dir;
+namespace Magento\App\Module\Dir;
 
 class ReverseResolverTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Module\Dir\ReverseResolver
+     * @var \Magento\App\Module\Dir\ReverseResolver
      */
     protected $_model;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\ModuleListInterface|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_moduleList;
 
     /**
-     * @var \Magento\Core\Model\Module\Dir|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\Module\Dir|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_moduleDirs;
 
     protected function setUp()
     {
-        $this->_moduleList = $this->getMock('Magento\Core\Model\ModuleListInterface');
-        $this->_moduleDirs = $this->getMock('Magento\Core\Model\Module\Dir', array(), array(), '', false, false);
-        $this->_model = new \Magento\Core\Model\Module\Dir\ReverseResolver($this->_moduleList, $this->_moduleDirs);
+        $this->_moduleList = $this->getMock('Magento\App\ModuleListInterface');
+        $this->_moduleDirs = $this->getMock('Magento\App\Module\Dir', array(), array(), '', false, false);
+        $this->_model = new \Magento\App\Module\Dir\ReverseResolver($this->_moduleList, $this->_moduleDirs);
     }
 
     /**
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/DirTest.php b/dev/tests/unit/testsuite/Magento/App/Module/DirTest.php
similarity index 83%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/DirTest.php
rename to dev/tests/unit/testsuite/Magento/App/Module/DirTest.php
index 9bd3fc6b3b8..b2fc7368dc9 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Module/DirTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Module/DirTest.php
@@ -21,30 +21,30 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module;
+namespace Magento\App\Module;
 
 class DirTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Module\Dir
+     * @var \Magento\App\Module\Dir
      */
     protected $_model;
 
     /**
-     * @var \Magento\Core\Model\Dir|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\Dir|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_applicationDirs;
 
     protected function setUp()
     {
-        $this->_applicationDirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false, false);
+        $this->_applicationDirs = $this->getMock('Magento\App\Dir', array(), array(), '', false, false);
         $this->_applicationDirs
             ->expects($this->once())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::MODULES)
+            ->with(\Magento\App\Dir::MODULES)
             ->will($this->returnValue('app' . DIRECTORY_SEPARATOR . 'code'))
         ;
-        $this->_model = new \Magento\Core\Model\Module\Dir($this->_applicationDirs);
+        $this->_model = new \Magento\App\Module\Dir($this->_applicationDirs);
     }
 
     public function testGetDirModuleRoot()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolver/_files/Module/data/module_first_setup/.gitignore b/dev/tests/unit/testsuite/Magento/App/Module/ResourceResolver/_files/Module/data/module_first_setup/.gitignore
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolver/_files/Module/data/module_first_setup/.gitignore
rename to dev/tests/unit/testsuite/Magento/App/Module/ResourceResolver/_files/Module/data/module_first_setup/.gitignore
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolver/_files/Module/data/module_second_setup/.gitignore b/dev/tests/unit/testsuite/Magento/App/Module/ResourceResolver/_files/Module/data/module_second_setup/.gitignore
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolver/_files/Module/data/module_second_setup/.gitignore
rename to dev/tests/unit/testsuite/Magento/App/Module/ResourceResolver/_files/Module/data/module_second_setup/.gitignore
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolver/_files/Module/sql/module_first_setup/.gitignore b/dev/tests/unit/testsuite/Magento/App/Module/ResourceResolver/_files/Module/sql/module_first_setup/.gitignore
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolver/_files/Module/sql/module_first_setup/.gitignore
rename to dev/tests/unit/testsuite/Magento/App/Module/ResourceResolver/_files/Module/sql/module_first_setup/.gitignore
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolverTest.php b/dev/tests/unit/testsuite/Magento/App/Module/ResourceResolverTest.php
similarity index 91%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolverTest.php
rename to dev/tests/unit/testsuite/Magento/App/Module/ResourceResolverTest.php
index fa6dbe2ffc2..92b3566ea18 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolverTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Module/ResourceResolverTest.php
@@ -21,12 +21,12 @@
  * @copyright Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module;
+namespace Magento\App\Module;
 
 class ResourceResolverTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var  \Magento\Core\Model\Module\ResourceResolver
+     * @var  \Magento\App\Module\ResourceResolver
      */
     protected $_model;
 
@@ -39,7 +39,7 @@ class ResourceResolverTest extends \PHPUnit_Framework_TestCase
     {
         $this->_moduleReaderMock = $this->getMock('Magento\Core\Model\Config\Modules\Reader',
             array(), array(), '', false);
-        $this->_model = new \Magento\Core\Model\Module\ResourceResolver($this->_moduleReaderMock);
+        $this->_model = new \Magento\App\Module\ResourceResolver($this->_moduleReaderMock);
     }
 
     public function testGetResourceList()
diff --git a/dev/tests/unit/testsuite/Magento/App/Request/HttpTest.php b/dev/tests/unit/testsuite/Magento/App/Request/HttpTest.php
new file mode 100644
index 00000000000..43be63bc46b
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/App/Request/HttpTest.php
@@ -0,0 +1,255 @@
+<?php
+/**
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App\Request;
+
+class HttpTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\App\Request\Http
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_routerListMock;
+
+    protected function setUp()
+    {
+        $this->_routerListMock = $this->getMock('\Magento\App\RouterList', array(), array(), '', false);
+    }
+
+    public function testGetOriginalPathInfoWithTestUri()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, 'http://test.com/value');
+        $this->assertEquals('/value', $this->_model->getOriginalPathInfo());
+    }
+
+    public function testGetOriginalPathInfoWithEmptyUri()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, null);
+        $this->assertEmpty($this->_model->getOriginalPathInfo());
+    }
+
+    public function testSetPathInfoWithNullValue()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, null);
+        $actual = $this->_model->setPathInfo();
+        $this->assertEquals($this->_model, $actual);
+    }
+
+    public function testSetPathInfoWithValue()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, null);
+        $expected = 'testPathInfo';
+        $this->_model->setPathInfo($expected);
+        $this->assertEquals($expected, $this->_model->getPathInfo());
+    }
+
+    public function testSetPathInfoWithQueryPart()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, 'http://test.com/node?queryValue');
+        $this->_model->setPathInfo();
+        $this->assertEquals('/node', $this->_model->getPathInfo());
+    }
+
+    public function testRewritePathInfoWithNewValue()
+    {
+        $expected = '/other/path';
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, 'http://test.com/one/two');
+        $this->_model->rewritePathInfo($expected);
+        $this->assertEquals($expected, $this->_model->getPathInfo());
+    }
+
+    public function testRewritePathInfoWithSameValue()
+    {
+        $expected = '/one/two';
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, 'http://test.com' . $expected);
+        $this->_model->rewritePathInfo($expected);
+        $this->assertEquals($expected, $this->_model->getPathInfo());
+    }
+
+    public function testGetBasePathWithPath()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setBasePath('http:\/test.com\one/two');
+        $this->assertEquals('http://test.com/one/two', $this->_model->getBasePath());
+    }
+
+    public function testGetBasePathWithoutPath()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setBasePath();
+        $this->assertEquals('/', $this->_model->getBasePath());
+    }
+
+    public function testGetBaseUrlWithUrl()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setBaseUrl('http:\/test.com\one/two');
+        $this->assertEquals('http://test.com/one/two', $this->_model->getBaseUrl());
+    }
+
+    public function testGetBaseUrlWithEmptyUrl()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setBaseUrl();
+        $this->assertEmpty($this->_model->getBaseUrl());
+    }
+
+    public function testSetRouteNameWithRouter()
+    {
+        $router = $this->getMock('\Magento\App\Router\AbstractRouter', array(), array(), '', false);
+        $this->_routerListMock->expects($this->any())->method('getRouterByRoute')->will($this->returnValue($router));
+        $router->expects($this->once())->method('getFrontNameByRoute')->will($this->returnValue('string'));
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setRouteName('RouterName');
+        $this->assertEquals('RouterName', $this->_model->getRouteName());
+    }
+
+    public function testSetRouteNameWithNullRouterValue()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $router = $this->getMock('\Magento\App\Router\AbstractRouter', array(), array(), '', false);
+        $this->_routerListMock->expects($this->once())->method('getRouterByRoute')->will($this->returnValue(null));
+        $router->expects($this->never())->method('getFrontNameByRoute');
+        $this->_model->setRouteName('RouterName');
+    }
+
+    public function testGetFrontName()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, 'http://test.com/one/two');
+        $this->assertEquals('one', $this->_model->getFrontName());
+    }
+
+    public function testGetAliasWhenAliasExists()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setAlias('AliasName', 'AliasTarget');
+        $this->assertEquals('AliasTarget', $this->_model->getAlias('AliasName') );
+    }
+
+    public function testGetAliasWhenAliasesIsNull()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->assertNull($this->_model->getAlias('someValue'));
+    }
+
+    public function testGetAliasesWhenAliasSet()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setAlias('AliasName', 'AliasTarget');
+        $this->assertEquals(array('AliasName' => 'AliasTarget'), $this->_model->getAliases());
+    }
+
+    public function testGetAliasesWhenAliasAreEmpty()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->assertEmpty($this->_model->getAliases());
+    }
+
+    public function testGetRequestedRouteNameWhenRequestedRouteIsSet()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setRoutingInfo(array('requested_route' => 'ExpectedValue'));
+        $this->assertEquals('ExpectedValue', $this->_model->getRequestedRouteName());
+    }
+
+    public function testGetRequestedRouteNameWithNullValueRouteName()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setRouteName('RouteName');
+        $this->assertEquals('RouteName', $this->_model->getRequestedRouteName());
+    }
+
+    public function testGetRequestedRouteNameWithRewritePathInfo()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $routerAbstract = $this->getMock('\Magento\App\Router\AbstractRouter', array(), array(), '', false);
+        $expected = 'TestValue';
+        $this->_model->setPathInfo($expected);
+        $this->_model->rewritePathInfo($expected . '/other');
+        $this->_routerListMock->expects($this->any())->method('getRouterByFrontName')->with($expected)
+            ->will($this->returnValue($routerAbstract));
+        $routerAbstract->expects($this->any())->method('getRouteByFrontName')->with($expected)
+            ->will($this->returnValue($expected));
+
+        $this->assertEquals($expected, $this->_model->getRequestedRouteName());
+    }
+
+    public function testGetRequestedRouteNameWithoutRewritePathInfo()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $expected = 'RouteName';
+        $this->_model->setRouteName($expected);
+        $this->assertEquals($expected, $this->_model->getRequestedRouteName());
+    }
+
+    public function testGetRequestedControllerNameWithRequestedController()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $expected = array('requested_controller' => 'ControllerName');
+        $this->_model->setRoutingInfo($expected);
+        $test = $this->_model->getRequestedControllerName();
+        $this->assertEquals($expected['requested_controller'], $test);
+    }
+
+    public function testGetRequestedControllerNameWithRewritePathInfo()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $path = 'one/two/';
+        $this->_model->setPathInfo($path);
+        $this->_model->rewritePathInfo($path. '/last');
+        $this->assertEquals('two', $this->_model->getRequestedControllerName());
+    }
+
+    public function testGetRequestedActionNameWithRoutingInfo()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setRoutingInfo(array('requested_action' => 'ExpectedValue'));
+        $this->assertEquals('ExpectedValue', $this->_model->getRequestedActionName());
+    }
+
+    public function testGetRequestedActionNameWithRewritePathInfo()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $path = 'one/two/three';
+        $this->_model->setPathInfo($path);
+        $this->_model->rewritePathInfo($path. '/last');
+        $this->assertEquals('three', $this->_model->getRequestedActionName());
+    }
+
+    public function testIsStraightWithTrueValue()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->assertTrue($this->_model->isStraight(true));
+    }
+
+    public function testIsStraightWithDefaultValue()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->assertFalse($this->_model->isStraight());
+    }
+}
diff --git a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/Router/AbstractTest.php b/dev/tests/unit/testsuite/Magento/App/Response/HttpTest.php
similarity index 57%
rename from dev/tests/integration/testsuite/Magento/Core/Controller/Varien/Router/AbstractTest.php
rename to dev/tests/unit/testsuite/Magento/App/Response/HttpTest.php
index 73b5ec7444a..47972a10dd1 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/Router/AbstractTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Response/HttpTest.php
@@ -18,35 +18,39 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
- * @subpackage  integration_tests
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Response;
 
-namespace Magento\Core\Controller\Varien\Router;
-
-class AbstractTest extends \PHPUnit_Framework_TestCase
+class HttpTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Varien\Router\AbstractRouter
+     * @var \Magento\App\Response\Http
      */
     protected $_model;
 
     protected function setUp()
     {
-        $this->_model = $this->getMockForAbstractClass('Magento\Core\Controller\Varien\Router\AbstractRouter',
-            array(), '', false
-        );
+        $this->_model = new \Magento\App\Response\Http();
+        $this->_model->headersSentThrowsException = false;
+        $this->_model->setHeader('name', 'value');
+    }
+
+    protected function tearDown()
+    {
+        unset($this->_model);
+    }
+
+    public function testGetHeaderWhenHeaderNameIsEqualsName()
+    {
+        $expected = array('name' => 'Name', 'value' => 'value', 'replace' => false);
+        $actual = $this->_model->getHeader('Name');
+        $this->assertEquals($expected, $actual);
     }
 
-    public function testGetSetFront()
+    public function testGetHeaderWhenHeaderNameIsNotEqualsName()
     {
-        $expected = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Controller\Varien\Front');
-        $this->assertNull($this->_model->getFront());
-        $this->_model->setFront($expected);
-        $this->assertSame($expected, $this->_model->getFront());
+        $this->assertFalse($this->_model->getHeader('Test'));
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/App/ResponseFactoryTest.php b/dev/tests/unit/testsuite/Magento/App/ResponseFactoryTest.php
new file mode 100644
index 00000000000..4edb3929b3b
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/App/ResponseFactoryTest.php
@@ -0,0 +1,60 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+class ResponseFactoryTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\App\ResponseFactory
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_objectManagerMock;
+
+    /**
+     * @var \Magento\App\ResponseInterface
+     */
+    protected $_expectedObject;
+
+    protected function setUp()
+    {
+        $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
+        $this->_model = new \Magento\App\ResponseFactory($this->_objectManagerMock);
+    }
+
+    public function testCreate()
+    {
+        $this->_expectedObject = $this->getMockBuilder('\Magento\App\ResponseInterface')->getMock();
+        $arguments = array(array('property' => 'value'));
+        $this->_objectManagerMock->expects($this->once())
+            ->method('create')
+            ->with('Magento\App\ResponseInterface', $arguments)->will($this->returnValue($this->_expectedObject));
+
+        $this->assertEquals($this->_expectedObject, $this->_model->create($arguments));
+
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Db/UpdaterTest.php b/dev/tests/unit/testsuite/Magento/App/UpdaterTest.php
similarity index 77%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Db/UpdaterTest.php
rename to dev/tests/unit/testsuite/Magento/App/UpdaterTest.php
index e15a7b6fedc..9e7217083fe 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Db/UpdaterTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/UpdaterTest.php
@@ -21,46 +21,46 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Db;
+namespace Magento\App;
 
 class UpdaterTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_factoryMock;
 
     /**
-     * @var PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_appStateMock;
 
     /**
-     * @var PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_resourceResolver;
 
     /**
-     * @var PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_moduleListMock;
 
     /**
-     * @var PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_resourceSetupMock;
 
     /**
-     * @var \Magento\Core\Model\Db\Updater
+     * @var \Magento\App\Updater
      */
     protected $_model;
 
     protected function setUp()
     {
-        $this->_factoryMock = $this->getMock('Magento\Core\Model\Resource\SetupFactory', array(), array(), '', false);
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
-        $this->_resourceResolver = $this->getMock('Magento\Core\Model\Module\ResourceResolverInterface');
-        $this->_moduleListMock = $this->getMock('Magento\Core\Model\ModuleListInterface');
+        $this->_factoryMock = $this->getMock('Magento\App\Updater\SetupFactory', array(), array(), '', false);
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
+        $this->_moduleListMock = $this->getMock('Magento\App\ModuleListInterface');
+        $this->_resourceResolver = $this->getMock('Magento\App\Module\ResourceResolverInterface');
         $this->_resourceSetupMock = $this->getMock('Magento\Catalog\Model\Resource\Setup', array(), array(), '', false);
 
         $moduleList = array('Test_Module' => array());
@@ -74,21 +74,16 @@ class UpdaterTest extends \PHPUnit_Framework_TestCase
             ->with('Test_Module')
             ->will($this->returnValue($resourceList));
 
-        $createData = array(
-            'resourceName' => 'catalog_setup',
-            'moduleName' => 'Test_Module',
-        );
         $this->_factoryMock->expects($this->any())
             ->method('create')
-            ->with('Magento\Catalog\Model\Resource\Setup', $createData)
+            ->with('catalog_setup', 'Test_Module')
             ->will($this->returnValue($this->_resourceSetupMock));
 
-        $this->_model = new \Magento\Core\Model\Db\Updater(
+        $this->_model = new \Magento\App\Updater(
             $this->_factoryMock,
             $this->_appStateMock,
             $this->_moduleListMock,
             $this->_resourceResolver,
-            array('catalog_setup' => 'Magento\Catalog\Model\Resource\Setup'),
             true
         );
     }
diff --git a/dev/tests/unit/testsuite/Magento/Backend/App/Area/FrontNameResolverTest.php b/dev/tests/unit/testsuite/Magento/Backend/App/Area/FrontNameResolverTest.php
new file mode 100644
index 00000000000..f3047d1b966
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Backend/App/Area/FrontNameResolverTest.php
@@ -0,0 +1,65 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Backend\App\Area;
+
+class FrontNameResolverTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Backend\App\Area\FrontNameResolver
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_configMock;
+
+    /**
+     * @var string
+     */
+    protected $_defaultFrontName = 'defaultFrontName';
+
+    protected function setUp()
+    {
+        $this->_configMock
+            = $this->getMock('\Magento\Core\Model\ConfigInterface', array('getValue', 'getNode', 'setNode', 'reinit'));
+        $this->_model = new \Magento\Backend\App\Area\FrontNameResolver($this->_configMock, $this->_defaultFrontName);
+    }
+
+    public function testIfCustomPathUsed()
+    {
+        $this->_configMock->expects($this->at(0))
+            ->method('getValue')->with('admin/url/use_custom_path', 'default')->will($this->returnValue(true));
+        $this->_configMock->expects($this->at(1))
+            ->method('getValue')->with('admin/url/custom_path', 'default')->will($this->returnValue('expectedValue'));
+        $this->assertEquals('expectedValue', $this->_model->getFrontName());
+    }
+
+    public function testIfCustomPathNotUsed()
+    {
+        $this->_configMock->expects($this->once())->
+            method('getValue')->with('admin/url/use_custom_path', 'default')->will($this->returnValue(false));
+        $this->assertEquals($this->_defaultFrontName, $this->_model->getFrontName());
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Backend/App/Area/Request/PathInfoProcessorTest.php b/dev/tests/unit/testsuite/Magento/Backend/App/Area/Request/PathInfoProcessorTest.php
new file mode 100644
index 00000000000..91dc75bca9c
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Backend/App/Area/Request/PathInfoProcessorTest.php
@@ -0,0 +1,83 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Backend\App\Area\Request;
+
+class PathInfoProcessorTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Backend\App\Request\PathInfoProcessor
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_backendHelperMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_subjectMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    /**
+     * @var string
+     */
+    protected $_pathInfo = '/storeCode/node_one/';
+
+    protected function setUp()
+    {
+        $this->_requestMock = $this->getMock('\Magento\App\RequestInterface');
+        $this->_subjectMock =
+            $this->getMock('\Magento\Core\App\Request\PathInfoProcessor', array(), array(), '', false);
+        $this->_backendHelperMock =
+            $this->getMock('\Magento\Backend\Helper\Data', array(), array(), '', false);
+        $this->_model = new \Magento\Backend\App\Request\PathInfoProcessor(
+            $this->_subjectMock,
+            $this->_backendHelperMock
+        );
+    }
+
+    public function testProcessIfStoreCodeEqualToAreaFrontName()
+    {
+        $this->_backendHelperMock->
+            expects($this->once())->method('getAreaFrontName')->will($this->returnValue('storeCode'));
+        $this->assertEquals($this->_pathInfo, $this->_model->process($this->_requestMock, $this->_pathInfo));
+    }
+
+    public function testProcessIfStoreCodeNotEqualToAreaFrontName()
+    {
+        $this->_backendHelperMock
+            ->expects($this->once())->method('getAreaFrontName')->will($this->returnValue('store'));
+        $this->_subjectMock
+            ->expects($this->once())->method('process')->with($this->_requestMock, $this->_pathInfo)
+            ->will($this->returnValue('Expected'));
+        $this->assertEquals('Expected', $this->_model->process($this->_requestMock, $this->_pathInfo));
+    }
+
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/Store/SwitcherTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/Store/SwitcherTest.php
index 0088c6d5c73..d9a02d174f5 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/Store/SwitcherTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/Store/SwitcherTest.php
@@ -37,37 +37,50 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_applicationModel;
+    protected $_applicationMock;
 
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_websiteFactory;
+    protected $_websiteFactoryMock;
 
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_storeGroupFactory;
+    protected $_storeGroupMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_coreHelperMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_contextMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeFactoryMock;
 
     protected function setUp()
     {
-        $this->_applicationModel = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
-        $this->_websiteFactory = $this->getMock('Magento\Core\Model\Website\Factory', array(), array(), '', false);
-        $this->_storeGroupFactory = $this->getMock(
-            'Magento\Core\Model\Store\Group\Factory',
-            array(),
-            array(),
-            '',
-            false
+        $this->_coreHelperMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
+        $this->_contextMock = $this->getMock('Magento\Backend\Block\Template\Context', array(), array(), '', false);
+        $this->_applicationMock = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
+        $this->_websiteFactoryMock = $this->getMock('Magento\Core\Model\Website\Factory', array(), array(), '', false);
+        $this->_storeGroupMock = $this->getMock('Magento\Core\Model\Store\Group\Factory', array(), array(), '', false);
+        $this->_storeFactoryMock = $this->getMock('Magento\Core\Model\StoreFactory', array(), array(), '', false);
+
+        $this->_object = new \Magento\Backend\Block\Store\Switcher(
+            $this->_coreHelperMock,
+            $this->_contextMock,
+            $this->_applicationMock,
+            $this->_websiteFactoryMock,
+            $this->_storeGroupMock,
+            $this->_storeFactoryMock
         );
-
-        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $this->_object = $helper->getObject('Magento\Backend\Block\Store\Switcher', array(
-            'urlBuilder' => $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false),
-            'application' => $this->_applicationModel,
-            'websiteFactory' => $this->_websiteFactory,
-            'storeGroupFactory' => $this->_storeGroupFactory
-        ));
     }
 
     /**
@@ -77,12 +90,7 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
     {
         $websiteModel = $this->getMock('Magento\Core\Model\Website', array(), array(), '', false, false);
         $collection = $this->getMock(
-            'Magento\Core\Model\Resource\Website\Collection',
-            array(),
-            array(),
-            '',
-            false,
-            false
+            'Magento\Core\Model\Resource\Website\Collection', array(), array(), '', false, false
         );
         $websiteModel->expects($this->once())->method('getResourceCollection')->will($this->returnValue($collection));
 
@@ -90,7 +98,7 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
         $collection->expects($this->once())->method('load')->will($this->returnValue($expected));
         $collection->expects($this->never())->method('addIdFilter');
 
-        $this->_websiteFactory->expects($this->once())
+        $this->_websiteFactoryMock->expects($this->once())
             ->method('create')
             ->will($this->returnValue($websiteModel));
 
@@ -124,7 +132,7 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
         $collection->expects($this->once())->method('load')->will($this->returnValue($expected));
         $collection->expects($this->once())->method('addIdFilter')->with($ids);
 
-        $this->_websiteFactory->expects($this->once())
+        $this->_websiteFactoryMock->expects($this->once())
             ->method('create')
             ->will($this->returnValue($websiteModel));
 
@@ -140,7 +148,7 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
         $this->_object->setWebsiteIds(null);
 
         $expected = array('test', 'data', 'some');
-        $this->_applicationModel->expects($this->once())->method('getWebsites')->will($this->returnValue($expected));
+        $this->_applicationMock->expects($this->once())->method('getWebsites')->will($this->returnValue($expected));
 
         $this->assertEquals($expected, $this->_object->getWebsites());
     }
@@ -166,7 +174,7 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
             3 => 'site 3',
             5 => 'site 5',
         );
-        $this->_applicationModel->expects($this->once())->method('getWebsites')->will($this->returnValue($webSites));
+        $this->_applicationMock->expects($this->once())->method('getWebsites')->will($this->returnValue($webSites));
 
         $this->assertEquals($expected, $this->_object->getWebsites());
     }
@@ -188,7 +196,7 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
         $this->_object->setWebsiteIds($ids);
 
         $expected = array();
-        $this->_applicationModel->expects($this->once())->method('getWebsites')->will($this->returnValue($webSites));
+        $this->_applicationMock->expects($this->once())->method('getWebsites')->will($this->returnValue($webSites));
 
         $this->assertEquals($expected, $this->_object->getWebsites());
     }
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/EditTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/EditTest.php
index aa2c8b000cb..53fd47b375a 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/EditTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/EditTest.php
@@ -65,7 +65,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
             array(), array(), '', false, false
         );
 
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http',
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface',
             array(), array(), '', false, false
         );
         $this->_requestMock->expects($this->any())
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/Field/ExportTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/Field/ExportTest.php
index 9f624cfdfbf..e36220e4fe0 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/Field/ExportTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/Field/ExportTest.php
@@ -65,7 +65,7 @@ class ExportTest extends \PHPUnit_Framework_TestCase
 
         $blockMock = $this->getMock('Magento\Backend\Block\Widget\Button', array(), array(), '', false, false);
 
-        $requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false, false);
+        $requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false, false);
         $requestMock->expects($this->once())->method('getParam')->with('website')->will($this->returnValue(1));
 
         $helperMock = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false, false);
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/FieldsetTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/FieldsetTest.php
index a809b4d9172..07d631498b5 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/FieldsetTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/FieldsetTest.php
@@ -71,7 +71,7 @@ class FieldsetTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false,
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false,
             false);
         $this->_urlModelMock = $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false, false);
         $this->_layoutMock = $this->getMock('Magento\Core\Model\Layout', array(), array(), '', false, false);
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/FormTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/FormTest.php
index 75e970104fe..6dd3c291b8a 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/FormTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/FormTest.php
@@ -80,7 +80,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
             array(), array(), '', false, false
         );
 
-        $requestMock = $this->getMock('Magento\Core\Controller\Request\Http',
+        $requestMock = $this->getMock('Magento\App\RequestInterface',
             array(), array(), '', false, false
         );
         $requestParams = array(
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/TabsTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/TabsTest.php
index f05e9bfd997..c60079900a0 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/TabsTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/TabsTest.php
@@ -56,7 +56,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
         $this->_requestMock->expects($this->any())->method('getParam')->with('section')
             ->will($this->returnValue('currentSectionId'));
         $this->_structureMock = $this->getMock('Magento\Backend\Model\Config\Structure', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/Column/Renderer/CurrencyTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/Column/Renderer/CurrencyTest.php
index e2e083cfccc..bbc79400119 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/Column/Renderer/CurrencyTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/Column/Renderer/CurrencyTest.php
@@ -54,6 +54,21 @@ class CurrencyTest extends \PHPUnit_Framework_TestCase
      */
     protected $_columnMock;
 
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeManagerMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_contextMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
     /**
      * @var \Magento\Object
      */
@@ -61,29 +76,39 @@ class CurrencyTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
+        $this->_contextMock = $this->getMock('Magento\Backend\Block\Context', array(), array(), '', false);
         $this->_appMock = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
+        $this->_storeManagerMock = $this->getMock('\Magento\Core\Model\StoreManagerInterface');
         $this->_localeMock = $this->getMock('Magento\Core\Model\LocaleInterface');
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface');
+
         $this->_curLocatorMock = $this->getMock(
             'Magento\Directory\Model\Currency\DefaultLocator', array(), array(), '', false
         );
         $this->_columnMock = $this->getMock(
             'Magento\Backend\Block\Widget\Grid\Column', array('getIndex'), array(), '', false
         );
-        $this->_columnMock->expects($this->any())->method('getIndex')->will($this->returnValue('columnIndex'));
+        $this->_columnMock->expects($this->any())
+            ->method('getIndex')
+            ->will($this->returnValue('columnIndex'));
+
+        $this->_contextMock->expects($this->any())
+            ->method('getApp')
+            ->will($this->returnValue($this->_appMock));
+
+        $this->_contextMock->expects($this->any())
+            ->method('getRequest')
+            ->will($this->returnValue($this->_requestMock));
+
         $this->_row = new \Magento\Object(array('columnIndex' => '10'));
 
-        $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $this->_blockCurrency = $objectManagerHelper->getObject(
-            'Magento\Backend\Block\Widget\Grid\Column\Renderer\Currency',
-            array(
-                'locale' => $this->_localeMock,
-                'app' => $this->_appMock,
-                'currencyLocator' => $this->_curLocatorMock,
-                'urlBuilder' => $this->getMock(
-                    'Magento\Backend\Model\Url', array(), array(), '', false
-                )
-            )
+        $this->_blockCurrency = new \Magento\Backend\Block\Widget\Grid\Column\Renderer\Currency(
+            $this->_contextMock,
+            $this->_storeManagerMock,
+            $this->_localeMock,
+            $this->_curLocatorMock
         );
+
         $this->_blockCurrency->setColumn($this->_columnMock);
     }
 
@@ -94,9 +119,15 @@ class CurrencyTest extends \PHPUnit_Framework_TestCase
         unset($this->_curLocatorMock);
         unset($this->_columnMock);
         unset($this->_row);
+        unset($this->_storeManagerMock);
+        unset($this->_requestMock);
+        unset($this->_contextMock);
         unset($this->_blockCurrency);
     }
 
+    /**
+     * @covers \Magento\Backend\Block\Widget\Grid\Column\Renderer\Currency::render
+     */
     public function testRenderWithDefaultCurrency()
     {
         $currencyMock = $this->getMock('Magento\Directory\Model\Currency', array(), array(), '', false);
@@ -106,11 +137,14 @@ class CurrencyTest extends \PHPUnit_Framework_TestCase
         $storeMock = $this->getMock('Magento\Core\Model\Store', array(), array(), '', false);
         $storeMock->expects($this->once())->method('getBaseCurrency')->will($this->returnValue($currencyMock));
 
-        $this->_appMock->expects($this->once())->method('getStore')->will($this->returnValue($storeMock));
+        $this->_storeManagerMock->expects($this->once())
+            ->method('getStore')
+            ->will($this->returnValue($storeMock));
 
-        $this->_curLocatorMock->expects($this->any())->method('getDefaultCurrency')->will($this->returnValue(
-            'defaultCurrency'
-        ));
+        $this->_curLocatorMock->expects($this->any())
+            ->method('getDefaultCurrency')
+            ->with($this->_requestMock)
+            ->will($this->returnValue('defaultCurrency'));
 
         $currLocaleMock = $this->getMock('Zend_Currency', array(), array(), '', false);
         $currLocaleMock->expects($this->once())->method('toCurrency')->with(15.0000)->will($this->returnValue('15USD'));
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php
index 2d9c55bff77..a48df45bf62 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php
@@ -96,9 +96,7 @@ class MassactionTest extends \PHPUnit_Framework_TestCase
             ->with('test_grid')
             ->will($this->returnValue($this->_gridMock));
 
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array('getParam'), array(), '',
-            false
-        );
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
 
         $this->_urlModelMock = $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false);
 
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/SerializerTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/SerializerTest.php
index 54082e983c4..63708a65fce 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/SerializerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/SerializerTest.php
@@ -29,13 +29,13 @@ namespace Magento\Backend\Block\Widget\Grid;
 class SerializerTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layoutMock;
 
     protected function setUp()
     {
-        $this->_layoutMock = $this->getMock('Magento\Core\Model\Layout', array(), array(), '', false);
+        $this->_layoutMock = $this->getMockBuilder('Magento\View\LayoutInterface')->getMockForAbstractClass();
     }
 
     public function testPrepareLayout()
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/GridTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/GridTest.php
index e2d9debd55c..8b35e0d36c5 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/GridTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/GridTest.php
@@ -51,33 +51,38 @@ class GridTest extends \PHPUnit_Framework_TestCase
     public function testAddGetClearRss($isUseStoreInUrl, $setStoreCount)
     {
         $helperMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
+
         $urlMock = $this->getMock('Magento\Core\Model\Url', array(), array(), '', false);
-        $urlMock->expects($this->at($setStoreCount))->method('setStore');
-        $urlMock->expects($this->any())->method('getUrl')->will($this->returnValue('some_url'));
+        $urlMock->expects($this->at($setStoreCount))
+            ->method('setStore');
+        $urlMock->expects($this->any())
+            ->method('getUrl')
+            ->will($this->returnValue('some_url'));
 
         $storeMock = $this->getMock('Magento\Core\Model\Store', array(), array(), '', false);
         $storeMock->expects($this->any())
             ->method('isUseStoreInUrl')
             ->will($this->returnValue($isUseStoreInUrl));
-        $storeManager = $this->getMock(
-            'Magento\Core\Model\StoreManager', array('getDefaultStoreView', 'getStore'), array(), '', false
-        );
-        $storeManager->expects($this->any())
+
+        $storeManagerMock = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
+
+        $appMock = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
+        $appMock->expects($this->any())
             ->method('getStore')
             ->will($this->returnValue($storeMock));
-        $storeManager->expects($this->any())
+        $appMock->expects($this->any())
             ->method('getDefaultStoreView')
             ->will($this->returnValue($storeMock));
 
-        /** @var $block \Magento\Backend\Block\Widget\Grid */
-        $block = $this->_objectManager->getObject(
-            'Magento\Backend\Block\Widget\Grid',
-            array(
-                'storeManager' => $storeManager,
-                'urlModel' => $urlMock,
-                'coreData' => $helperMock,
-            )
-        );
+        $contextMock = $this->getMock('\Magento\Backend\Block\Template\Context', array(), array(), '', false);
+        $contextMock->expects($this->any())
+            ->method('getStoreManager')
+            ->will($this->returnValue($storeManagerMock));
+        $contextMock->expects($this->any())
+            ->method('getApp')
+            ->will($this->returnValue($appMock));
+
+        $block = new \Magento\Backend\Block\Widget\Grid($helperMock, $contextMock, $storeManagerMock, $urlMock);
 
         $this->assertFalse($block->getRssLists());
 
@@ -100,6 +105,6 @@ class GridTest extends \PHPUnit_Framework_TestCase
          return array(
             array(true, 1),
             array(false, 0),
-        );
+         );
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Controller/Adminhtml/System/Config/SaveTest.php b/dev/tests/unit/testsuite/Magento/Backend/Controller/Adminhtml/System/Config/SaveTest.php
index d80ffefc2bb..c53d734e842 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Controller/Adminhtml/System/Config/SaveTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Controller/Adminhtml/System/Config/SaveTest.php
@@ -69,11 +69,15 @@ class SaveTest extends \PHPUnit_Framework_TestCase
      */
     protected $_cacheMock;
 
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_responseMock;
+
     protected function setUp()
     {
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false,
-            false);
-        $responseMock = $this->getMock('Magento\Core\Controller\Response\Http', array(), array(), '', false, false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false, false);
+        $this->_responseMock = $this->getMock('Magento\App\Response\Http', array(), array(), '', false, false);
 
         $configStructureMock = $this->getMock('Magento\Backend\Model\Config\Structure',
             array(), array(), '', false, false
@@ -81,7 +85,7 @@ class SaveTest extends \PHPUnit_Framework_TestCase
         $this->_configFactoryMock = $this->getMock('Magento\Backend\Model\Config\Factory',
             array(), array(), '', false, false
         );
-        $this->_eventManagerMock = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false,
+        $this->_eventManagerMock = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false,
             false);
 
         $helperMock = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false, false);
@@ -104,12 +108,12 @@ class SaveTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($this->_sectionMock));
 
         $helperMock->expects($this->any())->method('getUrl')->will($this->returnArgument(0));
-        $responseMock->expects($this->once())->method('setRedirect')->with('*/system_config/edit');
+        $this->_responseMock->expects($this->once())->method('setRedirect')->with('*/system_config/edit');
 
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $arguments = array(
             'request' => $this->_requestMock,
-            'response' => $responseMock,
+            'response' => $this->_responseMock,
             'session' => $this->_sessionMock,
             'helper' => $helperMock,
             'eventManager' => $this->_eventManagerMock,
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Helper/DataTest.php b/dev/tests/unit/testsuite/Magento/Backend/Helper/DataTest.php
index 4090b7091b8..ea1b48b51ef 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Helper/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Helper/DataTest.php
@@ -44,83 +44,36 @@ class DataTest extends \PHPUnit_Framework_TestCase
      */
     protected $_primaryConfigMock;
 
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_frontResolverMock;
+
     protected function setUp()
     {
         $this->_configMock = $this->getMock('Magento\Core\Model\Config', array(), array(), '', false, false);
         $this->_primaryConfigMock =
             $this->getMock('Magento\Core\Model\Config\Primary', array(), array(), '', false, false);
-
-        $this->_helper = new \Magento\Backend\Helper\Data(
-            $this->getMock('Magento\Core\Helper\Context', array(), array(), '', false, false),
-            $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false, false),
-            $this->_configMock,
-            $this->_primaryConfigMock,
-            $this->getMock('Magento\Core\Model\RouterList', array(), array(), '', false),
-            $this->getMock('Magento\Core\Model\App', array(), array(), '', false),
-            $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false),
-            $this->getMock('Magento\Backend\Model\Auth', array(), array(), '', false),
-            'backend',
-            'custom_backend'
-        );
-    }
-
-    public function testGetAreaFrontNameReturnsDefaultValueWhenCustomNotSet()
-    {
+        $this->_frontResolverMock
+            = $this->getMock('\Magento\Backend\App\Area\FrontNameResolver', array(), array(), '', false);
         $this->_helper = new \Magento\Backend\Helper\Data(
             $this->getMock('Magento\Core\Helper\Context', array(), array(), '', false, false),
             $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false, false),
-            $this->_configMock,
             $this->_primaryConfigMock,
-            $this->getMock('Magento\Core\Model\RouterList', array(), array(), '', false),
+            $this->getMock('Magento\App\RouterList', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\App', array(), array(), '', false),
-            $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false),
-            $this->getMock('Magento\Backend\Model\Auth', array(), array(), '', false),
-            'backend',
-            ''
+            $this->getMock('\Magento\Backend\Model\Url', array(), array(), '', false),
+            $this->getMock('\Magento\Backend\Model\Auth', array(), array(), '', false),
+            $this->_frontResolverMock
         );
-
-        $this->_configMock->expects($this->once())->method('getValue')
-            ->with(\Magento\Backend\Helper\Data::XML_PATH_USE_CUSTOM_ADMIN_PATH, 'default')
-            ->will($this->returnValue(false));
-
-        $this->assertEquals('backend', $this->_helper->getAreaFrontName());
     }
 
     public function testGetAreaFrontNameLocalConfigCustomFrontName()
     {
-        $this->_configMock->expects($this->once())->method('getValue')
-            ->with(\Magento\Backend\Helper\Data::XML_PATH_USE_CUSTOM_ADMIN_PATH, 'default')
-            ->will($this->returnValue(false));
+        $this->_frontResolverMock->expects($this->once())
+            ->method('getFrontName')
+            ->will($this->returnValue('custom_backend'));
 
         $this->assertEquals('custom_backend', $this->_helper->getAreaFrontName());
     }
-
-    public function testGetAreaFrontNameAdminConfigCustomFrontName()
-    {
-        $this->_configMock->expects($this->at(0))->method('getValue')
-            ->with(\Magento\Backend\Helper\Data::XML_PATH_USE_CUSTOM_ADMIN_PATH, 'default')
-            ->will($this->returnValue(true));
-
-        $this->_configMock->expects($this->at(1))->method('getValue')
-            ->with(\Magento\Backend\Helper\Data::XML_PATH_CUSTOM_ADMIN_PATH, 'default')
-            ->will($this->returnValue('control'));
-
-        $this->assertEquals('control', $this->_helper->getAreaFrontName());
-    }
-
-    public function testClearAreaFrontName()
-    {
-        $this->_configMock->expects($this->exactly(2))->method('getValue');
-
-        $this->_helper->getAreaFrontName();
-        $this->_helper->clearAreaFrontName();
-        $this->_helper->getAreaFrontName();
-    }
-
-    public function testGetAreaFrontNameReturnsValueFromCache()
-    {
-        $this->_configMock->expects($this->once())->method('getValue');
-        $this->_helper->getAreaFrontName();
-        $this->_helper->getAreaFrontName();
-    }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/AuthTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/AuthTest.php
new file mode 100644
index 00000000000..8869c2b38db
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/AuthTest.php
@@ -0,0 +1,86 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Backend\Model;
+class AuthTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var Magento\Backend\Model\Auth
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_eventManagerMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_credentialStorage;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_modelFactoryMock;
+
+    protected function setUp()
+    {
+        $this->_eventManagerMock = $this->getMock('\Magento\Event\ManagerInterface');
+        $this->_credentialStorage = $this->getMock('\Magento\Backend\Model\Auth\Credential\StorageInterface');
+        $this->_modelFactoryMock = $this->getMock('\Magento\Core\Model\Factory', array(), array(), '', false);
+        $this->_model = new \Magento\Backend\Model\Auth(
+            $this->_eventManagerMock,
+            $this->getMock('\Magento\Backend\Helper\Data', array(), array(), '', false),
+            $this->_authStorageMock = $this->getMock('\Magento\Backend\Model\Auth\StorageInterface'),
+            $this->_credentialStorage,
+            $this->_coreConfigMock = $this->getMock('\Magento\Core\Model\Config', array(), array(), '', false),
+            $this->_modelFactoryMock
+        );
+    }
+
+    /**
+     * @expectedException \Magento\Backend\Model\Auth\Exception
+     * @expectedExceptionMessage Please correct the user name or password.
+     */
+    public function testLoginFailed()
+    {
+        $this->_modelFactoryMock
+            ->expects($this->once())
+            ->method('create')
+            ->with('Magento\Backend\Model\Auth\Credential\StorageInterface')
+            ->will($this->returnValue($this->_credentialStorage));
+        $exceptionMock = new \Magento\Core\Exception;
+        $this->_credentialStorage
+            ->expects($this->once())
+            ->method('login')
+            ->with('username', 'password')
+            ->will($this->throwException($exceptionMock));
+        $this->_credentialStorage->expects($this->never())->method('getId');
+        $this->_eventManagerMock
+            ->expects($this->once())
+            ->method('dispatch')
+        ->with('backend_auth_user_login_failed');
+        $this->_model->login('username', 'password');
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/BaseurlTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/BaseurlTest.php
index af644f9388b..f8a5fa53762 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/BaseurlTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/BaseurlTest.php
@@ -27,8 +27,8 @@ class BaseurlTest extends \PHPUnit_Framework_TestCase
 {
     public function testSaveMergedJsCssMustBeCleaned()
     {
-        $eventDispatcher = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
-        $appState = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $eventDispatcher = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
+        $appState = $this->getMock('Magento\App\State', array(), array(), '', false);
         $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
         $cacheManager = $this->getMock('Magento\Core\Model\CacheInterface');
         $logger = $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/EncryptedTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/EncryptedTest.php
index 52424a4e5b5..986df699b34 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/EncryptedTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/EncryptedTest.php
@@ -41,7 +41,7 @@ class EncryptedTest extends \PHPUnit_Framework_TestCase
     {
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
 
-        $eventDispatcherMock = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventDispatcherMock = $this->getMock('Magento\Event\Manager', array(), array(), '', false);
         $contextMock = $this->getMock('Magento\Core\Model\Context', array(), array(), '', false);
         $contextMock->expects($this->any())
             ->method('getEventDispatcher')
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/SecureTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/SecureTest.php
index 749fb3aaf98..72c21528ce3 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/SecureTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/SecureTest.php
@@ -27,8 +27,8 @@ class SecureTest extends \PHPUnit_Framework_TestCase
 {
     public function testSaveMergedJsCssMustBeCleaned()
     {
-        $eventDispatcher = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
-        $appState = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $eventDispatcher = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
+        $appState = $this->getMock('Magento\App\State', array(), array(), '', false);
         $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
         $cacheManager = $this->getMock('Magento\Core\Model\CacheInterface');
         $logger = $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/ScopeDefinerTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/ScopeDefinerTest.php
index eb54262a976..77679aaabae 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/ScopeDefinerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/ScopeDefinerTest.php
@@ -41,7 +41,7 @@ class ScopeDefinerTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
         $this->_model = new \Magento\Backend\Model\Config\ScopeDefiner($this->_requestMock);
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Structure/Element/FieldTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Structure/Element/FieldTest.php
index 26356a12c32..02680041877 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Structure/Element/FieldTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Structure/Element/FieldTest.php
@@ -169,7 +169,7 @@ class FieldTest extends \PHPUnit_Framework_TestCase
     public function testGetTooltipCreatesTooltipBlock()
     {
         $this->_model->setData(array('tooltip_block' => 'Magento\Core\Block\Tooltip'), 'scope');
-        $tooltipBlock = $this->getMock('Magento\Core\Block');
+        $tooltipBlock = $this->getMock('Magento\View\Element\BlockInterface');
         $tooltipBlock->expects($this->once())->method('toHtml')->will($this->returnValue('tooltip block'));
         $this->_blockFactoryMock->expects($this->once())
             ->method('createBlock')
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/ConfigTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/ConfigTest.php
index b7523054cd0..13fb1c51e46 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/ConfigTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/ConfigTest.php
@@ -76,7 +76,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_eventManagerMock = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $this->_eventManagerMock = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $this->_structureReaderMock = $this->getMock(
             'Magento\Backend\Model\Config\Structure\Reader', array(), array(), '', false
         );
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ConfigTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ConfigTest.php
index 0c24149edb7..9e965e1495a 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ConfigTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ConfigTest.php
@@ -89,7 +89,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
         $this->_configReaderMock = $this->getMock('Magento\Backend\Model\Menu\Config\Reader', array(), array(),
             '', false);
 
-        $this->_eventManagerMock = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '',
+        $this->_eventManagerMock = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '',
             false, false);
 
         $this->_logger = $this->getMock(
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ItemTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ItemTest.php
index 4cf046dacc9..902dd9c5682 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ItemTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ItemTest.php
@@ -93,7 +93,7 @@ class ItemTest extends \PHPUnit_Framework_TestCase
         $this->_validatorMock = $this->getMock('Magento\Backend\Model\Menu\Item\Validator');
         $this->_validatorMock->expects($this->any())
             ->method('validate');
-        $this->_moduleListMock = $this->getMock('Magento\Core\Model\ModuleListInterface');
+        $this->_moduleListMock = $this->getMock('Magento\App\ModuleListInterface');
 
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $this->_model = $helper->getObject('Magento\Backend\Model\Menu\Item', array(
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Router/NoRouteHandlerTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Router/NoRouteHandlerTest.php
index 5aeba870617..f13e8035a48 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Router/NoRouteHandlerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Router/NoRouteHandlerTest.php
@@ -26,28 +26,31 @@ namespace Magento\Backend\Model\Router;
 class NoRouteHandlerTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Backend\Helper\Data
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_helperMock;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_requestMock;
 
     /**
-     * @var \Magento\Backend\Model\Router\NoRouteHandler
+     * @var \Magento\Backend\App\Router\NoRouteHandler
      */
     protected $_model;
 
     protected function setUp()
     {
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $this->_helperMock = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false);
         $this->_helperMock->expects($this->any())->method('getAreaFrontName')->will($this->returnValue('backend'));
-        $this->_model = new \Magento\Backend\Model\Router\NoRouteHandler($this->_helperMock);
+        $this->_model = new \Magento\Backend\App\Router\NoRouteHandler($this->_helperMock);
     }
 
+    /**
+     * @covers Magento\Backend\App\Router\NoRouteHandler::process
+     */
     public function testProcessWithBackendAreaFrontName()
     {
         $this->_requestMock
@@ -76,6 +79,9 @@ class NoRouteHandlerTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals(true, $this->_model->process($this->_requestMock));
     }
 
+    /**
+     * @covers Magento\Backend\App\Router\NoRouteHandler::process
+     */
     public function testProcessWithoutAreaFrontName()
     {
         $this->_requestMock
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/UrlTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/UrlTest.php
index b5cba448441..d7d8004226b 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/UrlTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/UrlTest.php
@@ -37,41 +37,41 @@ class UrlTest extends \PHPUnit_Framework_TestCase
      */
     protected  $_model;
 
+    protected $_areaFrontName = 'backendArea';
+
     /**
      * Mock menu model
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_menuMock;
 
-    protected $_areaFrontName = 'backendArea';
-
     /**
-     * @var \Magento\Core\Model\SessionProxy|\PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_coreSessionMock;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_storeConfigMock;
 
     /**
-     * @var \Magento\Backend\Model\Menu\Config
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_menuConfigMock;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_backendHelperMock;
 
     /**
-     * @var \Magento\Core\Helper\Data|\PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_coreDataMock;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http|\PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_requestMock;
 
@@ -129,7 +129,7 @@ class UrlTest extends \PHPUnit_Framework_TestCase
             'authSession'     => $this->_authSessionMock
         ));
 
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $this->_model->setRequest($this->_requestMock);
     }
 
@@ -294,17 +294,12 @@ class UrlTest extends \PHPUnit_Framework_TestCase
 
         $keyFromParams = $this->_model->getSecretKey($routeName, $controllerName, $actionName);
 
-        $requestMock = $this->getMock('Magento\Core\Controller\Request\Http',
-            array('getRouteName', 'getControllerName', 'getActionName', 'getBeforeForwardInfo'),
-            array(),
-            '',
-            false
-        );
-        $requestMock->expects($this->exactly(3))->method('getBeforeForwardInfo')->will($this->returnValue(null));
-        $requestMock->expects($this->once())->method('getRouteName')->will($this->returnValue($routeName));
-        $requestMock->expects($this->once())->method('getControllerName')->will($this->returnValue($controllerName));
-        $requestMock->expects($this->once())->method('getActionName')->will($this->returnValue($actionName));
-        $this->_model->setRequest($requestMock);
+        $this->_requestMock->expects($this->exactly(3))->method('getBeforeForwardInfo')->will($this->returnValue(null));
+        $this->_requestMock->expects($this->once())->method('getRouteName')->will($this->returnValue($routeName));
+        $this->_requestMock
+            ->expects($this->once())->method('getControllerName')->will($this->returnValue($controllerName));
+        $this->_requestMock->expects($this->once())->method('getActionName')->will($this->returnValue($actionName));
+        $this->_model->setRequest($this->_requestMock);
 
         $keyFromRequest = $this->_model->getSecretKey();
         $this->assertEquals($keyFromParams, $keyFromRequest);
@@ -321,44 +316,37 @@ class UrlTest extends \PHPUnit_Framework_TestCase
 
         $keyFromParams = $this->_model->getSecretKey($routeName, $controllerName, $actionName);
 
-        $requestMock = $this->getMock('Magento\Core\Controller\Request\Http',
-            array('getBeforeForwardInfo'),
-            array(),
-            '',
-            false
-        );
-
-        $requestMock->expects($this->at(0))
+        $this->_requestMock->expects($this->at(0))
             ->method('getBeforeForwardInfo')
             ->with('route_name')
             ->will($this->returnValue('adminhtml'));
 
-        $requestMock->expects($this->at(1))
+        $this->_requestMock->expects($this->at(1))
             ->method('getBeforeForwardInfo')
             ->with('route_name')
             ->will($this->returnValue('adminhtml'));
 
-        $requestMock->expects($this->at(2))
+        $this->_requestMock->expects($this->at(2))
             ->method('getBeforeForwardInfo')
             ->with('controller_name')
             ->will($this->returnValue('catalog'));
 
-        $requestMock->expects($this->at(3))
+        $this->_requestMock->expects($this->at(3))
             ->method('getBeforeForwardInfo')
             ->with('controller_name')
             ->will($this->returnValue('catalog'));
 
-        $requestMock->expects($this->at(4))
+        $this->_requestMock->expects($this->at(4))
             ->method('getBeforeForwardInfo')
             ->with('action_name')
             ->will($this->returnValue('index'));
 
-        $requestMock->expects($this->at(5))
+        $this->_requestMock->expects($this->at(5))
             ->method('getBeforeForwardInfo')
             ->with('action_name')
             ->will($this->returnValue('index'));
 
-        $this->_model->setRequest($requestMock);
+        $this->_model->setRequest($this->_requestMock);
         $keyFromRequest = $this->_model->getSecretKey();
         $this->assertEquals($keyFromParams, $keyFromRequest);
     }
diff --git a/dev/tests/unit/testsuite/Magento/Backup/MediaTest.php b/dev/tests/unit/testsuite/Magento/Backup/MediaTest.php
index 311c7cfb4aa..6930943cfc1 100644
--- a/dev/tests/unit/testsuite/Magento/Backup/MediaTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backup/MediaTest.php
@@ -30,7 +30,7 @@ namespace Magento\Backup;
 class MediaTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirMock;
 
@@ -41,7 +41,7 @@ class MediaTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_dirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirMock = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_backupFactoryMock = $this->getMock('Magento\Backup\Factory', array(), array(), '', false);
     }
     /**
diff --git a/dev/tests/unit/testsuite/Magento/Backup/NomediaTest.php b/dev/tests/unit/testsuite/Magento/Backup/NomediaTest.php
index a4cdfd888d9..68eec9fd048 100644
--- a/dev/tests/unit/testsuite/Magento/Backup/NomediaTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backup/NomediaTest.php
@@ -31,7 +31,7 @@ class NomediaTest extends \PHPUnit_Framework_TestCase
 {
     public function testCreate()
     {
-        $dir = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $dir = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $backupFactory = $this->getMock('Magento\Backup\Factory', array(), array(), '', false);
         $snapshot = $this->getMock('Magento\Backup\Snapshot', array('create'), array($dir, $backupFactory));
         $snapshot->expects($this->any())
diff --git a/dev/tests/unit/testsuite/Magento/Backup/SnapshotTest.php b/dev/tests/unit/testsuite/Magento/Backup/SnapshotTest.php
index b7a2074e93f..91c711777eb 100644
--- a/dev/tests/unit/testsuite/Magento/Backup/SnapshotTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backup/SnapshotTest.php
@@ -31,7 +31,7 @@ class SnapshotTest extends \PHPUnit_Framework_TestCase
 {
     public function testGetDbBackupFilename()
     {
-        $dir = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $dir = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $backupFactory = $this->getMock('Magento\Backup\Factory', array(), array(), '', false);
         $manager = $this->getMock('Magento\Backup\Snapshot', array('getBackupFilename'), array($dir, $backupFactory));
 
diff --git a/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php b/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php
index 99916718b64..9f33456ef03 100644
--- a/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php
@@ -36,7 +36,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_dirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false, false);
+        $this->_dirMock = $this->getMock('Magento\App\Dir', array(), array(), '', false, false);
     }
 
     protected function _getHelper($store, $config, $factory)
@@ -121,7 +121,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     {
         $this->_dirMock->expects($this->once())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::LIB)
+            ->with(\Magento\App\Dir::LIB)
             ->will($this->returnValue(TESTS_TEMP_DIR . '/lib'));
 
         $factoryMock = $this->getMock('Magento\Captcha\Model\CaptchaFactory', array(), array(), '', false);
@@ -144,7 +144,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
         $factoryMock = $this->getMock('Magento\Captcha\Model\CaptchaFactory', array(), array(), '', false);
         $this->_dirMock->expects($this->once())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::MEDIA)
+            ->with(\Magento\App\Dir::MEDIA)
             ->will($this->returnValue(TESTS_TEMP_DIR . '/media'));
 
         $object = $this->_getHelper($this->_getStoreStub(), $this->_getConfigStub(), $factoryMock);
diff --git a/dev/tests/unit/testsuite/Magento/Captcha/Model/ObserverTest.php b/dev/tests/unit/testsuite/Magento/Captcha/Model/ObserverTest.php
index 48e646886e9..1b27b4f8f68 100644
--- a/dev/tests/unit/testsuite/Magento/Captcha/Model/ObserverTest.php
+++ b/dev/tests/unit/testsuite/Magento/Captcha/Model/ObserverTest.php
@@ -113,7 +113,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         $captchaValue = 'some-value';
 
         $controller = $this->getMock('Magento\Core\Controller\Varien\Action', array(), array(), '', false);
-        $request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $request->expects($this->any())
             ->method('getPost')
             ->with(\Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE, null)
@@ -151,8 +151,8 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($redirectUrl));
 
         $controller = $this->getMock('Magento\Core\Controller\Varien\Action', array(), array(), '', false);
-        $request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
-        $response = $this->getMock('Magento\Core\Controller\Response\Http', array(), array(), '', false);
+        $request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $response = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
         $request->expects($this->any())->method('getPost')->with(\Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE,
             null)
             ->will($this->returnValue(array(
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Model/ObserverTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Model/ObserverTest.php
index f1ecdbacc4a..0e9f2e1bdbd 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Model/ObserverTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Model/ObserverTest.php
@@ -77,7 +77,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             'flatResourceFactory' => $catFlatFactoryMock,
             'productResourceFactory' => $productFactoryMock,
         ));
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
     }
 
     public function testTransitionProductTypeSimple()
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/MediaTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/MediaTest.php
index d1d54394cd8..2774cee7ce0 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/MediaTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/MediaTest.php
@@ -42,7 +42,7 @@ class MediaTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_objectHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
 
         $fileStorageDb = $this->getMock('Magento\Core\Helper\File\Storage\Database', array(), array(), '', false);
         $coreData = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
@@ -53,7 +53,7 @@ class MediaTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue('table'));
 
         $mediaConfig = $this->getMock('Magento\Catalog\Model\Product\Media\Config', array(), array(), '', false);
-        $dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $filesystem = $this->getMockBuilder('Magento\Filesystem')->disableOriginalConstructor()->getMock();
         $this->_model = $this->_objectHelper->getObject('Magento\Catalog\Model\Product\Attribute\Backend\Media', array(
             'eventManager' => $eventManager,
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/ConfigurableTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/ConfigurableTest.php
index c3e2fcb965e..a7022f10cd9 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/ConfigurableTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/ConfigurableTest.php
@@ -47,7 +47,7 @@ class ConfigurableTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_objectHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $coreDataMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
         $fileStorageDbMock = $this->getMock('Magento\Core\Helper\File\Storage\Database', array(), array(), '', false);
         $filesystem = $this->getMockBuilder('Magento\Filesystem')->disableOriginalConstructor()->getMock();
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/GroupedTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/GroupedTest.php
index e297728176b..4e93dbdc2f4 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/GroupedTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/GroupedTest.php
@@ -37,7 +37,7 @@ class GroupedTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $coreDataMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
         $fileStorageDbMock = $this->getMock('Magento\Core\Helper\File\Storage\Database', array(), array(), '', false);
         $filesystem = $this->getMockBuilder('Magento\Filesystem')->disableOriginalConstructor()->getMock();
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/SimpleTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/SimpleTest.php
index 4516c756af9..a90a1eda776 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/SimpleTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/SimpleTest.php
@@ -37,7 +37,7 @@ class SimpleTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $coreDataMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
         $fileStorageDbMock = $this->getMock('Magento\Core\Helper\File\Storage\Database', array(), array(), '', false);
         $filesystem = $this->getMockBuilder('Magento\Filesystem')->disableOriginalConstructor()->getMock();
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/VirtualTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/VirtualTest.php
index a31d703275b..6166330f6d8 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/VirtualTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/VirtualTest.php
@@ -37,7 +37,7 @@ class VirtualTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $coreDataMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
         $coreRegistryMock = $this->getMock('Magento\Core\Model\Registry', array(), array(), '', false);
         $fileStorageDbMock = $this->getMock('Magento\Core\Helper\File\Storage\Database', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Model/Resource/Category/TreeTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Model/Resource/Category/TreeTest.php
index aae9fa02db0..b7b02ff0d13 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Model/Resource/Category/TreeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Model/Resource/Category/TreeTest.php
@@ -65,7 +65,7 @@ class TreeTest extends \PHPUnit_Framework_TestCase
             ->with('catalog_category_entity')
             ->will($this->returnArgument(0))
         ;
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $this->_attributeConfig = $this->getMock('Magento\Catalog\Model\Attribute\Config', array(), array(), '', false);
         $this->_collectionFactory = $this->getMock(
             'Magento\Catalog\Model\Resource\Category\Collection\Factory', array(), array(), '', false
diff --git a/dev/tests/unit/testsuite/Magento/CatalogRule/Model/Rule/JobTest.php b/dev/tests/unit/testsuite/Magento/CatalogRule/Model/Rule/JobTest.php
index 8026bbcff62..fbac4e5a60b 100644
--- a/dev/tests/unit/testsuite/Magento/CatalogRule/Model/Rule/JobTest.php
+++ b/dev/tests/unit/testsuite/Magento/CatalogRule/Model/Rule/JobTest.php
@@ -34,7 +34,7 @@ class JobTest extends \PHPUnit_Framework_TestCase
     {
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
 
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $eventManager->expects($this->once())
             ->method('dispatch')
             ->with($this->equalTo('catalogrule_apply_all'));
diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php
index e4885fda8af..44ce4d9adcf 100644
--- a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php
+++ b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php
@@ -36,7 +36,7 @@ class RendererTest extends \PHPUnit_Framework_TestCase
         $configView = $this->getMock('Magento\Config\View', array('getVarValue'), array(), '', false);
         $configView->expects($this->any())->method('getVarValue')->will($this->returnValue(75));
 
-        $configManager = $this->getMock('Magento\Core\Model\View\Config', array(), array(), '', false);
+        $configManager = $this->getMock('Magento\View\ConfigInterface', array(), array(), '', false);
         $configManager->expects($this->any())->method('getViewConfig')->will($this->returnValue($configView));
 
         $product = $this->getMock('Magento\Catalog\Model\Product', array('isConfigurable'), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/LinkTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/LinkTest.php
index eece24755d8..03c415af5d4 100644
--- a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/LinkTest.php
+++ b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/LinkTest.php
@@ -40,7 +40,7 @@ class LinkTest extends \PHPUnit_Framework_TestCase
         $path = 'checkout/cart';
         $url = 'http://example.com/';
 
-        $urlBuilder = $this->getMockForAbstractClass('Magento\Core\Model\UrlInterface');
+        $urlBuilder = $this->getMockForAbstractClass('Magento\UrlInterface');
         $urlBuilder->expects($this->once())->method('getUrl')->with($path)->will($this->returnValue($url . $path));
 
         $helper = $this->getMockBuilder('Magento\Core\Helper\Data')
diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Block/LinkTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Block/LinkTest.php
index 0255664a831..606d3edbce0 100644
--- a/dev/tests/unit/testsuite/Magento/Checkout/Block/LinkTest.php
+++ b/dev/tests/unit/testsuite/Magento/Checkout/Block/LinkTest.php
@@ -40,7 +40,7 @@ class LinkTest extends \PHPUnit_Framework_TestCase
         $path = 'checkout';
         $url = 'http://example.com/';
 
-        $urlBuilder = $this->getMockForAbstractClass('Magento\Core\Model\UrlInterface');
+        $urlBuilder = $this->getMockForAbstractClass('Magento\UrlInterface');
         $urlBuilder->expects($this->once())->method('getUrl')->with($path)->will($this->returnValue($url . $path));
 
         $context = $this->_objectManagerHelper->getObject(
diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Controller/CartTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Controller/CartTest.php
index 17dccdada51..d9f04b05fc6 100644
--- a/dev/tests/unit/testsuite/Magento/Checkout/Controller/CartTest.php
+++ b/dev/tests/unit/testsuite/Magento/Checkout/Controller/CartTest.php
@@ -40,16 +40,14 @@ class CartTest extends \PHPUnit_Framework_TestCase
     public function testGoBack()
     {
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $responseMock = $this->getMock('Magento\Core\Controller\Response\Http',
-            array('setRedirect'), array(), '', false
-        );
+        $responseMock = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
         $responseMock->headersSentThrowsException = false;
         $responseMock->expects($this->once())
             ->method('setRedirect')
             ->with('http://some-url/index.php/checkout/cart/')
             ->will($this->returnSelf());
 
-        $requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $requestMock->expects($this->any())->method('getActionName')->will($this->returnValue('add'));
         $requestMock->expects($this->at(0))
             ->method('getParam')->with('return_url')->will($this->returnValue('http://malicious.com/'));
diff --git a/dev/tests/unit/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php b/dev/tests/unit/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php
index 58d2d749c55..ff50a4d4c58 100644
--- a/dev/tests/unit/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php
+++ b/dev/tests/unit/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php
@@ -59,7 +59,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
     protected $_resizeParameters;
 
     /**
-     * @var \Magento\Core\Model\Dir|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\Dir|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_dirMock;
 
@@ -108,7 +108,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
         $this->_imageHelperMock = $this->getMock('Magento\Cms\Helper\Wysiwyg\Images', array(), array(), '', false);
         $this->_resizeParameters = array('width' => 100, 'height' => 50);
 
-        $this->_dirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirMock = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_storageCollectionFactoryMock = $this->getMock(
             'Magento\Cms\Model\Wysiwyg\Images\Storage\CollectionFactory');
         $this->_storageFileFactoryMock = $this->getMock('Magento\Core\Model\File\Storage\FileFactory');
diff --git a/dev/tests/unit/testsuite/Magento/Config/Reader/FilesystemTest.php b/dev/tests/unit/testsuite/Magento/Config/Reader/FilesystemTest.php
index 805313bddf9..758bf9fe511 100644
--- a/dev/tests/unit/testsuite/Magento/Config/Reader/FilesystemTest.php
+++ b/dev/tests/unit/testsuite/Magento/Config/Reader/FilesystemTest.php
@@ -55,9 +55,7 @@ class FilesystemTest extends \PHPUnit_Framework_TestCase
         $this->_file =  __DIR__ . '/../_files/reader/config.xml';
         $this->_fileResolverMock = $this->getMock('Magento\Config\FileResolverInterface');
         $this->_converterMock = $this->getMock('Magento\Config\ConverterInterface', array(), array(), '', false);
-        $this->_schemaLocatorMock = $this->getMock(
-            'Magento\Core\Model\Module\Declaration\SchemaLocator', array(), array(), '', false
-        );
+        $this->_schemaLocatorMock = $this->getMock('Magento\Config\SchemaLocatorInterface');
         $this->_validationStateMock = $this->getMock('Magento\Config\ValidationStateInterface');
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Config/ValidationStateTest.php b/dev/tests/unit/testsuite/Magento/Config/ValidationStateTest.php
index 254ba86e68c..58782327e43 100644
--- a/dev/tests/unit/testsuite/Magento/Config/ValidationStateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Config/ValidationStateTest.php
@@ -43,15 +43,15 @@ class ValidationStateTest extends \PHPUnit_Framework_TestCase
     {
         return array(
             array(
-                \Magento\Core\Model\App\State::MODE_DEVELOPER,
+                \Magento\App\State::MODE_DEVELOPER,
                 true
             ),
             array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 false
             ),
             array(
-                \Magento\Core\Model\App\State::MODE_PRODUCTION,
+                \Magento\App\State::MODE_PRODUCTION,
                 false
             ),
         );
diff --git a/dev/tests/unit/testsuite/Magento/Core/App/Area/Request/PathInfoProcessorTest.php b/dev/tests/unit/testsuite/Magento/Core/App/Area/Request/PathInfoProcessorTest.php
new file mode 100644
index 00000000000..2aebe7588ec
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/App/Area/Request/PathInfoProcessorTest.php
@@ -0,0 +1,111 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\Area\Request;
+class PathInfoProcessorTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Core\App\Request\PathInfoProcessor
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeManagerMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    /**
+     * @var string
+     */
+    protected $_pathInfo = '/storeCode/node_one/';
+
+    protected function setUp()
+    {
+        $this->_requestMock = $this->getMock('\Magento\App\RequestInterface',
+            array('isDirectAccessFrontendName', 'getModuleName',
+                'setModuleName', 'getActionName', 'setActionName', 'getParam'
+            )
+        );
+        $this->_storeManagerMock = $this->getMock('\Magento\Core\Model\StoreManager', array(), array(), '', false);
+        $this->_model = new \Magento\Core\App\Request\PathInfoProcessor($this->_storeManagerMock);
+    }
+
+    public function testProcessIfStoreExistsAndIsNotDirectAcccessToFrontName()
+    {
+        $store = $this->getMock('\Magento\Core\Model\Store', array(), array(), '', false);
+        $this->_storeManagerMock
+            ->expects($this->once())->method('getStores')->with(true, true)
+            ->will($this->returnValue(array('storeCode' => $store)));
+        $store->expects($this->once())->method('isUseStoreInUrl')->will($this->returnValue(true));
+        $this->_requestMock
+            ->expects($this->once())->method('isDirectAccessFrontendName')
+            ->with('storeCode')->will($this->returnValue(false));
+        $this->_storeManagerMock->expects($this->once())->method('setCurrentStore')->with('storeCode');
+        $this->assertEquals('/node_one/', $this->_model->process($this->_requestMock, $this->_pathInfo));
+    }
+
+    public function testProcessIfStoreExistsAndDirectAcccessToFrontName()
+    {
+        $store = $this->getMock('\Magento\Core\Model\Store', array(), array(), '', false);
+        $this->_storeManagerMock
+            ->expects($this->once())->method('getStores')->with(true, true)
+            ->will($this->returnValue(array('storeCode' => $store)));
+        $store->expects($this->once())->method('isUseStoreInUrl')->will($this->returnValue(true));
+        $this->_requestMock
+            ->expects($this->once())->method('isDirectAccessFrontendName')
+            ->with('storeCode')->will($this->returnValue(true));
+        $this->_requestMock->expects($this->once())->method('setActionName')->with('noRoute');
+        $this->assertEquals($this->_pathInfo, $this->_model->process($this->_requestMock, $this->_pathInfo));
+    }
+
+    public function testProcessIfStoreIsEmpty()
+    {
+        $path = '/0/node_one/';
+        $store = $this->getMock('\Magento\Core\Model\Store', array(), array(), '', false);
+        $this->_storeManagerMock
+            ->expects($this->once())->method('getStores')->with(true, true)
+            ->will($this->returnValue(array('0' => $store)));
+        $store->expects($this->once())->method('isUseStoreInUrl')->will($this->returnValue(true));
+        $this->_requestMock
+            ->expects($this->once())->method('isDirectAccessFrontendName')
+            ->with('0')->will($this->returnValue(true));
+        $this->_requestMock->expects($this->never())->method('setActionName');
+        $this->assertEquals($path, $this->_model->process($this->_requestMock, $path));
+    }
+
+    public function testProcessIfStoreCodeIsNotExist()
+    {
+        $store = $this->getMock('\Magento\Core\Model\Store', array(), array(), '', false);
+        $this->_storeManagerMock
+            ->expects($this->once())->method('getStores')->with(true, true)
+            ->will($this->returnValue(array('0' => $store)));
+        $store->expects($this->never())->method('isUseStoreInUrl');
+        $this->_requestMock->expects($this->never())->method('isDirectAccessFrontendName');
+        $this->assertEquals($this->_pathInfo, $this->_model->process($this->_requestMock, $this->_pathInfo));
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/App/FrontController/Plugin/InstallTest.php b/dev/tests/unit/testsuite/Magento/Core/App/FrontController/Plugin/InstallTest.php
new file mode 100644
index 00000000000..751a223ef5a
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/App/FrontController/Plugin/InstallTest.php
@@ -0,0 +1,78 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\FrontController\Plugin;
+class InstallTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Core\App\FrontController\Plugin\Install
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_appStateMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_cacheMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_dbUpdaterMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_invocationChainMock;
+
+    protected function setUp()
+    {
+        $this->_appStateMock = $this->getMock('\Magento\App\State', array(), array(), '', false);
+        $this->_cacheMock = $this->getMock('\Magento\Cache\FrontendInterface');
+        $this->_dbUpdaterMock = $this->getMock('\Magento\App\UpdaterInterface');
+        $this->_invocationChainMock =
+            $this->getMock('\Magento\Code\Plugin\InvocationChain', array(), array(), '', false);
+        $this->_model = new \Magento\Core\App\FrontController\Plugin\Install(
+            $this->_appStateMock,
+            $this->_cacheMock,
+            $this->_dbUpdaterMock
+        );
+    }
+
+    public function testAroundDispatch()
+    {
+        $arguments = array();
+        $this->_appStateMock->expects($this->once())->method('isInstalled')->will($this->returnValue(true));
+        $this->_cacheMock
+            ->expects($this->once())->method('load')->with('data_upgrade')->will($this->returnValue(false));
+        $this->_dbUpdaterMock->expects($this->once())->method('updateScheme');
+        $this->_dbUpdaterMock->expects($this->once())->method('updateData');
+        $this->_cacheMock->expects($this->once())->method('save')->with('true', 'data_upgrade');
+        $this->_invocationChainMock->expects($this->once())->method('proceed')->with($arguments);
+        $this->_model->aroundDispatch($arguments, $this->_invocationChainMock);
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/App/FrontController/Plugin/RequestPreprocessorTest.php b/dev/tests/unit/testsuite/Magento/Core/App/FrontController/Plugin/RequestPreprocessorTest.php
new file mode 100644
index 00000000000..f3d62062b84
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/App/FrontController/Plugin/RequestPreprocessorTest.php
@@ -0,0 +1,158 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\FrontController\Plugin;
+class RequestPreprocessorTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Core\App\FrontController\Plugin\RequestPreprocessor
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_rewriteServiceMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeManagerMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_appStateMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_urlMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_backendDataMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeConfigMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_invocationChainMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeMock;
+
+    protected function setUp()
+    {
+        $this->_storeMock = $this->getMock('\Magento\Core\Model\Store', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('\Magento\App\Request\Http', array(), array(), '', false);
+        $this->_invocationChainMock
+            = $this->getMock('\Magento\Code\Plugin\InvocationChain', array(), array(), '', false);
+        $this->_rewriteServiceMock =
+            $this->getMock('\Magento\Core\App\Request\RewriteService', array(), array(), '', false);
+        $this->_storeManagerMock = $this->getMock('\Magento\Core\Model\StoreManager', array(), array(), '', false);
+        $this->_appStateMock = $this->getMock('\Magento\App\State', array(), array(), '', false);
+        $this->_urlMock = $this->getMock('\Magento\Core\Model\Url', array(), array(), '', false);
+        $this->_backendDataMock = $this->getMock('\Magento\Backend\Helper\Data', array(), array(), '', false);
+        $this->_storeConfigMock = $this->getMock('\Magento\Core\Model\Store\Config', array(), array(), '', false);;
+
+        $this->_model = new \Magento\Core\App\FrontController\Plugin\RequestPreprocessor(
+            $this->_rewriteServiceMock,
+            $this->_storeManagerMock,
+            $this->_appStateMock,
+            $this->_urlMock,
+            $this->_backendDataMock,
+            $this->_storeConfigMock,
+            $this->getMock('\Magento\App\ResponseFactory', array(), array(), '', false)
+        );
+    }
+
+    public function testAroundDispatchIfNotInstalled()
+    {
+        $this->_appStateMock->expects($this->once())->method('isInstalled')->will($this->returnValue(false));
+        $this->_requestMock->expects($this->once())->method('setDispatched')->with(false);
+        $this->_storeConfigMock->expects($this->never())->method('getConfig');
+        $this->_rewriteServiceMock->expects($this->once())->method('applyRewrites')->with($this->_requestMock);
+        $this->_invocationChainMock->expects($this->once())->method('proceed')->with(array($this->_requestMock));
+        $this->_model->aroundDispatch(array($this->_requestMock), $this->_invocationChainMock);
+    }
+
+    public function testAroundDispatchIfInstalledAndRedirectCodeNotExist()
+    {
+        $this->_appStateMock->expects($this->once())->method('isInstalled')->will($this->returnValue(true));
+        $this->_requestMock->expects($this->once())->method('setDispatched')->with(false);
+        $this->_storeConfigMock->expects($this->once())->method('getConfig')->with('web/url/redirect_to_base');
+        $this->_rewriteServiceMock->expects($this->once())->method('applyRewrites')->with($this->_requestMock);
+        $this->_invocationChainMock->expects($this->once())->method('proceed')->with(array($this->_requestMock));
+        $this->_requestMock->expects($this->never())->method('getPathInfo');
+        $this->_model->aroundDispatch(array($this->_requestMock), $this->_invocationChainMock);
+    }
+
+    public function testAroundDispatchIfInstalledAndRedirectCodeExist()
+    {
+        $this->_appStateMock->expects($this->once())->method('isInstalled')->will($this->returnValue(true));
+        $this->_requestMock->expects($this->once())->method('setDispatched')->with(false);
+        $this->_storeConfigMock
+            ->expects($this->once())->method('getConfig')
+            ->with('web/url/redirect_to_base')->will($this->returnValue(302));
+        $this->_requestMock->expects($this->once())->method('getPathInfo')->will($this->returnValue('node/'));
+        $this->_backendDataMock->expects($this->once())->method('getAreaFrontName')->will($this->returnValue('node'));
+        $this->_storeManagerMock->expects($this->never())->method('getStore');
+        $this->_rewriteServiceMock->expects($this->once())->method('applyRewrites')->with($this->_requestMock);
+        $this->_invocationChainMock->expects($this->once())->method('proceed')->with(array($this->_requestMock));
+
+        $this->_model->aroundDispatch(array($this->_requestMock), $this->_invocationChainMock);
+    }
+
+
+    public function testAroundDispatchIfBaseUrlNotExists()
+    {
+        $this->_appStateMock->expects($this->once())->method('isInstalled')->will($this->returnValue(true));
+        $this->_requestMock->expects($this->once())->method('setDispatched')->with(false);
+        $this->_storeConfigMock
+            ->expects($this->once())->method('getConfig')
+            ->with('web/url/redirect_to_base')->will($this->returnValue(302));
+        $this->_requestMock->expects($this->once())->method('getPathInfo')->will($this->returnValue('node/'));
+        $this->_backendDataMock->expects($this->once())->method('getAreaFrontName')->will($this->returnValue('node1'));
+        $this->_storeManagerMock
+            ->expects($this->any())->method('getStore')->will($this->returnValue($this->_storeMock));
+        $this->_storeMock->expects($this->once())->method('getBaseUrl')->will($this->returnValue(false));
+        $this->_requestMock->expects($this->never())->method('getRequestUri');
+        $this->_rewriteServiceMock->expects($this->once())->method('applyRewrites')->with($this->_requestMock);
+        $this->_invocationChainMock->expects($this->once())->method('proceed')->with(array($this->_requestMock));
+
+        $this->_model->aroundDispatch(array($this->_requestMock), $this->_invocationChainMock);
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/App/Request/RewriteServiceTest.php b/dev/tests/unit/testsuite/Magento/Core/App/Request/RewriteServiceTest.php
new file mode 100644
index 00000000000..58d75bc3178
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/App/Request/RewriteServiceTest.php
@@ -0,0 +1,82 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\Request;
+class RewriteServiceTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Core\App\Request\RewriteService
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_routerListMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_rewriteFactoryMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_configMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    protected function setUp()
+    {
+        $this->_routerListMock = $this->getMock('\Magento\App\RouterList', array(), array(), '', false);
+        $this->_configMock = $this->getMock('\Magento\Core\Model\Config', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('\Magento\App\Request\Http', array(), array(), '', false);
+        $this->_rewriteFactoryMock = $this->getMock(
+            '\Magento\Core\Model\Url\RewriteFactory', array('create'), array(), '', false
+        );
+
+        $this->_model = new \Magento\Core\App\Request\RewriteService(
+            $this->_routerListMock,
+            $this->_rewriteFactoryMock,
+            $this->_configMock
+        );
+    }
+
+    public function testApplyRewritesWhenRequestIsStraight()
+    {
+        $this->_requestMock->expects($this->once())->method('isStraight')->will($this->returnValue(true));
+        $this->_rewriteFactoryMock->expects($this->never())->method('create')->will($this->returnValue('nodeName'));
+        $this->_model->applyRewrites($this->_requestMock);
+    }
+
+    public function testApplyRewritesWhenRequestIsNotStraight()
+    {
+        $this->_requestMock->expects($this->once())->method('isStraight')->will($this->returnValue(false));
+        $urlRewriteMock = $this->getMock('\Magento\Core\Model\Url\Rewrite', array(), array(), '', false);
+        $this->_rewriteFactoryMock->expects($this->once())->method('create')->will($this->returnValue($urlRewriteMock));
+        $this->_model->applyRewrites($this->_requestMock);
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/Block/AbstractBlockTest.php b/dev/tests/unit/testsuite/Magento/Core/Block/AbstractBlockTest.php
index 4501efb76c5..88c043bec55 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Block/AbstractBlockTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Block/AbstractBlockTest.php
@@ -83,7 +83,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue('one'));
         $config->expects($this->at(1))->method('getVarValue')->with($module, 'v2')->will($this->returnValue('two'));
 
-        $configManager = $this->getMock('Magento\Core\Model\View\Config', array(), array(), '', false);
+        $configManager = $this->getMock('Magento\View\ConfigInterface', array(), array(), '', false);
         $configManager->expects($this->exactly(2))->method('getViewConfig')->will($this->returnValue($config));
 
         /** @var $block \Magento\Core\Block\AbstractBlock|PHPUnit_Framework_MockObject_MockObject */
diff --git a/dev/tests/unit/testsuite/Magento/Core/Block/TemplateTest.php b/dev/tests/unit/testsuite/Magento/Core/Block/TemplateTest.php
index 9d4534f6efa..b126cc7262c 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Block/TemplateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Block/TemplateTest.php
@@ -29,79 +29,89 @@ namespace Magento\Core\Block;
 
 class TemplateTest extends \PHPUnit_Framework_TestCase
 {
-    public function testGetTemplateFile()
-    {
-        $template = 'fixture';
-        $area = 'areaFixture';
-        $params = array('module' => 'Magento_Core', 'area' => $area);
-
-        $fileSystem = $this->getMock('Magento\Core\Model\View\FileSystem', array(), array(), '', false);
-        $fileSystem->expects($this->once())->method('getFilename')->with($template, $params);
-        $arguments = array(
-            'viewFileSystem' => $fileSystem,
-            'data'           => array('template' => $template, 'area' => $area),
-        );
-        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+    /**
+     * @var \Magento\Core\Block\Template
+     */
+    protected $_block;
 
-        $block = $helper->getObject('Magento\Core\Block\Template', $arguments);
+    /**
+     * @var \Magento\Filesystem|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_filesystem;
 
-        $block->getTemplateFile();
-    }
+    /**
+     * @var \Magento\Core\Model\TemplateEngine\EngineInterface|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_templateEngine;
 
     /**
-     * @param string $filename
-     * @param string $expectedOutput
-     * @dataProvider fetchViewDataProvider
+     * @var \Magento\Core\Model\View\FileSystem|\PHPUnit_Framework_MockObject_MockObject
      */
-    public function testFetchView($filename, $expectedOutput)
+    protected $_viewFileSystem;
+
+    protected function setUp()
     {
-        $map = array(
-            array(\Magento\Core\Model\Dir::APP, __DIR__),
-            array(\Magento\Core\Model\Dir::THEMES, __DIR__ . 'design'),
+        $dirMap = array(
+            array(\Magento\App\Dir::APP, __DIR__),
+            array(\Magento\App\Dir::THEMES, __DIR__ . '/design'),
         );
-        $dirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false, false);
-        $dirMock->expects($this->any())->method('getDir')->will($this->returnValueMap($map));
-        $layout = $this->getMock('Magento\Core\Model\Layout', array('isDirectOutput'), array(), '', false);
-        $filesystem = new \Magento\Filesystem(new \Magento\Filesystem\Adapter\Local);
-        $design = $this->getMock('Magento\Core\Model\View\DesignInterface', array(), array(), '', false);
-        $translator = $this->getMock('Magento\Core\Model\Translate', array(), array(), '', false);
-
-        $objectManagerMock = $this->getMock('Magento\ObjectManager', array('get', 'create', 'configure'));
-        $objectManagerMock->expects($this->any())
+        $dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false, false);
+        $dirs->expects($this->any())->method('getDir')->will($this->returnValueMap($dirMap));
+
+        $this->_viewFileSystem = $this->getMock('\Magento\Core\Model\View\FileSystem', array(), array(), '', false);
+
+        $this->_filesystem = $this->getMock('\Magento\Filesystem', array(), array(), '', false);
+
+        $this->_templateEngine = $this->getMock('\Magento\Core\Model\TemplateEngine\EngineInterface');
+
+        $enginePool = $this->getMock('Magento\Core\Model\TemplateEngine\Pool', array(), array(), '', false);
+        $enginePool->expects($this->any())
             ->method('get')
-            ->with('Magento\Core\Model\TemplateEngine\Php')
-            ->will($this->returnValue(new \Magento\Core\Model\TemplateEngine\Php()));
-        $engineFactory = new \Magento\Core\Model\TemplateEngine\Factory($objectManagerMock);
-
-        $arguments = array(
-            'design'        => $design,
-            'layout'        => $layout,
-            'dirs'          => $dirMock,
-            'filesystem'    => $filesystem,
-            'translator'    => $translator,
-            'engineFactory' => $engineFactory,
-        );
-        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+            ->with('phtml')
+            ->will($this->returnValue($this->_templateEngine));
 
-        $block = $this->getMock(
-            'Magento\Core\Block\Template',
-            array('getShowTemplateHints'),
-            $helper->getConstructArguments('Magento\Core\Block\Template', $arguments)
+        $context = $this->getMock('\Magento\Core\Block\Template\Context', array(), array(), '', false);
+        $context->expects($this->any())->method('getEnginePool')->will($this->returnValue($enginePool));
+        $context->expects($this->any())->method('getDirs')->will($this->returnValue($dirs));
+        $context->expects($this->any())->method('getFilesystem')->will($this->returnValue($this->_filesystem));
+        $context->expects($this->any())->method('getViewFileSystem')->will($this->returnValue($this->_viewFileSystem));
+
+        $this->_block = new \Magento\Core\Block\Template(
+            $this->getMock('\Magento\Core\Helper\Data', array(), array(), '', false),
+            $context,
+            array('template' => 'template.phtml', 'area' => 'frontend', 'module_name' => 'Fixture_Module')
         );
-        $layout->expects($this->once())->method('isDirectOutput')->will($this->returnValue(false));
+    }
 
-        $this->assertSame($block, $block->assign(array('varOne' => 'value1', 'varTwo' => 'value2')));
-        $this->assertEquals($expectedOutput, $block->fetchView(__DIR__ . "/_files/{$filename}"));
+    public function testGetTemplateFile()
+    {
+        $params = array('module' => 'Fixture_Module', 'area' => 'frontend');
+        $this->_viewFileSystem->expects($this->once())->method('getFilename')->with('template.phtml', $params);
+        $this->_block->getTemplateFile();
     }
 
-    /**
-     * @return array
-     */
-    public function fetchViewDataProvider()
+    public function testFetchView()
     {
-        return array(
-            array('template_test_assign.phtml', 'value1, value2'),
-            array('invalid_file', ''),
-        );
+        $this->expectOutputString('');
+
+        $this->_filesystem
+            ->expects($this->once())
+            ->method('isPathInDirectory')
+            ->with('template.phtml', __DIR__)
+            ->will($this->returnValue(true))
+        ;
+        $this->_filesystem
+            ->expects($this->once())->method('isFile')->with('template.phtml')->will($this->returnValue(true));
+
+        $output = '<h1>Template Contents</h1>';
+        $vars = array('var1' => 'value1', 'var2' => 'value2');
+        $this->_templateEngine
+            ->expects($this->once())
+            ->method('render')
+            ->with($this->identicalTo($this->_block), 'template.phtml', $vars)
+            ->will($this->returnValue($output))
+        ;
+        $this->_block->assign($vars);
+        $this->assertEquals($output, $this->_block->fetchView('template.phtml'));
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Controller/Request/HttpTest.php b/dev/tests/unit/testsuite/Magento/Core/Controller/Request/HttpTest.php
index 65a80f22808..ea3b74f9a8c 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Request/HttpTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Controller/Request/HttpTest.php
@@ -26,15 +26,18 @@ namespace Magento\Core\Controller\Request;
 
 class HttpTest extends \PHPUnit_Framework_TestCase
 {
-    /** @var \Magento\Core\Controller\Request\Http */
+    /** @var \Magento\App\RequestInterface */
     protected $_model;
 
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_routerListMock;
+
     protected function setUp()
     {
-        $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
-        $helperMock = $this->getMock('Magento\Backend\Helper\DataProxy', array(), array(),
-            '', false);
-        $this->_model = new \Magento\Core\Controller\Request\Http($storeManager, $helperMock);
+        $this->_routerListMock = $this->getMock('\Magento\App\RouterList', array(), array(), '', false);
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
     }
 
     /**
diff --git a/dev/tests/unit/testsuite/Magento/Core/Controller/Response/HttpTest.php b/dev/tests/unit/testsuite/Magento/Core/Controller/Response/HttpTest.php
index 198f295a802..c11641f9994 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Response/HttpTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Controller/Response/HttpTest.php
@@ -26,7 +26,7 @@
  */
 
 /**
- * Test class for \Magento\Core\Controller\Response\Http
+ * Test class for \Magento\App\ResponseInterface
  */
 namespace Magento\Core\Controller\Response;
 
@@ -37,15 +37,13 @@ class HttpTest extends \PHPUnit_Framework_TestCase
      * Test for getHeader method
      *
      * @dataProvider headersDataProvider
-     * @covers \Magento\Core\Controller\Response\Http::getHeader
+     * @covers \Magento\App\ResponseInterface::getHeader
      *
      * @param string $header
      */
     public function testGetHeaderExists($header)
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
-
-        $response = new \Magento\Core\Controller\Response\Http($eventManager);
+        $response = new \Magento\App\Response\Http();
         $response->headersSentThrowsException = false;
         $response->setHeader($header['name'], $header['value'], $header['replace']);
         $this->assertEquals($header, $response->getHeader($header['name']));
@@ -77,14 +75,12 @@ class HttpTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for getHeader method. Validation for attempt to get not existing header
      *
-     * @covers \Magento\Core\Controller\Response\Http::getHeader
+     * @covers \Magento\App\ResponseInterface::getHeader
      *
      */
     public function testGetHeaderNotExists()
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
-
-        $response = new \Magento\Core\Controller\Response\Http($eventManager);
+        $response = new \Magento\App\Response\Http();
         $response->headersSentThrowsException = false;
         $response->setHeader('Name', 'value', true);
         $this->assertFalse($response->getHeader('Wrong name'));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/AbstractActionTest.php b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/AbstractActionTest.php
index 2a27e1c690f..0c7142f0a54 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/AbstractActionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/AbstractActionTest.php
@@ -33,17 +33,17 @@ namespace Magento\Core\Controller\Varien;
 class AbstractActionTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Varien\AbstractAction
+     * @var \Magento\App\Action\AbstractAction
      */
     protected $_actionAbstract;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http|\PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http|\PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_response;
 
@@ -54,17 +54,10 @@ class AbstractActionTest extends \PHPUnit_Framework_TestCase
      */
     protected function setUp()
     {
-        $helperMock = $this->getMock( 'Magento\Backend\Helper\DataProxy', array(), array(), '', false);
-        $this->_request = $this->getMock(
-            'Magento\Core\Controller\Request\Http',
-            array('getRequestedRouteName', 'getRequestedControllerName', 'getRequestedActionName'),
-            array($helperMock),
-            '',
-            false
-        );
-        $this->_response = $this->getMock('Magento\Core\Controller\Response\Http', array(), array(), '', false);
+        $this->_request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $this->_response = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
         $this->_response->headersSentThrowsException = false;
-        $this->_actionAbstract = new \Magento\Core\Controller\Varien\Action\Forward($this->_request, $this->_response);
+        $this->_actionAbstract = new \Magento\App\Action\Forward($this->_request, $this->_response);
     }
 
     /**
@@ -97,14 +90,11 @@ class AbstractActionTest extends \PHPUnit_Framework_TestCase
      */
     public function testResponseHeaders()
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
-
-        $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
-        $helperMock = $this->getMock('Magento\Backend\Helper\DataProxy', array(), array(), '', false);
-        $request = new \Magento\Core\Controller\Request\Http($storeManager, $helperMock);
-        $response = new \Magento\Core\Controller\Response\Http($eventManager);
+        $routerListMock = $this->getMock('\Magento\App\RouterList', array(), array(), '', false);
+        $request = new \Magento\App\Request\Http($routerListMock);
+        $response = new \Magento\App\Response\Http();
         $response->headersSentThrowsException = false;
-        $action = new \Magento\Core\Controller\Varien\Action\Forward($request, $response);
+        $action = new \Magento\App\Action\Forward($request, $response);
 
         $headers = array(
             array(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/FactoryTest.php b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/FactoryTest.php
index 9df177d53ad..9a2aa76dfb2 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/FactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/FactoryTest.php
@@ -47,7 +47,7 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
     /**
      * Test class instance
      *
-     * @var \Magento\Core\Controller\Varien\Action\Factory
+     * @var \Magento\App\ActionFactory
      */
     protected $_model;
 
@@ -58,7 +58,7 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
 
     public function testConstruct()
     {
-        $this->_model = new \Magento\Core\Controller\Varien\Action\Factory($this->_objectManager);
+        $this->_model = new \Magento\App\ActionFactory($this->_objectManager);
         $this->assertAttributeInstanceOf('Magento\ObjectManager', '_objectManager', $this->_model);
     }
 
@@ -69,7 +69,7 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
             ->with(self::CONTROLLER_NAME)
             ->will($this->returnValue('TestControllerInstance'));
 
-        $this->_model = new \Magento\Core\Controller\Varien\Action\Factory($this->_objectManager);
+        $this->_model = new \Magento\App\ActionFactory($this->_objectManager);
         $this->assertEquals('TestControllerInstance', $this->_model->createController(self::CONTROLLER_NAME));
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/ForwardTest.php b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/ForwardTest.php
index 721d80c1794..b16faca1071 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/ForwardTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/ForwardTest.php
@@ -33,31 +33,32 @@ namespace Magento\Core\Controller\Varien\Action;
 class ForwardTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Varien\Action\Forward
+     * @var \Magento\App\Action\Forward
      */
     protected $_object = null;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http
+     * @var \Magento\App\Response\Http
      */
     protected $_response;
 
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_routerListMock;
+
     protected function setUp()
     {
-        $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
-        $helperMock = $this->getMock('Magento\Backend\Helper\Data', array(), array(),
-            '', false);
-        $this->_request  = new \Magento\Core\Controller\Request\Http($storeManager, $helperMock);
-        $this->_response = new \Magento\Core\Controller\Response\Http(
-            $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false)
-        );
+        $this->_routerListMock = $this->getMock('\Magento\App\RouterList', array(), array(), '', false);
+        $this->_request  = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_response = new \Magento\App\Response\Http();
 
-        $this->_object = new \Magento\Core\Controller\Varien\Action\Forward($this->_request, $this->_response);
+        $this->_object = new \Magento\App\Action\Forward($this->_request, $this->_response);
     }
 
     protected function tearDown()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/RedirectTest.php b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/RedirectTest.php
index 8f4620435e4..d94b9d6a312 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/RedirectTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/RedirectTest.php
@@ -33,31 +33,32 @@ namespace Magento\Core\Controller\Varien\Action;
 class RedirectTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Varien\Action\Redirect
+     * @var \Magento\App\Action\Redirect
      */
     protected $_object = null;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http
+     * @var \Magento\App\Response\Http
      */
     protected $_response;
 
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_routerListMock;
+
     protected function setUp()
     {
-        $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
-        $helperMock = $this->getMock('Magento\Backend\Helper\Data', array(), array(),
-            '', false);
-        $this->_request  = new \Magento\Core\Controller\Request\Http($storeManager, $helperMock);
-        $this->_response = new \Magento\Core\Controller\Response\Http(
-            $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false)
-        );
+        $this->_routerListMock = $this->getMock('\Magento\App\RouterList', array(), array(), '', false);
+        $this->_request  = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_response = new \Magento\App\Response\Http();
 
-        $this->_object = new \Magento\Core\Controller\Varien\Action\Redirect($this->_request, $this->_response);
+        $this->_object = new \Magento\App\Action\Redirect($this->_request, $this->_response);
     }
 
     protected function tearDown()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Helper/CookieTest.php b/dev/tests/unit/testsuite/Magento/Core/Helper/CookieTest.php
index bbd1a949a45..08abeee40e5 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Helper/CookieTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Helper/CookieTest.php
@@ -114,13 +114,13 @@ class CookieTest extends \PHPUnit_Framework_TestCase
      */
     protected function _getCookieStub($cookieString = array())
     {
-        $cookie = $this->getMock('Magento\Core\Model\Cookie', array('get'), array(), '', false);
+        $cookieMock = $this->getMock('Magento\Core\Model\Cookie', array(), array(), '', false);
 
-        $cookie->expects($this->any())
+        $cookieMock->expects($this->any())
             ->method('get')
             ->will($this->returnValue(json_encode($cookieString)));
 
-        return $cookie;
+        return $cookieMock;
     }
 
     /**
@@ -129,13 +129,13 @@ class CookieTest extends \PHPUnit_Framework_TestCase
      */
     protected function _getWebsiteStub()
     {
-        $website = $this->getMock('Magento\Core\Model\Website', array('getId'), array(), '', false);
+        $websiteMock = $this->getMock('Magento\Core\Model\Website', array(), array(), '', false);
 
-        $website->expects($this->any())
+        $websiteMock->expects($this->any())
             ->method('getId')
             ->will($this->returnValue(1));
 
-        return $website;
+        return $websiteMock;
     }
 
     /**
diff --git a/dev/tests/unit/testsuite/Magento/Core/Helper/CssTest.php b/dev/tests/unit/testsuite/Magento/Core/Helper/CssTest.php
index 2e460f6db90..7d983d85acf 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Helper/CssTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Helper/CssTest.php
@@ -34,7 +34,7 @@ class CssTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $filesystem = new \Magento\Filesystem(new \Magento\Filesystem\Adapter\Local());
-        $dirs = new \Magento\Core\Model\Dir('/base_dir');
+        $dirs = new \Magento\App\Dir('/base_dir');
         $this->_object = new \Magento\Core\Helper\Css($filesystem, $dirs);
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Helper/HttpTest.php b/dev/tests/unit/testsuite/Magento/Core/Helper/HttpTest.php
index 1defb392f0c..282b4ee9bbd 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Helper/HttpTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Helper/HttpTest.php
@@ -51,7 +51,7 @@ class HttpTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetHttpAuthCredentials($server, $expectedLogin, $expectedPass)
     {
-        $request = $this->getMock('Zend_Controller_Request_Http', array('getServer'));
+        $request = $this->getMock('\Magento\App\Request\Http', array(), array(), '', false);
         $request->expects($this->once())->method('getServer')->will($this->returnValue($server));
         $this->assertSame(array($expectedLogin, $expectedPass), $this->_object->getHttpAuthCredentials($request));
     }
@@ -95,7 +95,7 @@ class HttpTest extends \PHPUnit_Framework_TestCase
 
     public function testFailHttpAuthentication()
     {
-        $response = new \Zend_Controller_Response_Http;
+        $response = new \Magento\App\Response\Http();
         $realm = uniqid();
         $response->headersSentThrowsException = false;
         $this->_object->failHttpAuthentication($response, $realm);
diff --git a/dev/tests/unit/testsuite/Magento/Core/Helper/ThemeTest.php b/dev/tests/unit/testsuite/Magento/Core/Helper/ThemeTest.php
index 656be1e87c5..e9a920a07df 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Helper/ThemeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Helper/ThemeTest.php
@@ -43,12 +43,16 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetSafePath($filePath, $basePath, $expectedResult)
     {
-        /** @var $dirs \Magento\Core\Model\Dir */
-        $dirs = $this->getMock('Magento\Core\Model\Dir', null, array(), '', false);
+        /** @var $dirs \Magento\App\Dir */
+        $dirs = $this->getMock('Magento\App\Dir', null, array(), '', false);
 
-        /** @var $layoutMergeFactory \Magento\Core\Model\Layout\MergeFactory */
-        $layoutMergeFactory = $this->getMock('Magento\Core\Model\Layout\MergeFactory', array('create'),
-            array(), '', false
+        /** @var $processorFactory \Magento\View\Layout\ProcessorFactory */
+        $processorFactory = $this->getMock(
+            'Magento\View\Layout\ProcessorFactory',
+            array('create'),
+            array(),
+            '',
+            false
         );
 
         /** @var $themeCollection \Magento\Core\Model\Resource\Theme\Collection */
@@ -63,7 +67,7 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
         $helper = new \Magento\Core\Helper\Theme(
             $context,
             $dirs,
-            $layoutMergeFactory,
+            $processorFactory,
             $themeCollection,
             $fileSystem
         );
@@ -489,46 +493,42 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @param string $layoutStr
-     * @return \Magento\Core\Model\Layout\MergeFactory|\PHPUnit_Framework_MockObject_MockObject
+     * @return \Magento\View\Layout\ProcessorFactory|\PHPUnit_Framework_MockObject_MockObject
      */
     protected function _getLayoutMergeFactory($layoutStr)
     {
-        /** @var $layoutMerge \Magento\Core\Model\Layout\Merge */
-        $layoutMerge = $this->getMock('Magento\Core\Model\Layout\Merge',
-            array('getFileLayoutUpdatesXml'), array(), '', false
-        );
+        /** @var $layoutProcessor \Magento\View\Layout\ProcessorInterface */
+        $layoutProcessor = $this->getMockBuilder('Magento\View\Layout\ProcessorInterface')->getMockForAbstractClass();
         $xml = '<layouts xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' . $layoutStr . '</layouts>';
         $layoutElement = simplexml_load_string($xml);
-        $layoutMerge->expects($this->any())
+        $layoutProcessor->expects($this->any())
             ->method('getFileLayoutUpdatesXml')
             ->will($this->returnValue($layoutElement));
 
-        /** @var $layoutMergeFactory \Magento\Core\Model\Layout\MergeFactory */
-        $layoutMergeFactory = $this->getMock('Magento\Core\Model\Layout\MergeFactory',
-            array('create'), array(), '', false
-        );
-        $layoutMergeFactory->expects($this->any())
+        /** @var $processorFactory \Magento\View\Layout\ProcessorFactory */
+        $processorFactory = $this->getMock('Magento\View\Layout\ProcessorFactory', array('create'), array(), '', false);
+        $processorFactory->expects($this->any())
             ->method('create')
-            ->will($this->returnValue($layoutMerge));
+            ->will($this->returnValue($layoutProcessor));
 
-        return $layoutMergeFactory;
+        return $processorFactory;
     }
 
     /**
-     * @return \Magento\Core\Model\Dir|\PHPUnit_Framework_MockObject_MockObject
+     * @return \Magento\App\Dir|\PHPUnit_Framework_MockObject_MockObject
      */
     protected function _getDirs()
     {
-        /** @var $dirs \Magento\Core\Model\Dir */
-        $dirs = $this->getMock('Magento\Core\Model\Dir', array('getDir'), array(), '', false);
+        /** @var $dirs \Magento\App\Dir */
+        $dirs = $this->getMock('Magento\App\Dir', array('getDir'), array(), '', false);
         $dirs->expects($this->any())
             ->method('getDir')
             ->will($this->returnValueMap(array(
-                array(\Magento\Core\Model\Dir::ROOT, self::ROOT),
-                array(\Magento\Core\Model\Dir::APP, self::APP),
-                array(\Magento\Core\Model\Dir::MODULES, self::MODULES),
-                array(\Magento\Core\Model\Dir::THEMES, self::THEMES),
-                array(\Magento\Core\Model\Dir::PUB_LIB, self::PUB_LIB),
+                array(\Magento\App\Dir::ROOT, self::ROOT),
+                array(\Magento\App\Dir::APP, self::APP),
+                array(\Magento\App\Dir::MODULES, self::MODULES),
+                array(\Magento\App\Dir::THEMES, self::THEMES),
+                array(\Magento\App\Dir::PUB_LIB, self::PUB_LIB),
             )));
 
         return $dirs;
@@ -573,10 +573,8 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
         $dirs = $this->_getDirs();
 
         // 5. Get layout merge model and factory
-        /** @var $layoutMergeFactory \Magento\Core\Model\Layout\MergeFactory|\PHPUnit_Framework_MockObject_MockObject */
-        $layoutMergeFactory = $this->getMock('Magento\Core\Model\Layout\MergeFactory',
-            array('create'), array(), '', false
-        );
+        /** @var $processorFactory \Magento\View\Layout\ProcessorFactory|\PHPUnit_Framework_MockObject_MockObject */
+        $processorFactory = $this->getMock('Magento\View\Layout\ProcessorFactory', array('create'), array(), '', false);
 
         /** @var $context \Magento\Core\Helper\Context */
         $context = $this->getMock('Magento\Core\Helper\Context', null, array(), '', false);
@@ -586,9 +584,11 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()->getMock();
 
         /** @var $helper \Magento\Core\Helper\Theme|\PHPUnit_Framework_MockObject_MockObject */
-        $helper = $this->getMock('Magento\Core\Helper\Theme', array('getCssFiles'), array(
-            $context, $dirs, $layoutMergeFactory, $themeCollection, $fileSystem
-        ));
+        $helper = $this->getMock(
+            'Magento\Core\Helper\Theme',
+            array('getCssFiles'),
+            array($context, $dirs, $processorFactory, $themeCollection, $fileSystem)
+        );
         $helper->expects($this->once())
             ->method('getCssFiles')
             ->will($this->returnValue($files));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/App/StateTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/App/StateTest.php
index 4c2f749d651..482e65b0fc5 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/App/StateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/App/StateTest.php
@@ -30,7 +30,7 @@ namespace Magento\Core\Model\App;
 class StateTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_model;
 
@@ -40,7 +40,7 @@ class StateTest extends \PHPUnit_Framework_TestCase
      */
     public function testConstructor($mode)
     {
-        $model = new \Magento\Core\Model\App\State(time(), $mode);
+        $model = new \Magento\App\State(time(), $mode);
         $this->assertEquals($mode, $model->getMode());
     }
 
@@ -51,23 +51,23 @@ class StateTest extends \PHPUnit_Framework_TestCase
     {
         return array(
             'default mode' => array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT
+                \Magento\App\State::MODE_DEFAULT
             ),
             'production mode' => array(
-                \Magento\Core\Model\App\State::MODE_PRODUCTION
+                \Magento\App\State::MODE_PRODUCTION
             ),
             'developer mode' => array(
-                \Magento\Core\Model\App\State::MODE_DEVELOPER
+                \Magento\App\State::MODE_DEVELOPER
             ),
         );
     }
 
     /**
-     * @expectedException \Magento\Core\Exception
+     * @expectedException Exception
      * @expectedExceptionMessage Unknown application mode: unknown mode
      */
     public function testConstructorException()
     {
-        new \Magento\Core\Model\App\State(time(), "unknown mode");
+        new \Magento\App\State(time(), "unknown mode");
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/AppTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/AppTest.php
index c3364bd50af..bbb792414c3 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/AppTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/AppTest.php
@@ -53,43 +53,48 @@ class AppTest extends \PHPUnit_Framework_TestCase
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_dbUpdaterMock;
+    protected $_storeManagerMock;
 
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_storeManagerMock;
+    protected $_eventManagerMock;
 
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_eventManagerMock;
+    protected $_appStateMock;
 
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_appStateMock;
+    protected $_configScopeMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_frontControllerMock;
 
     protected function setUp()
     {
         $this->_configMock = $this->getMock('Magento\Core\Model\Config', array(), array(), '', false, false);
-        $this->_cacheMock = $this->getMock('Magento\Core\Model\CacheInterface', array(), array(), '', false, false);
+        $this->_cacheMock = $this->getMock('Magento\Core\Model\CacheInterface');
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager', array(), array(), '', false, false);
-        $this->_dbUpdaterMock = $this->getMock('Magento\Core\Model\Db\UpdaterInterface',
-            array(), array(), '', false, false);
         $this->_storeManagerMock = $this->getMock('Magento\Core\Model\StoreManagerInterface');
-        $this->_eventManagerMock = $this->getMock('Magento\Core\Model\Event\Manager',
-            array(), array(), '', false, false);
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false, false);
+        $this->_eventManagerMock = $this->getMock('Magento\Event\ManagerInterface');
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false, false);
+        $this->_configScopeMock = $this->getMock('Magento\Config\Scope', array(), array(), '', false);
+        $this->_frontControllerMock = $this->getMock('Magento\App\FrontControllerInterface');
+
         $this->_model = new \Magento\Core\Model\App(
             $this->_configMock,
             $this->_cacheMock,
             $this->_objectManagerMock,
-            $this->_dbUpdaterMock,
             $this->_storeManagerMock,
             $this->_eventManagerMock,
             $this->_appStateMock,
-            $this->getMock('Magento\Core\Model\Config\Scope', array(), array(), '', false)
+            $this->_configScopeMock,
+            $this->_frontControllerMock
         );
     }
 
@@ -98,7 +103,6 @@ class AppTest extends \PHPUnit_Framework_TestCase
         unset($this->_configMock);
         unset($this->_cacheMock);
         unset($this->_objectManagerMock);
-        unset($this->_dbUpdaterMock);
         unset($this->_storeManagerMock);
         unset($this->_eventManagerMock);
         unset($this->_appStateMock);
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Cache/Frontend/FactoryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Cache/Frontend/FactoryTest.php
index dc1345ff649..6c4a7a40505 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Cache/Frontend/FactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Cache/Frontend/FactoryTest.php
@@ -182,10 +182,10 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue(true));
 
         $map = array(
-            array(\Magento\Core\Model\Dir::CACHE, 'CACHE_DIR'),
-            array(\Magento\Core\Model\Dir::CONFIG, 'CONFIG_DIR'),
+            array(\Magento\App\Dir::CACHE, 'CACHE_DIR'),
+            array(\Magento\App\Dir::CONFIG, 'CONFIG_DIR'),
         );
-        $dirs = $this->getMock('Magento\Core\Model\Dir', array('getDir'), array(), '', false);
+        $dirs = $this->getMock('Magento\App\Dir', array('getDir'), array(), '', false);
         $resource = $this->getMock('Magento\Core\Model\Resource', array(), array(), '', false);
         $dirs->expects($this->any())
             ->method('getDir')
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Cache/StateTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Cache/StateTest.php
index 1cb9d47e5f4..48b1146e69d 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Cache/StateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Cache/StateTest.php
@@ -132,7 +132,7 @@ class StateTest extends \PHPUnit_Framework_TestCase
             ->method('getAllOptions')
             ->will($this->returnValue($resourceTypeOptions));
 
-        $appState = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $appState = $this->getMock('Magento\App\State', array(), array(), '', false);
         $appState->expects($this->any())
             ->method('isInstalled')
             ->will($this->returnValue($appInstalled));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolver/PrimaryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolver/PrimaryTest.php
index 507fb779d0d..4363a073a3c 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolver/PrimaryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolver/PrimaryTest.php
@@ -36,10 +36,10 @@ class PrimaryTest extends \PHPUnit_Framework_TestCase
             . '_files' . DIRECTORY_SEPARATOR . 'primary'
             . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'etc';
 
-        $applicationDirsMock = $this->getMock('Magento\Core\Model\Dir', array(), array('getDir'), '', false);
+        $applicationDirsMock = $this->getMock('Magento\App\Dir', array(), array('getDir'), '', false);
         $applicationDirsMock->expects($this->any())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::CONFIG)
+            ->with(\Magento\App\Dir::CONFIG)
             ->will($this->returnValue($appConfigDir));
 
         $this->_model = new \Magento\Core\Model\Config\FileResolver\Primary($applicationDirsMock);
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolverTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolverTest.php
index 231fdc222b9..8a8ad1355aa 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolverTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolverTest.php
@@ -35,10 +35,10 @@ class FileResolverTest extends \PHPUnit_Framework_TestCase
         $appConfigDir = __DIR__ . DIRECTORY_SEPARATOR . 'FileResolver'
             . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'etc';
 
-        $applicationDirs = $this->getMock('Magento\Core\Model\Dir', array(), array('getDir'), '', false);
+        $applicationDirs = $this->getMock('Magento\App\Dir', array(), array('getDir'), '', false);
         $applicationDirs->expects($this->any())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::CONFIG)
+            ->with(\Magento\App\Dir::CONFIG)
             ->will($this->returnValue($appConfigDir));
 
         $moduleReader = $this->getMock('Magento\Core\Model\Config\Modules\Reader', array(),
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Modules/ReaderTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Modules/ReaderTest.php
index b4ff2a07a79..7b2ab85e130 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Modules/ReaderTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Modules/ReaderTest.php
@@ -59,9 +59,9 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
     {
         $this->_protFactoryMock = $this->getMock('Magento\Core\Model\Config\BaseFactory',
             array(), array(), '', false, false);
-        $this->_dirsMock = $this->getMock('Magento\Core\Model\Module\Dir', array(), array(), '', false, false);
+        $this->_dirsMock = $this->getMock('Magento\App\Module\Dir', array(), array(), '', false, false);
         $this->_baseConfigMock = $this->getMock('Magento\Core\Model\Config\Base', array(), array(), '', false, false);
-        $this->_moduleListMock = $this->getMock('Magento\Core\Model\ModuleListInterface');
+        $this->_moduleListMock = $this->getMock('Magento\App\ModuleListInterface');
 
         $this->_model = new \Magento\Core\Model\Config\Modules\Reader(
             $this->_dirsMock,
@@ -108,15 +108,10 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
 
     public function testGetModuleDir()
     {
-        $expectedResult = new \stdClass();
-        $this->_dirsMock->expects($this->once())
+        $this->_dirsMock->expects($this->any())
             ->method('getDir')
             ->with('Test_Module', 'etc')
-            ->will($this->returnValue($expectedResult));
-        $this->assertSame($expectedResult, $this->_model->getModuleDir('etc', 'Test_Module'));
-
-        // Custom value overrides the default one
-        $this->_model->setModuleDir('Test_Module', 'etc', 'app/code/Test/Module/etc');
+            ->will($this->returnValue('app/code/Test/Module/etc'));
         $this->assertEquals('app/code/Test/Module/etc', $this->_model->getModuleDir('etc', 'Test_Module'));
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/PrimaryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/PrimaryTest.php
index a8b0f84d305..a70e5482023 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/PrimaryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/PrimaryTest.php
@@ -47,10 +47,10 @@ class PrimaryTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_dirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirMock = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_dirMock->expects($this->any())->method('getDir')->will($this->returnValueMap(array(
-            array(\Magento\Core\Model\Dir::DI, '/path_to_root/var/di'),
-            array(\Magento\Core\Model\Dir::ROOT, '/path_to_root'),
+            array(\Magento\App\Dir::DI, '/path_to_root/var/di'),
+            array(\Magento\App\Dir::ROOT, '/path_to_root'),
         )));
         $this->_loaderMock = $this->getMock('Magento\Core\Model\Config\LoaderInterface');
         $that = $this;
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Processor/PlaceholderTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Processor/PlaceholderTest.php
index 39ba5300e29..f3a952039cd 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Processor/PlaceholderTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Processor/PlaceholderTest.php
@@ -37,7 +37,7 @@ class PlaceholderTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $this->_requestMock->expects($this->any())
             ->method('getDistroBaseUrl')
             ->will($this->returnValue('http://localhost/'));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/DefaultReaderTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/DefaultReaderTest.php
index a4cfce988b4..aaebb7ba632 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/DefaultReaderTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/DefaultReaderTest.php
@@ -55,7 +55,7 @@ class DefaultReaderTest extends \PHPUnit_Framework_TestCase
             '',
             false
         );
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
         $this->_appStateMock->expects($this->any())
             ->method('isInstalled')
             ->will($this->returnValue(true));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/StoreTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/StoreTest.php
index 470e0c3b884..8fb1c15b516 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/StoreTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/StoreTest.php
@@ -72,7 +72,7 @@ class StoreTest extends \PHPUnit_Framework_TestCase
             ->method('create')
             ->will($this->returnValue($this->_storeMock));
 
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
         $this->_appStateMock->expects($this->any())
             ->method('isInstalled')
             ->will($this->returnValue(true));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/WebsiteTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/WebsiteTest.php
index 2c89033c158..e2f83851798 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/WebsiteTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/WebsiteTest.php
@@ -72,7 +72,7 @@ class WebsiteTest extends \PHPUnit_Framework_TestCase
             ->method('create')
             ->will($this->returnValue($this->_websiteMock));
 
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
         $this->_appStateMock->expects($this->any())
             ->method('isInstalled')
             ->will($this->returnValue(true));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/ConfigTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/ConfigTest.php
index 0ecf5fa2436..1c410e31709 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/ConfigTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/ConfigTest.php
@@ -44,7 +44,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     protected $_objectManagerMock;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleListMock;
 
@@ -81,7 +81,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
         $configStorageMock->expects($this->any())->method('getConfiguration')->will($this->returnValue($configBase));
         $modulesReaderMock = $this->getMock('Magento\Core\Model\Config\Modules\Reader', array(), array(), '', false);
         $this->_configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
-        $this->_moduleListMock = $this->getMock('Magento\Core\Model\ModuleListInterface');
+        $this->_moduleListMock = $this->getMock('Magento\App\ModuleListInterface');
         $this->_sectionPoolMock = $this->getMock('Magento\Core\Model\Config\SectionPool', array(), array(), '', false);
 
         $this->_model = new \Magento\Core\Model\Config(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/DataService/Path/RequestTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/DataService/Path/RequestTest.php
index 8dfe6d95ba4..4dd8c8e013d 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/DataService/Path/RequestTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/DataService/Path/RequestTest.php
@@ -35,7 +35,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
 
     public function testGetChild()
     {
-        $requestMock = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $requestMock = $this->getMockBuilder('Magento\App\Request\Http')
             ->disableOriginalConstructor()
             ->getMock();
         $requestMock->expects($this->once())
@@ -47,7 +47,8 @@ class RequestTest extends \PHPUnit_Framework_TestCase
 
     public function testNotFound()
     {
-        $requestMock = $this->getMockBuilder('Magento\Core\Controller\Request\Http')->disableOriginalConstructor()
+        $requestMock = $this->getMockBuilder('Magento\App\Request\Http')
+            ->disableOriginalConstructor()
             ->getMock();
 
         $requestVisitor = new \Magento\Core\Model\DataService\Path\Request($requestMock);
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/FactoryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/FactoryTest.php
index 6c4e17066dd..e16bad41a1c 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/FactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/FactoryTest.php
@@ -38,17 +38,17 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $dirs = new \Magento\Core\Model\Dir(__DIR__, array(), array(
-            \Magento\Core\Model\Dir::THEMES => 'themes',
-            \Magento\Core\Model\Dir::MODULES => 'modules',
-            \Magento\Core\Model\Dir::PUB_LIB => 'pub_lib',
+        $dirs = new \Magento\App\Dir(__DIR__, array(), array(
+            \Magento\App\Dir::THEMES => 'themes',
+            \Magento\App\Dir::MODULES => 'modules',
+            \Magento\App\Dir::PUB_LIB => 'pub_lib',
         ));
         $this->_model = new \Magento\Core\Model\Design\Fallback\Factory($dirs);
 
-        $parentTheme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $parentTheme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $parentTheme->expects($this->any())->method('getThemePath')->will($this->returnValue('parent_theme_path'));
 
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->any())->method('getThemePath')->will($this->returnValue('current_theme_path'));
         $theme->expects($this->any())->method('getParentTheme')->will($this->returnValue($parentTheme));
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/Rule/ThemeTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/Rule/ThemeTest.php
index cba65854bc9..6457e25bb64 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/Rule/ThemeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/Rule/ThemeTest.php
@@ -39,10 +39,10 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
 
     public function testGetPatternDirs()
     {
-        $parentTheme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $parentTheme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $parentTheme->expects($this->any())->method('getThemePath')->will($this->returnValue('package/parent_theme'));
 
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->any())->method('getThemePath')->will($this->returnValue('package/current_theme'));
         $theme->expects($this->any())->method('getParentTheme')->will($this->returnValue($parentTheme));
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php
index 22204b0cad4..6f673705ea6 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php
@@ -70,7 +70,7 @@ class FallbackTest extends \PHPUnit_Framework_TestCase
         $this->_fallbackFactory = $this->getMock(
             'Magento\Core\Model\Design\Fallback\Factory',
             array('createLocaleFileRule', 'createFileRule', 'createViewFileRule'),
-            array($this->getMock('Magento\Core\Model\Dir', array(), array(), '', false))
+            array($this->getMock('Magento\App\Dir', array(), array(), '', false))
         );
         $this->_fallbackFactory
             ->expects($this->any())->method('createLocaleFileRule')->will($this->returnValue($this->_fallbackLocale));
@@ -79,7 +79,7 @@ class FallbackTest extends \PHPUnit_Framework_TestCase
         $this->_fallbackFactory
             ->expects($this->any())->method('createViewFileRule')->will($this->returnValue($this->_fallbackViewFile));
 
-        $this->_theme = $this->getMock('Magento\Core\Model\Theme', array(), array(), '', false);
+        $this->_theme = $this->getMock('Magento\View\Design\ThemeInterface', array(), array(), '', false);
     }
 
     protected function tearDown()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/StrategyPoolTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/StrategyPoolTest.php
index d80e6910a51..c1e1d51ee51 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/StrategyPoolTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/StrategyPoolTest.php
@@ -34,12 +34,12 @@ class StrategyPoolTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Model\App\State|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\State|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_appState;
 
     /**
-     * @var \Magento\Core\Model\Dir|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\Dir|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_dirs;
 
@@ -56,9 +56,9 @@ class StrategyPoolTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_objectManager = $this->getMock('Magento\Core\Model\ObjectManager', array(), array(), '', false);
-        $this->_appState = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appState = $this->getMock('Magento\App\State', array(), array(), '', false);
 
-        $this->_dirs = new \Magento\Core\Model\Dir('base_dir');
+        $this->_dirs = new \Magento\App\Dir('base_dir');
 
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
 
@@ -113,13 +113,13 @@ class StrategyPoolTest extends \PHPUnit_Framework_TestCase
     {
         return array(
             'default mode' => array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT
+                \Magento\App\State::MODE_DEFAULT
             ),
             'production mode' => array(
-                \Magento\Core\Model\App\State::MODE_PRODUCTION
+                \Magento\App\State::MODE_PRODUCTION
             ),
             'developer mode' => array(
-                \Magento\Core\Model\App\State::MODE_DEVELOPER
+                \Magento\App\State::MODE_DEVELOPER
             ),
         );
     }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/DirTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/DirTest.php
index ff9c4f61a09..59395f8b599 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/DirTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/DirTest.php
@@ -33,7 +33,7 @@ class DirTest extends \PHPUnit_Framework_TestCase
      */
     public function testInvalidUri($code, $value)
     {
-        new \Magento\Core\Model\Dir(__DIR__, array($code => $value));
+        new \Magento\App\Dir(__DIR__, array($code => $value));
     }
 
     /**
@@ -42,23 +42,23 @@ class DirTest extends \PHPUnit_Framework_TestCase
     public function invalidUriDataProvider()
     {
         return array(
-            array(\Magento\Core\Model\Dir::MEDIA, '/'),
-            array(\Magento\Core\Model\Dir::MEDIA, '//'),
-            array(\Magento\Core\Model\Dir::MEDIA, '/value'),
-            array(\Magento\Core\Model\Dir::MEDIA, 'value/'),
-            array(\Magento\Core\Model\Dir::MEDIA, '/value/'),
-            array(\Magento\Core\Model\Dir::MEDIA, 'one\\two'),
-            array(\Magento\Core\Model\Dir::MEDIA, '../dir'),
-            array(\Magento\Core\Model\Dir::MEDIA, './dir'),
-            array(\Magento\Core\Model\Dir::MEDIA, 'one/../two'),
+            array(\Magento\App\Dir::MEDIA, '/'),
+            array(\Magento\App\Dir::MEDIA, '//'),
+            array(\Magento\App\Dir::MEDIA, '/value'),
+            array(\Magento\App\Dir::MEDIA, 'value/'),
+            array(\Magento\App\Dir::MEDIA, '/value/'),
+            array(\Magento\App\Dir::MEDIA, 'one\\two'),
+            array(\Magento\App\Dir::MEDIA, '../dir'),
+            array(\Magento\App\Dir::MEDIA, './dir'),
+            array(\Magento\App\Dir::MEDIA, 'one/../two'),
         );
     }
 
     public function testGetUri()
     {
-        $dir = new \Magento\Core\Model\Dir(__DIR__, array(
-            \Magento\Core\Model\Dir::PUB   => '',
-            \Magento\Core\Model\Dir::MEDIA => 'test',
+        $dir = new \Magento\App\Dir(__DIR__, array(
+            \Magento\App\Dir::PUB   => '',
+            \Magento\App\Dir::MEDIA => 'test',
             'custom' => 'test2'
         ));
 
@@ -66,12 +66,12 @@ class DirTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals('test2', $dir->getUri('custom'));
 
         // setting empty value correctly adjusts its children
-        $this->assertEquals('', $dir->getUri(\Magento\Core\Model\Dir::PUB));
-        $this->assertEquals('lib', $dir->getUri(\Magento\Core\Model\Dir::PUB_LIB));
+        $this->assertEquals('', $dir->getUri(\Magento\App\Dir::PUB));
+        $this->assertEquals('lib', $dir->getUri(\Magento\App\Dir::PUB_LIB));
 
         // at the same time if another child has custom value, it must not be affected by its parent
-        $this->assertEquals('test', $dir->getUri(\Magento\Core\Model\Dir::MEDIA));
-        $this->assertEquals('test/upload', $dir->getUri(\Magento\Core\Model\Dir::UPLOAD));
+        $this->assertEquals('test', $dir->getUri(\Magento\App\Dir::MEDIA));
+        $this->assertEquals('test/upload', $dir->getUri(\Magento\App\Dir::UPLOAD));
     }
 
     /**
@@ -80,12 +80,12 @@ class DirTest extends \PHPUnit_Framework_TestCase
     public function testGetUriIndependentOfDirs()
     {
         $fixtureDirs = array(
-            \Magento\Core\Model\Dir::ROOT => __DIR__ . '/root',
-            \Magento\Core\Model\Dir::MEDIA => __DIR__ . '/media',
+            \Magento\App\Dir::ROOT => __DIR__ . '/root',
+            \Magento\App\Dir::MEDIA => __DIR__ . '/media',
             'custom' => 'test2'
         );
-        $default = new \Magento\Core\Model\Dir(__DIR__);
-        $custom = new \Magento\Core\Model\Dir(__DIR__, array(), $fixtureDirs);
+        $default = new \Magento\App\Dir(__DIR__);
+        $custom = new \Magento\App\Dir(__DIR__, array(), $fixtureDirs);
         foreach (array_keys($fixtureDirs) as $dirCode ) {
             $this->assertEquals($default->getUri($dirCode), $custom->getUri($dirCode));
         }
@@ -95,9 +95,9 @@ class DirTest extends \PHPUnit_Framework_TestCase
     {
         $newRoot = __DIR__ . DIRECTORY_SEPARATOR . 'root';
         $newMedia = __DIR__ . DIRECTORY_SEPARATOR . 'media';
-        $dir = new \Magento\Core\Model\Dir(__DIR__, array(), array(
-            \Magento\Core\Model\Dir::ROOT => $newRoot,
-            \Magento\Core\Model\Dir::MEDIA => $newMedia,
+        $dir = new \Magento\App\Dir(__DIR__, array(), array(
+            \Magento\App\Dir::ROOT => $newRoot,
+            \Magento\App\Dir::MEDIA => $newMedia,
             'custom' => 'test2'
         ));
 
@@ -105,12 +105,12 @@ class DirTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals('test2', $dir->getDir('custom'));
 
         // new root has affected all its non-customized children
-        $this->assertStringStartsWith($newRoot, $dir->getDir(\Magento\Core\Model\Dir::APP));
-        $this->assertStringStartsWith($newRoot, $dir->getDir(\Magento\Core\Model\Dir::MODULES));
+        $this->assertStringStartsWith($newRoot, $dir->getDir(\Magento\App\Dir::APP));
+        $this->assertStringStartsWith($newRoot, $dir->getDir(\Magento\App\Dir::MODULES));
 
         // but it didn't affect the customized dirs
-        $this->assertEquals($newMedia, $dir->getDir(\Magento\Core\Model\Dir::MEDIA));
-        $this->assertStringStartsWith($newMedia, $dir->getDir(\Magento\Core\Model\Dir::UPLOAD));
+        $this->assertEquals($newMedia, $dir->getDir(\Magento\App\Dir::MEDIA));
+        $this->assertStringStartsWith($newMedia, $dir->getDir(\Magento\App\Dir::UPLOAD));
     }
 
     /**
@@ -119,12 +119,12 @@ class DirTest extends \PHPUnit_Framework_TestCase
     public function testGetDirIndependentOfUris()
     {
         $fixtureUris = array(
-            \Magento\Core\Model\Dir::PUB   => '',
-            \Magento\Core\Model\Dir::MEDIA => 'test',
+            \Magento\App\Dir::PUB   => '',
+            \Magento\App\Dir::MEDIA => 'test',
             'custom' => 'test2'
         );
-        $default = new \Magento\Core\Model\Dir(__DIR__);
-        $custom = new \Magento\Core\Model\Dir(__DIR__, $fixtureUris);
+        $default = new \Magento\App\Dir(__DIR__);
+        $custom = new \Magento\App\Dir(__DIR__, $fixtureUris);
         foreach (array_keys($fixtureUris) as $dirCode ) {
             $this->assertEquals($default->getDir($dirCode), $custom->getDir($dirCode));
         }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/ReaderTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/ReaderTest.php
index ccbe87d1ec8..0ab2abcd808 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/ReaderTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/ReaderTest.php
@@ -36,7 +36,7 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
     protected $_converter;
 
     /**
-     * @var \Magento\Core\Model\Module\Dir\ReverseResolver|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\Module\Dir\ReverseResolver|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_moduleDirResolver;
 
@@ -69,7 +69,7 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
         $validationState->expects($this->once())->method('isValidated')->will($this->returnValue(false));
 
         $this->_moduleDirResolver = $this->getMock(
-            'Magento\Core\Model\Module\Dir\ReverseResolver', array(), array(), '', false
+            'Magento\App\Module\Dir\ReverseResolver', array(), array(), '', false
         );
 
         $this->_model = new \Magento\Core\Model\Email\Template\Config\Reader(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/CronTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/CronTest.php
index 43399bab1f3..7e8366b4de9 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/CronTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/CronTest.php
@@ -46,13 +46,13 @@ class CronTest extends \PHPUnit_Framework_TestCase
     public function testProcessRequest()
     {
         $appMock = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
-        $eventManagerMock = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
-        $configScopeMock = $this->getMock('Magento\Core\Model\Config\Scope', array(), array(), '', false);
+        $eventManagerMock = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
+        $configScopeMock = $this->getMock('Magento\Config\Scope', array(), array(), '', false);
 
         $map = array(
             array('Magento\Core\Model\App', $appMock),
-            array('Magento\Core\Model\Event\Manager', $eventManagerMock),
-            array('Magento\Core\Model\Config\Scope', $configScopeMock),
+            array('Magento\Event\ManagerInterface', $eventManagerMock),
+            array('Magento\Config\ScopeInterface', $configScopeMock),
         );
 
         $this->_objectManagerMock->expects($this->any())->method('get')->will($this->returnValueMap($map));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/MediaTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/MediaTest.php
index 2b798ea3a6b..1d9f4a31588 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/MediaTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/MediaTest.php
@@ -93,17 +93,17 @@ class MediaTest extends \PHPUnit_Framework_TestCase
             return true;
         };
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
-        $this->_appState = $this->getMock('Magento\Core\Model\App\State', array(), array(  ), '', false);
+        $this->_appState = $this->getMock('Magento\App\State', array(), array(  ), '', false);
         $this->_configMock = $this->getMock('Magento\Core\Model\File\Storage\Config', array(), array(), '', false);
         $this->_sync= $this->getMock('Magento\Core\Model\File\Storage\Synchronization', array(), array(), '', false);
         $this->_dirVerificationMock = $this->getMock(
-            'Magento\Core\Model\Dir\Verification', array(), array(), '', false
+            'Magento\App\Dir\Verification', array(), array(), '', false
         );
         $this->_responseMock = $this->getMock('Magento\Core\Model\File\Storage\Response', array(), array(), '', false);
 
         $map = array(
-            array('Magento\Core\Model\Dir\Verification', $this->_dirVerificationMock),
-            array('Magento\Core\Model\App\State', $this->_appState),
+            array('Magento\App\Dir\Verification', $this->_dirVerificationMock),
+            array('Magento\App\State', $this->_appState),
             array('Magento\Core\Model\File\Storage\Request', $this->_requestMock),
             array('Magento\Core\Model\File\Storage\Synchronization', $this->_sync),
         );
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/File/Storage/RequestTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/File/Storage/RequestTest.php
index 9aed34a7e7f..1f58a1051f9 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/File/Storage/RequestTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/File/Storage/RequestTest.php
@@ -48,7 +48,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $path = '..PathInfo';
-        $this->_requestMock = $this->getMock('Zend_Controller_Request_Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('\Magento\App\Request\Http', array(), array(), '', false);
         $this->_requestMock->expects($this->once())->method('getPathInfo')->will($this->returnValue($path));
         $this->_model = new \Magento\Core\Model\File\Storage\Request($this->_workingDir, $this->_requestMock);
     }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/AbstractHandlerTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/AbstractHandlerTest.php
index ee60f5b99a2..5b397a3a423 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/AbstractHandlerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/AbstractHandlerTest.php
@@ -44,7 +44,7 @@ class AbstractHandlerTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      * @dataProvider parseDataProvider
      */
@@ -65,7 +65,7 @@ class AbstractHandlerTest extends \PHPUnit_Framework_TestCase
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . 'Handler' . DIRECTORY_SEPARATOR
             . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $withoutUpdater = $layout->xpath('//argument[@name="testParseWithoutUpdater"]');
         $withUpdater = $layout->xpath('//argument[@name="testParseWithUpdater"]');
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ArrayTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ArrayTest.php
index 30e491aae82..9d6f2107a37 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ArrayTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ArrayTest.php
@@ -122,7 +122,7 @@ class ArrayTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @param \Magento\Core\Model\Layout\Element $node
+     * @param \Magento\View\Layout\Element $node
      * @param $expected array
      * @dataProvider parseDataProvider
      */
@@ -158,7 +158,7 @@ class ArrayTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
 
         return array(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/BooleanTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/BooleanTest.php
index 86e8a1cba36..3ee35a12e11 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/BooleanTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/BooleanTest.php
@@ -54,7 +54,7 @@ class BooleanTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider parseDataProvider()
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      */
     public function testParse($argument, $expectedResult)
@@ -70,7 +70,7 @@ class BooleanTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $result = $this->processDataProvider();
         $simpleArg = $layout->xpath('//argument[@name="testSimpleBoolean"]');
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/HelperTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/HelperTest.php
index 596dfd5f5c7..6bde44e9028 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/HelperTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/HelperTest.php
@@ -56,7 +56,7 @@ class HelperTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider parseDataProvider()
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      */
     public function testParse($argument, $expectedResult)
@@ -72,7 +72,7 @@ class HelperTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $result = $this->processDataProvider();
         $resultWithParams = $resultWithoutParams = $result[0][0];
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/NumberTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/NumberTest.php
index e4390391687..2baa8496ac5 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/NumberTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/NumberTest.php
@@ -54,7 +54,7 @@ class NumberTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider parseDataProvider()
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      */
     public function testParse($argument, $expectedResult)
@@ -70,7 +70,7 @@ class NumberTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $result = $this->processDataProvider();
         $simpleArg = $layout->xpath('//argument[@name="testSimpleNumber"]');
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ObjectTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ObjectTest.php
index 5e007bb6679..176bdcb55d5 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ObjectTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ObjectTest.php
@@ -56,7 +56,7 @@ class ObjectTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider parseDataProvider()
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      */
     public function testParse($argument, $expectedResult)
@@ -75,7 +75,7 @@ class ObjectTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $simpleObject = $layout->xpath('//argument[@name="testSimpleObject"]');
         $complexObject = $layout->xpath('//argument[@name="testComplexObject"]');
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/OptionsTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/OptionsTest.php
index ea1685d1b8b..9f97597da55 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/OptionsTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/OptionsTest.php
@@ -56,7 +56,7 @@ class OptionsTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider parseDataProvider()
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      */
     public function testParse($argument, $expectedResult)
@@ -72,7 +72,7 @@ class OptionsTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $optionsArguments = $layout->xpath('//argument[@name="testOptions"]');
         return array(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/StringTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/StringTest.php
index d82b1e96343..7497362f14e 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/StringTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/StringTest.php
@@ -54,7 +54,7 @@ class StringTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider parseDataProvider
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      */
     public function testParse($argument, $expectedResult)
@@ -70,7 +70,7 @@ class StringTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $result = $this->processDataProvider();
         $simpleString = $layout->xpath('//argument[@name="testSimpleString"]');
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/UrlTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/UrlTest.php
index 1e8fc5d4c64..d9aa18908cb 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/UrlTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/UrlTest.php
@@ -54,7 +54,7 @@ class UrlTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider parseDataProvider()
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      */
     public function testParse($argument, $expectedResult)
@@ -70,7 +70,7 @@ class UrlTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $result = $this->processDataProvider();
         $resultWithParams = $resultWithoutParams = $result[0][0];
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/ProcessorTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/ProcessorTest.php
index 0e8a4eafd99..0622ca07924 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/ProcessorTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/ProcessorTest.php
@@ -131,7 +131,7 @@ class ProcessorTest extends \PHPUnit_Framework_TestCase
     public function testParse()
     {
         // Because descendants of \SimpleXMLElement couldn't be mocked
-        $argument = new \Magento\Core\Model\Layout\Element('<argument xsi:type="string" name="argumentName" '
+        $argument = new \Magento\View\Layout\Element('<argument xsi:type="string" name="argumentName" '
             . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Value</argument>'
         );
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/FactoryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/FactoryTest.php
index 956850230dc..fd5f84d8588 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/FactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/FactoryTest.php
@@ -44,7 +44,7 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
 
     public function testCreate()
     {
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $file = new \Magento\Core\Model\Layout\File(__FILE__, 'Fixture_Module', $theme);
         $this->_objectManager
             ->expects($this->once())
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/ListTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/ListTest.php
index a1f0cd81bc1..4e3fd900426 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/ListTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/ListTest.php
@@ -55,13 +55,13 @@ class ListTest extends \PHPUnit_Framework_TestCase
      * @param string $filename
      * @param string $module
      * @param string|null $themeFullPath
-     * @return \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Model\ThemeInterface
+     * @return \PHPUnit_Framework_MockObject_MockObject|\Magento\View\Design\ThemeInterface
      */
     protected function _createLayoutFile($filename, $module, $themeFullPath = null)
     {
         $theme = null;
         if ($themeFullPath !== null) {
-            $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+            $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
             $theme->expects($this->any())->method('getFullPath')->will($this->returnValue($themeFullPath));
         }
         return new \Magento\Core\Model\Layout\File($filename, $module, $theme);
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/AggregateTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/AggregateTest.php
index c49bad6d695..7e2924946ca 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/AggregateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/AggregateTest.php
@@ -74,8 +74,8 @@ class AggregateTest extends \PHPUnit_Framework_TestCase
 
     public function testGetFiles()
     {
-        $parentTheme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $parentTheme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->once())->method('getParentTheme')->will($this->returnValue($parentTheme));
 
         $files = array(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/BaseTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/BaseTest.php
index 12961a3f9ea..9debddd6e38 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/BaseTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/BaseTest.php
@@ -49,7 +49,7 @@ class BaseTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
-        $this->_dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_dirs->expects($this->any())->method('getDir')->will($this->returnArgument(0));
         $this->_fileFactory = $this->getMock('Magento\Core\Model\Layout\File\Factory', array(), array(), '', false);
         $this->_model = new \Magento\Core\Model\Layout\File\Source\Base(
@@ -59,7 +59,7 @@ class BaseTest extends \PHPUnit_Framework_TestCase
 
     public function testGetFiles()
     {
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->once())->method('getArea')->will($this->returnValue('area'));
 
         $this->_filesystem
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependencyTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependencyTest.php
index 4fda87304e4..716da4dc08d 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependencyTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependencyTest.php
@@ -56,7 +56,7 @@ class ModuleDependencyTest extends \PHPUnit_Framework_TestCase
         );
 
         $this->_fileSource = $this->getMockForAbstractClass('Magento\Core\Model\Layout\File\SourceInterface');
-        $this->_moduleListMock = $this->getMock('Magento\Core\Model\ModuleListInterface');
+        $this->_moduleListMock = $this->getMock('Magento\App\ModuleListInterface');
         $this->_moduleListMock->expects($this->any())->method('getModules')->will($this->returnValue($modulesConfig));
         $this->_model = new \Magento\Core\Model\Layout\File\Source\Decorator\ModuleDependency(
             $this->_fileSource, $this->_moduleListMock
@@ -71,7 +71,7 @@ class ModuleDependencyTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetFiles(array $fixtureFiles, array $expectedFiles, $message)
     {
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $this->_fileSource
             ->expects($this->once())
             ->method('getFiles')
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutputTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutputTest.php
index 89539ebc9f1..2623b2b7c7a 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutputTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutputTest.php
@@ -60,7 +60,7 @@ class ModuleOutputTest extends \PHPUnit_Framework_TestCase
 
     public function testGetFiles()
     {
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $fileOne = new \Magento\Core\Model\Layout\File('1.xml', 'Module_OutputEnabled');
         $fileTwo = new \Magento\Core\Model\Layout\File('2.xml', 'Module_OutputDisabled');
         $fileThree = new \Magento\Core\Model\Layout\File('3.xml', 'Module_OutputEnabled', $theme);
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/BaseTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/BaseTest.php
index 6bc02dddee6..107b208cf15 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/BaseTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/BaseTest.php
@@ -49,7 +49,7 @@ class BaseTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
-        $this->_dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_dirs->expects($this->any())->method('getDir')->will($this->returnArgument(0));
         $this->_fileFactory = $this->getMock('Magento\Core\Model\Layout\File\Factory', array(), array(), '', false);
         $this->_model = new \Magento\Core\Model\Layout\File\Source\Override\Base(
@@ -59,7 +59,7 @@ class BaseTest extends \PHPUnit_Framework_TestCase
 
     public function testGetFiles()
     {
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->once())->method('getFullPath')->will($this->returnValue('area/theme/path'));
 
         $this->_filesystem
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/ThemeTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/ThemeTest.php
index bb3212f283e..1620bc5a694 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/ThemeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/ThemeTest.php
@@ -49,7 +49,7 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
-        $this->_dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_dirs->expects($this->any())->method('getDir')->will($this->returnArgument(0));
         $this->_fileFactory = $this->getMock('Magento\Core\Model\Layout\File\Factory', array(), array(), '', false);
         $this->_model = new \Magento\Core\Model\Layout\File\Source\Override\Theme(
@@ -59,14 +59,14 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
 
     public function testGetFiles()
     {
-        $grandparentTheme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $grandparentTheme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $grandparentTheme->expects($this->once())->method('getCode')->will($this->returnValue('grand_parent_theme'));
 
-        $parentTheme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $parentTheme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $parentTheme->expects($this->once())->method('getCode')->will($this->returnValue('parent_theme'));
         $parentTheme->expects($this->once())->method('getParentTheme')->will($this->returnValue($grandparentTheme));
 
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->once())->method('getFullPath')->will($this->returnValue('area/theme_path'));
         $theme->expects($this->once())->method('getParentTheme')->will($this->returnValue($parentTheme));
 
@@ -102,7 +102,7 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
                 . ", which is not ancestor of theme 'theme_path'"
         );
 
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->once())->method('getFullPath')->will($this->returnValue('area/theme_path'));
         $theme->expects($this->once())->method('getParentTheme')->will($this->returnValue(null));
         $theme->expects($this->once())->method('getCode')->will($this->returnValue('theme_path'));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/ThemeTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/ThemeTest.php
index 29fc46cf512..1bf60d2686b 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/ThemeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/ThemeTest.php
@@ -49,7 +49,7 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
-        $this->_dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_dirs->expects($this->any())->method('getDir')->will($this->returnArgument(0));
         $this->_fileFactory = $this->getMock('Magento\Core\Model\Layout\File\Factory', array(), array(), '', false);
         $this->_model = new \Magento\Core\Model\Layout\File\Source\Theme(
@@ -59,7 +59,7 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
 
     public function testGetFiles()
     {
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->once())->method('getFullPath')->will($this->returnValue('area/theme/path'));
 
         $this->_filesystem
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/FileTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/FileTest.php
index 6c72c2e6dd9..f033cb2d5f4 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/FileTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/FileTest.php
@@ -38,7 +38,7 @@ class FileTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $this->_theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $this->_model = new \Magento\Core\Model\Layout\File(__FILE__, 'Fixture_TestModule', $this->_theme);
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/MergeTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/MergeTest.php
index 55cbac2e4f3..9161a567a5a 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/MergeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/MergeTest.php
@@ -70,7 +70,7 @@ class MergeTest extends \PHPUnit_Framework_TestCase
         $fileSource = $this->getMockForAbstractClass('Magento\Core\Model\Layout\File\SourceInterface');
         $fileSource->expects($this->any())->method('getFiles')->will($this->returnValue($files));
 
-        $design = $this->getMockForAbstractClass('Magento\Core\Model\View\DesignInterface');
+        $design = $this->getMockForAbstractClass('Magento\View\DesignInterface');
 
         $this->_store = $this->getMock('Magento\Core\Model\Store', array(), array(), '', false);
         $this->_store->expects($this->any())->method('getId')->will($this->returnValue(20));
@@ -79,7 +79,7 @@ class MergeTest extends \PHPUnit_Framework_TestCase
 
         $this->_resource = $this->getMock('Magento\Core\Model\Resource\Layout\Update', array(), array(), '', false);
 
-        $this->_appState = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appState = $this->getMock('Magento\App\State', array(), array(), '', false);
 
         $this->_cache = $this->getMockForAbstractClass('Magento\Cache\FrontendInterface');
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Locale/Hierarchy/Config/FileResolverTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Locale/Hierarchy/Config/FileResolverTest.php
index 1bfb609d49c..f2b851e57f1 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Locale/Hierarchy/Config/FileResolverTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Locale/Hierarchy/Config/FileResolverTest.php
@@ -31,13 +31,13 @@ class FileResolverTest extends \PHPUnit_Framework_TestCase
     protected $_model;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_appDirsMock;
 
     protected function setUp()
     {
-        $this->_appDirsMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_appDirsMock = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_model = new \Magento\Core\Model\Locale\Hierarchy\Config\FileResolver($this->_appDirsMock);
     }
 
@@ -50,7 +50,7 @@ class FileResolverTest extends \PHPUnit_Framework_TestCase
 
         $this->_appDirsMock->expects($this->once())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::LOCALE)
+            ->with(\Magento\App\Dir::LOCALE)
             ->will($this->returnValue($path));
 
         $expectedFilesList = array(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/LoggerTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/LoggerTest.php
index 26d113abb2e..26794efde6b 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/LoggerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/LoggerTest.php
@@ -43,8 +43,8 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_filesystemMock = $this->getMock('Magento\Io\File', array(), array(), '', false, false);
-        $dirs = new \Magento\Core\Model\Dir(TESTS_TEMP_DIR);
-        $logDir = $dirs->getDir(\Magento\Core\Model\Dir::LOG);
+        $dirs = new \Magento\App\Dir(TESTS_TEMP_DIR);
+        $logDir = $dirs->getDir(\Magento\App\Dir::LOG);
         if (!is_dir($logDir)) {
             mkdir($logDir, 0777, true);
         }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/ModuleManagerTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/ModuleManagerTest.php
index b318419b544..e144aa99cb7 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/ModuleManagerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/ModuleManagerTest.php
@@ -48,7 +48,7 @@ class ModuleManagerTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_moduleList = $this->getMockForAbstractClass('Magento\Core\Model\ModuleListInterface');
+        $this->_moduleList = $this->getMockForAbstractClass('Magento\App\ModuleListInterface');
         $this->_storeConfig = $this->getMockForAbstractClass('Magento\Core\Model\Store\ConfigInterface');
         $this->_model = new \Magento\Core\Model\ModuleManager($this->_storeConfig, $this->_moduleList, array(
             'Module_DisabledOutputOne' => self::XML_PATH_OUTPUT_ENABLED,
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/NoRouteHandlerListTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/NoRouteHandlerListTest.php
index 39226e105c5..03374f0941d 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/NoRouteHandlerListTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/NoRouteHandlerListTest.php
@@ -31,7 +31,7 @@ class NoRouteHandlerListTest extends \PHPUnit_Framework_TestCase
     protected $_objectManagerMock;
 
     /**
-     * @var \Magento\Core\Model\NoRouteHandlerList
+     * @var \Magento\App\Router\NoRouteHandlerList
      */
     protected $_model;
 
@@ -40,33 +40,33 @@ class NoRouteHandlerListTest extends \PHPUnit_Framework_TestCase
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
         $handlersList = array(
             'default_handler' => array(
-                'instance' => 'Magento\Core\Model\Router\NoRouteHandler',
+                'instance' => 'Magento\Core\App\Router\NoRouteHandler',
                 'sortOrder' => 100
             ),
             'backend_handler' => array(
-                'instance'  => 'Magento\Backend\Model\Router\NoRouteHandler',
+                'instance'  => 'Magento\Backend\App\Router\NoRouteHandler',
                 'sortOrder' => 10
             ),
         );
 
-        $this->_model = new \Magento\Core\Model\NoRouteHandlerList($this->_objectManagerMock, $handlersList);
+        $this->_model = new \Magento\App\Router\NoRouteHandlerList($this->_objectManagerMock, $handlersList);
     }
 
     public function testGetHandlers()
     {
         $backendHandlerMock = $this->getMock(
-            'Magento\Backend\Model\Router\NoRouteHandler', array(), array(), '', false
+            'Magento\Backend\App\Router\NoRouteHandler', array(), array(), '', false
         );
-        $defaultHandlerMock = $this->getMock('Magento\Core\Model\Router\NoRouteHandler', array(), array(), '', false);
+        $defaultHandlerMock = $this->getMock('Magento\Core\App\Router\NoRouteHandler', array(), array(), '', false);
 
         $this->_objectManagerMock->expects($this->at(0))
             ->method('create')
-            ->with('Magento\Backend\Model\Router\NoRouteHandler')
+            ->with('Magento\Backend\App\Router\NoRouteHandler')
             ->will($this->returnValue($backendHandlerMock));
 
         $this->_objectManagerMock->expects($this->at(1))
             ->method('create')
-            ->with('Magento\Core\Model\Router\NoRouteHandler')
+            ->with('Magento\Core\App\Router\NoRouteHandler')
             ->will($this->returnValue($defaultHandlerMock));
 
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/ObserverTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/ObserverTest.php
index 15546ae6ad8..e11aab60515 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/ObserverTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/ObserverTest.php
@@ -93,7 +93,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         $themeMock->expects($this->any())->method('getCustomization')
             ->will($this->returnValue($this->_themeCustomization));
 
-        $designMock = $this->getMock('Magento\Core\Model\View\DesignInterface');
+        $designMock = $this->getMock('Magento\View\DesignInterface');
         $designMock
             ->expects($this->any())
             ->method('getDesignTheme')
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeServiceTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeServiceTest.php
index 7e65f51f516..a9525819683 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeServiceTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeServiceTest.php
@@ -63,8 +63,8 @@ class MergeServiceTest extends \PHPUnit_Framework_TestCase
             'Magento\Core\Model\Store\Config', array('getConfigFlag'), array(), '', false
         );
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
-        $this->_dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
-        $this->_state = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
+        $this->_state = $this->getMock('Magento\App\State', array(), array(), '', false);
 
         $this->_object = new \Magento\Core\Model\Page\Asset\MergeService(
             $this->_objectManager,
@@ -143,42 +143,42 @@ class MergeServiceTest extends \PHPUnit_Framework_TestCase
                 $jsAssets,
                 \Magento\Core\Model\View\Publisher::CONTENT_TYPE_JS,
                 \Magento\Core\Model\Page\Asset\MergeService::XML_PATH_MERGE_JS_FILES,
-                \Magento\Core\Model\App\State::MODE_PRODUCTION,
+                \Magento\App\State::MODE_PRODUCTION,
                 'Magento\Core\Model\Page\Asset\MergeStrategy\FileExists'
             ),
             'css production mode' => array(
                 $cssAssets,
                 \Magento\Core\Model\View\Publisher::CONTENT_TYPE_CSS,
                 \Magento\Core\Model\Page\Asset\MergeService::XML_PATH_MERGE_CSS_FILES,
-                \Magento\Core\Model\App\State::MODE_PRODUCTION,
+                \Magento\App\State::MODE_PRODUCTION,
                 'Magento\Core\Model\Page\Asset\MergeStrategy\FileExists'
             ),
             'js default mode' => array(
                 $jsAssets,
                 \Magento\Core\Model\View\Publisher::CONTENT_TYPE_JS,
                 \Magento\Core\Model\Page\Asset\MergeService::XML_PATH_MERGE_JS_FILES,
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 'Magento\Core\Model\Page\Asset\MergeStrategy\Checksum'
             ),
             'css default mode' => array(
                 $cssAssets,
                 \Magento\Core\Model\View\Publisher::CONTENT_TYPE_CSS,
                 \Magento\Core\Model\Page\Asset\MergeService::XML_PATH_MERGE_CSS_FILES,
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 'Magento\Core\Model\Page\Asset\MergeStrategy\Checksum'
             ),
             'js developer mode' => array(
                 $jsAssets,
                 \Magento\Core\Model\View\Publisher::CONTENT_TYPE_JS,
                 \Magento\Core\Model\Page\Asset\MergeService::XML_PATH_MERGE_JS_FILES,
-                \Magento\Core\Model\App\State::MODE_DEVELOPER,
+                \Magento\App\State::MODE_DEVELOPER,
                 'Magento\Core\Model\Page\Asset\MergeStrategy\Checksum'
             ),
             'css developer mode' => array(
                 $cssAssets,
                 \Magento\Core\Model\View\Publisher::CONTENT_TYPE_CSS,
                 \Magento\Core\Model\Page\Asset\MergeService::XML_PATH_MERGE_CSS_FILES,
-                \Magento\Core\Model\App\State::MODE_DEVELOPER,
+                \Magento\App\State::MODE_DEVELOPER,
                 'Magento\Core\Model\Page\Asset\MergeStrategy\Checksum'
             ),
         );
@@ -188,7 +188,7 @@ class MergeServiceTest extends \PHPUnit_Framework_TestCase
     {
         $this->_dirs->expects($this->once())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::PUB_VIEW_CACHE)
+            ->with(\Magento\App\Dir::PUB_VIEW_CACHE)
             ->will($this->returnValue('/pub/cache'));
 
         $mergedDir = '/pub/cache/' . \Magento\Core\Model\Page\Asset\Merged::PUBLIC_MERGE_DIR;
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeStrategy/DirectTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeStrategy/DirectTest.php
index e737af48313..5f235dd9b3b 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeStrategy/DirectTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeStrategy/DirectTest.php
@@ -50,7 +50,7 @@ class DirectTest extends \PHPUnit_Framework_TestCase
     {
         $this->_cssHelper = $this->getMock('Magento\Core\Helper\Css', array(), array(), '', false);
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
-        $this->_dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
 
         $this->_object = new \Magento\Core\Model\Page\Asset\MergeStrategy\Direct(
             $this->_filesystem, $this->_dirs, $this->_cssHelper
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php
index 6103e27a413..fe4dd87fa6a 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php
@@ -75,7 +75,7 @@ class MergedTest extends \PHPUnit_Framework_TestCase
 
         $this->_logger = $this->getMock('Magento\Core\Model\Logger', array('logException'), array(), '', false);
 
-        $this->_dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
 
         $this->_mergeStrategy = $this->getMock('Magento\Core\Model\Page\Asset\MergeStrategyInterface');
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MinifyServiceTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MinifyServiceTest.php
index e5de04492d4..dc5eae08819 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MinifyServiceTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MinifyServiceTest.php
@@ -42,16 +42,16 @@ class MinifyServiceTest extends \PHPUnit_Framework_TestCase
     protected $_model;
 
     /**
-     * @var \Magento\Core\Model\App\State|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\State|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_appState;
 
     protected function setUp()
     {
         $this->_storeConfig = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
-        $dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_objectManager = $this->getMock('Magento\ObjectManager');
-        $this->_appState = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appState = $this->getMock('Magento\App\State', array(), array(), '', false);
 
         $this->_model = new \Magento\Core\Model\Page\Asset\MinifyService($this->_storeConfig, $this->_objectManager,
             $dirs, $this->_appState);
@@ -168,15 +168,15 @@ class MinifyServiceTest extends \PHPUnit_Framework_TestCase
     {
         return array(
             'production' => array(
-                \Magento\Core\Model\App\State::MODE_PRODUCTION,
+                \Magento\App\State::MODE_PRODUCTION,
                 'Magento\Code\Minifier\Strategy\Lite'
             ),
             'default'    => array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 'Magento\Code\Minifier\Strategy\Generate'
             ),
             'developer'  => array(
-                \Magento\Core\Model\App\State::MODE_DEVELOPER,
+                \Magento\App\State::MODE_DEVELOPER,
                 'Magento\Code\Minifier\Strategy\Generate'
             ),
         );
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Db/AbstractTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Db/AbstractTest.php
index 97205e9c83c..4cf96e75574 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Db/AbstractTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Db/AbstractTest.php
@@ -75,7 +75,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetConnectionInMemoryCaching()
     {
-        $dir = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $dir = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $connection = new \Magento\DB\Adapter\Pdo\Mysql($dir, array(
             'dbname'   => 'test_dbname',
             'username' => 'test_username',
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Link/CollectionTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Link/CollectionTest.php
index 28875a5a2b6..7325f6ec32a 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Link/CollectionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Link/CollectionTest.php
@@ -47,7 +47,7 @@ class CollectionTest extends \Magento\Core\Model\Resource\Layout\AbstractTestCas
      */
     protected function _getCollection(\Zend_Db_Select $select)
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
 
         return new \Magento\Core\Model\Resource\Layout\Link\Collection(
             $eventManager,
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Update/CollectionTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Update/CollectionTest.php
index 05c11bfca4e..5207f571fb8 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Update/CollectionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Update/CollectionTest.php
@@ -38,7 +38,7 @@ class CollectionTest
      */
     protected function _getCollection(\Zend_Db_Select $select)
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
 
         return new \Magento\Core\Model\Resource\Layout\Update\Collection(
             $eventManager,
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/SessionTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/SessionTest.php
index 2585be40d21..4126cb942bb 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/SessionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/SessionTest.php
@@ -108,7 +108,7 @@ class SessionTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($connection));
 
         $this->_model = new \Magento\Core\Model\Resource\Session(
-            $resource, $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false, false)
+            $resource, $this->getMock('Magento\App\Dir', array(), array(), '', false, false)
         );
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Setup/MigrationTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Setup/MigrationTest.php
index f5c467a8271..71fa50d2e05 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Setup/MigrationTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Setup/MigrationTest.php
@@ -151,7 +151,7 @@ class MigrationTest extends \PHPUnit_Framework_TestCase
      */
     public function testAppendClassAliasReplace()
     {
-        $moduleListMock = $this->getMock('Magento\Core\Model\ModuleListInterface');
+        $moduleListMock = $this->getMock('Magento\App\ModuleListInterface');
         $moduleListMock->expects($this->once())
             ->method('getModule')
             ->will($this->returnValue(array()));
@@ -160,7 +160,7 @@ class MigrationTest extends \PHPUnit_Framework_TestCase
 
         $contextMock->expects($this->once())
             ->method('getEventManager')
-            ->will($this->returnValue($this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false)));
+            ->will($this->returnValue($this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false)));
         $contextMock->expects($this->once())
             ->method('getResourceModel')
             ->will($this->returnValue($this->getMock('Magento\Core\Model\Resource', array(), array(), '', false)));
@@ -180,7 +180,7 @@ class MigrationTest extends \PHPUnit_Framework_TestCase
             $contextMock,
             $this->getMock('Magento\Filesystem', array(), array(), '', false),
             $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false),
-            $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false),
+            $this->getMock('Magento\App\Dir', array(), array(), '', false),
             'core_setup',
             ''
         );
@@ -236,11 +236,11 @@ class MigrationTest extends \PHPUnit_Framework_TestCase
             $this->getMock('Magento\Core\Model\Resource', array(), array(), '', false, false),
             $this->getMock('Magento\Filesystem', array(), array(), '', false),
             $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false),
-            $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false),
+            $this->getMock('Magento\App\Dir', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false),
-            $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false),
+            $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\Config', array(), array(), '', false, false),
-            $this->getMock('Magento\Core\Model\ModuleListInterface'),
+            $this->getMock('Magento\App\ModuleListInterface'),
             $this->getMock('Magento\Core\Model\Config\Modules\Reader', array(), array(), '', false, false),
             $this->getMock('Magento\Core\Model\Resource\Resource', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\Resource\Theme\CollectionFactory', array(), array(), '', false),
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/RouterListTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/RouterListTest.php
index 2dfa97ead83..947dc27b876 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/RouterListTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/RouterListTest.php
@@ -28,7 +28,7 @@ namespace Magento\Core\Model;
 class RouterListTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\RouterList
+     * @var \Magento\App\RouterList
      */
     protected $_model;
 
@@ -63,7 +63,7 @@ class RouterListTest extends \PHPUnit_Framework_TestCase
         );
 
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
-        $this->_model = new \Magento\Core\Model\RouterList($this->_objectManagerMock, $this->_routerList);
+        $this->_model = new \Magento\App\RouterList($this->_objectManagerMock, $this->_routerList);
     }
 
     public function testGetRoutes()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Store/StorageFactoryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Store/StorageFactoryTest.php
index 20ccb6447bb..02115dd140c 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Store/StorageFactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Store/StorageFactoryTest.php
@@ -90,11 +90,12 @@ class StorageFactoryTest extends \PHPUnit_Framework_TestCase
     {
         $this->_arguments = array('test' => 'argument');
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
-        $this->_eventManagerMock = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $this->_eventManagerMock = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $this->_logMock = $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false);
         $this->_configMock = $this->getMock('Magento\Core\Model\ConfigInterface', array(), array(), '', false);
-        $this->_appMock = $this->getMock('Magento\Core\Model\App\Proxy', array(), array(), '', false);
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appMock
+            = $this->getMock('Magento\Core\Model\App\Proxy', array('setUseSessionInUrl'), array(), '', false);
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
         $this->_storage = $this->getMock('Magento\Core\Model\Store\StorageInterface');
 
         $this->_model = new \Magento\Core\Model\Store\StorageFactory(
@@ -159,7 +160,8 @@ class StorageFactoryTest extends \PHPUnit_Framework_TestCase
             ->method('initForStore')
             ->with($store, $this->_configMock);
 
-        $this->_appMock->expects($this->once())->method('setUseSessionInUrl')->with(true);
+        $this->_appMock->expects($this->once())
+            ->method('setUseSessionInUrl')->with(true);
 
         /** test create instance */
         $this->assertEquals($this->_storage, $this->_model->get($this->_arguments));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/StoreManagerTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/StoreManagerTest.php
index a6138f487d3..d1098d22c59 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/StoreManagerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/StoreManagerTest.php
@@ -59,7 +59,7 @@ class StoreManagerTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_factoryMock = $this->getMock('Magento\Core\Model\Store\StorageFactory', array(), array(), '', false);
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
         $this->_helperFactoryMock = $this->getMock('Magento\Core\Model\Factory\Helper', array(), array(), '', false);
         $this->_storage = $this->getMock('Magento\Core\Model\Store\StorageInterface');
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Decorator/DebugHintsTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Decorator/DebugHintsTest.php
new file mode 100644
index 00000000000..b0db664d169
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Decorator/DebugHintsTest.php
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\Core\Model\TemplateEngine\Decorator;
+
+class DebugHintsTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @param bool $showBlockHints
+     * @dataProvider renderDataProvider
+     */
+    public function testRender($showBlockHints)
+    {
+        $subject = $this->getMock('Magento\Core\Model\TemplateEngine\EngineInterface');
+        $block = $this->getMock('Magento\Core\Block\Template', array(), array(), 'TestBlock', false);
+        $subject
+            ->expects($this->once())
+            ->method('render')
+            ->with($this->identicalTo($block), 'template.phtml', array('var' => 'val'))
+            ->will($this->returnValue('<div id="fixture"/>'))
+        ;
+        $model = new DebugHints($subject, $showBlockHints);
+        $actualResult = $model->render($block, 'template.phtml', array('var' => 'val'));
+        $this->assertSelectEquals('div > div[title="template.phtml"]', 'template.phtml', 1, $actualResult);
+        $this->assertSelectCount('div > div#fixture', 1, $actualResult);
+        $this->assertSelectEquals('div > div[title="TestBlock"]', 'TestBlock', (int)$showBlockHints, $actualResult);
+    }
+
+    public function renderDataProvider()
+    {
+        return array(
+            'block hints disabled'  => array(false),
+            'block hints enabled'   => array(true),
+        );
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/FactoryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/FactoryTest.php
index 0fa29dcd46f..6bdf3d4a83f 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/FactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/FactoryTest.php
@@ -26,78 +26,58 @@ namespace Magento\Core\Model\TemplateEngine;
 
 class FactoryTest extends \PHPUnit_Framework_TestCase
 {
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_objectManagerMock;
-
-    /** @var  \Magento\Core\Model\TemplateEngine\Factory */
-    protected $_factory;
-
     /**
-     * Setup a factory to test with an mocked object manager.
+     * @var Factory
      */
-    protected function setUp()
-    {
-        $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
-        $this->_factory = new \Magento\Core\Model\TemplateEngine\Factory($this->_objectManagerMock);
-    }
+    protected $_model;
 
     /**
-     * Test getting a phtml engine
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    public function testGetPhtmlEngine()
+    protected $_objectManager;
+
+    protected function setUp()
     {
-        $phtmlEngineMock = $this->getMock('Magento\Core\Model\TemplateEngine\Php');
-        $this->_objectManagerMock->expects($this->once())
-            ->method('get')
-            ->with($this->equalTo('Magento\Core\Model\TemplateEngine\Php'))
-            ->will($this->returnValue($phtmlEngineMock));
-        $actual = $this->_factory->get(\Magento\Core\Model\TemplateEngine\Factory::ENGINE_PHTML);
-        $this->assertSame($phtmlEngineMock, $actual, 'phtml engine not returned');
+        $this->_objectManager = $this->getMock('Magento\ObjectManager');
+        $this->_model = new Factory($this->_objectManager, array(
+            'test' => 'Fixture\Module\Model\TemplateEngine',
+        ));
     }
 
-    /**
-     * Test getting a Twig engine
-     */
-    public function testGetTwigEngine()
+    public function testCreateKnownEngine()
     {
-        $twigEngineMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig')
-            ->disableOriginalConstructor()->getMock();
-        $this->_objectManagerMock->expects($this->once())
-            ->method('get')
-            ->with($this->equalTo('Magento\Core\Model\TemplateEngine\Twig'))
-            ->will($this->returnValue($twigEngineMock));
-        $actual = $this->_factory->get(\Magento\Core\Model\TemplateEngine\Factory::ENGINE_TWIG);
-        $this->assertSame($twigEngineMock, $actual, 'phtml engine not returned');
+        $engine = $this->getMock('Magento\Core\Model\TemplateEngine\EngineInterface');
+        $this->_objectManager
+            ->expects($this->once())
+            ->method('create')
+            ->with('Fixture\Module\Model\TemplateEngine')
+            ->will($this->returnValue($engine))
+        ;
+        $this->assertSame($engine, $this->_model->create('test'));
     }
 
     /**
-     * Test attempting to get an engine the factory does not know about (neither Twig nor Phtml.)
-     *
-     * Should throw an exception
-     *
      * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage Unknown template engine type: NotAnEngineName
+     * @expectedExceptionMessage Unknown template engine 'non_existing'
      */
-    public function testGetBadEngine()
+    public function testCreateUnknownEngine()
     {
-        $this->_objectManagerMock->expects($this->never())
-            ->method('get');
-        $this->_factory->get('NotAnEngineName');
+        $this->_objectManager->expects($this->never())->method('create');
+        $this->_model->create('non_existing');
     }
 
     /**
-     * Test attempting to get an engine passing in null as the engine type.
-     *
-     * Should throw an exception
-     *
-     * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage Unknown template engine type:
+     * @expectedException \UnexpectedValueException
+     * @expectedExceptionMessage Fixture\Module\Model\TemplateEngine has to implement the template engine interface
      */
-    public function testGetNullEngine()
+    public function testCreateInvalidEngine()
     {
-        $this->_objectManagerMock->expects($this->never())
-            ->method('get');
-        $this->_factory->get(NULL);
+        $this->_objectManager
+            ->expects($this->once())
+            ->method('create')
+            ->with('Fixture\Module\Model\TemplateEngine')
+            ->will($this->returnValue(new \stdClass()))
+        ;
+        $this->_model->create('test');
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Plugin/DebugHintsTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Plugin/DebugHintsTest.php
new file mode 100644
index 00000000000..5e78237ce6f
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Plugin/DebugHintsTest.php
@@ -0,0 +1,123 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\Core\Model\TemplateEngine\Plugin;
+
+class DebugHintsTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var DebugHints
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_objectManager;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeConfig;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_coreData;
+
+    protected function setUp()
+    {
+        $this->_objectManager = $this->getMock('Magento\ObjectManager');
+        $this->_storeConfig = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
+        $this->_coreData = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
+        $this->_model = new DebugHints($this->_objectManager, $this->_storeConfig, $this->_coreData);
+    }
+
+    /**
+     * @param bool $showBlockHints
+     * @dataProvider afterCreateActiveDataProvider
+     */
+    public function testAfterCreateActive($showBlockHints)
+    {
+        $this->_coreData->expects($this->once())->method('isDevAllowed')->will($this->returnValue(true));
+        $this->_setupConfigFixture(true, $showBlockHints);
+        $engine = $this->getMock('Magento\Core\Model\TemplateEngine\EngineInterface');
+        $engineDecorated = $this->getMock('Magento\Core\Model\TemplateEngine\EngineInterface');
+        $this->_objectManager
+            ->expects($this->once())
+            ->method('create')
+            ->with(
+                'Magento\Core\Model\TemplateEngine\Decorator\DebugHints',
+                $this->identicalTo(array('subject' => $engine, 'showBlockHints' => $showBlockHints))
+            )
+            ->will($this->returnValue($engineDecorated))
+        ;
+        $this->assertEquals($engineDecorated, $this->_model->afterCreate($engine));
+    }
+
+    public function afterCreateActiveDataProvider()
+    {
+        return array(
+            'block hints disabled'  => array(false),
+            'block hints enabled'   => array(true),
+        );
+    }
+
+    /**
+     * @param bool $isDevAllowed
+     * @param bool $showTemplateHints
+     * @dataProvider afterCreateInactiveDataProvider
+     */
+    public function testAfterCreateInactive($isDevAllowed, $showTemplateHints)
+    {
+        $this->_coreData->expects($this->any())->method('isDevAllowed')->will($this->returnValue($isDevAllowed));
+        $this->_setupConfigFixture($showTemplateHints, true);
+        $this->_objectManager->expects($this->never())->method('create');
+        $engine = $this->getMock('Magento\Core\Model\TemplateEngine\EngineInterface');
+        $this->assertSame($engine, $this->_model->afterCreate($engine));
+    }
+
+    public function afterCreateInactiveDataProvider()
+    {
+        return array(
+            'dev disabled, template hints disabled' => array(false, false),
+            'dev disabled, template hints enabled'  => array(false, true),
+            'dev enabled, template hints disabled'  => array(true, false),
+        );
+    }
+
+    /**
+     * Setup fixture values for store config
+     *
+     * @param bool $showTemplateHints
+     * @param bool $showBlockHints
+     */
+    protected function _setupConfigFixture($showTemplateHints, $showBlockHints)
+    {
+        $this->_storeConfig->expects($this->atLeastOnce())->method('getConfig')->will($this->returnValueMap(array(
+            array(DebugHints::XML_PATH_DEBUG_TEMPLATE_HINTS, null, $showTemplateHints),
+            array(DebugHints::XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS, null, $showBlockHints),
+        )));
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/PoolTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/PoolTest.php
new file mode 100644
index 00000000000..4c2bb471b90
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/PoolTest.php
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\Core\Model\TemplateEngine;
+
+class PoolTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var Pool
+     */
+    protected $_model;
+
+    /**
+     * @var\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_factory;
+
+    protected function setUp()
+    {
+        $this->_factory = $this->getMock('Magento\Core\Model\TemplateEngine\Factory', array(), array(), '', false);
+        $this->_model = new Pool($this->_factory);
+    }
+
+    public function testGet()
+    {
+        $engine = $this->getMock('Magento\Core\Model\TemplateEngine\EngineInterface');
+        $this->_factory
+            ->expects($this->once())
+            ->method('create')
+            ->with('test')
+            ->will($this->returnValue($engine))
+        ;
+        $this->assertSame($engine, $this->_model->get('test'));
+        // Make sure factory is invoked only once and the same instance is returned afterwards
+        $this->assertSame($engine, $this->_model->get('test'));
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/CommonFunctionsTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/CommonFunctionsTest.php
deleted file mode 100644
index 06bdb9c4cfe..00000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/CommonFunctionsTest.php
+++ /dev/null
@@ -1,220 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class CommonFunctionsTest extends \PHPUnit_Framework_TestCase
-{
-    /** @var \Magento\Core\Model\TemplateEngine\Twig\CommonFunctions */
-    protected $_commonFunctions;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_urlBuilderMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_urlHelperMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_dataHelperMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_storeManagerMock;
-
-    /** @var \Magento\Core\Model\View\Url  */
-    protected $_viewUrl;
-
-    /** @var \Magento\Core\Model\View\Config   */
-    protected $_viewConfig;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_helperImageMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_loggerMock;
-
-    /** @var \Magento\Core\Model\LocaleInterface  */
-    protected $_localeMock;
-
-    protected function setUp()
-    {
-        $this->_urlBuilderMock = $this->getMock('Magento\Core\Model\UrlInterface');
-        $this->_urlHelperMock = $this->getMockBuilder('Magento\Core\Helper\Url')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_dataHelperMock = $this->getMockBuilder('Magento\Core\Helper\Data')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_storeManagerMock = $this->getMockBuilder('Magento\Core\Model\StoreManager')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_viewUrl = $this->getMockBuilder('Magento\Core\Model\View\Url')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_viewConfig = $this->getMockBuilder('Magento\Core\Model\View\Config')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_helperImageMock = $this->getMockBuilder('Magento\Catalog\Helper\Image')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_loggerMock = $this->getMockBuilder('Magento\Core\Model\Logger')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_localeMock = $this->getMockBuilder('Magento\Core\Model\LocaleInterface')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_commonFunctions = new \Magento\Core\Model\TemplateEngine\Twig\CommonFunctions(
-            $this->_urlBuilderMock,
-            $this->_urlHelperMock,
-            $this->_dataHelperMock,
-            $this->_storeManagerMock,
-            $this->_viewUrl,
-            $this->_viewConfig,
-            $this->_helperImageMock,
-            $this->_loggerMock,
-            $this->_localeMock
-        );
-    }
-
-    /**
-     * Test that the getFunctions return arrays of appropriate types
-     */
-    public function testGetFunctions()
-    {
-        /** @var array $functions */
-        $functions = $this->_commonFunctions->getFunctions();
-
-        $this->assertInternalType('array', $functions);
-        $this->assertTrue(count($functions) >= 1, 'Functions array does not contain any elements');
-        $this->assertContainsOnly('Twig_SimpleFunction', $functions, false,
-            'Contains something that is not a Twig function.');
-
-    }
-
-    /**
-     * Test getViewFileUrl happy path.
-     */
-    public function testGetViewFileUrl()
-    {
-        $themesUrl = "http://www.example.com/themes";
-
-        $this->_viewUrl->expects($this->once())
-            ->method('getViewFileUrl')
-            ->will($this->returnValue($themesUrl));
-
-        $actual = $this->_commonFunctions->getViewFileUrl('file');
-        $this->assertEquals($themesUrl, $actual, 'Themes url returned from getViewFileUrl did not match expected');
-    }
-
-    /**
-     * Test getViewFileUrl when model throws an exception
-     */
-    public function testGetViewFileUrlException()
-    {
-        $magentoException = new \Magento\Exception('test exception');
-        $notFoundUrl = 'not found';
-
-        $this->_viewUrl->expects($this->once())
-            ->method('getViewFileUrl')
-            ->will($this->throwException($magentoException));
-        $this->_loggerMock->expects($this->once())
-            ->method('logException')
-            ->with($this->equalTo($magentoException));
-        $this->_urlBuilderMock->expects($this->once())
-            ->method('getUrl')
-            ->will($this->returnValue($notFoundUrl));
-
-        $actual = $this->_commonFunctions->getViewFileUrl('file');
-        $this->assertEquals($notFoundUrl, $actual, 'Not Found url returned from getViewFileUrl did not match');
-    }
-
-    /**
-     * Data provider for testGetSelectFromToHtml.
-     *
-     * Provide varying ranges of 'from' and 'to' indexes along with the
-     * expected output array.
-     *
-     * @return array
-     */
-    public function getSelectFromToHtmlDataProvider()
-    {
-        return array(
-            array( 1, 2, array(
-                array('value' => '', 'label' => '-'),
-                array('value' => '1', 'label' => '01'),
-                array('value' => '2', 'label' => '02'))
-            ),
-            array( 8, 11, array(
-                array('value' => '', 'label' => '-'),
-                array('value' => '8', 'label' => '08'),
-                array('value' => '9', 'label' => '09'),
-                array('value' => '10', 'label' => '10'),
-                array('value' => '11', 'label' => '11'))
-            ),
-            array( 99, 101, array(
-                array('value' => '', 'label' => '-'),
-                array('value' => '99', 'label' => '99'),
-                array('value' => '100', 'label' => '100'),
-                array('value' => '101', 'label' => '101'))
-            )
-        );
-    }
-
-    /**
-     * @dataProvider getSelectFromToHtmlDataProvider
-     */
-    public function testGetSelectFromToHtml($fromNumber, $toNumber, $expectedOptions)
-    {
-        $selectBlockMock = $this->getMockBuilder('Magento\Core\Block\Html\Select')
-            ->disableOriginalConstructor()
-            ->getMock();;
-
-        $selectBlockMock->expects($this->once())
-            ->method('setOptions')
-            ->with($this->equalTo($expectedOptions))
-            ->will($this->returnValue($selectBlockMock));
-
-        $name = 'name';
-        $nameOptionsById = array('aliasA' => 'blockA');
-        $optionsId = 'options_id';
-        $this->_commonFunctions->getSelectFromToHtml($selectBlockMock,
-            $name, $fromNumber, $toNumber, $nameOptionsById, $optionsId );
-    }
-
-    public function testGetSelectHtml()
-    {
-        $selectBlockMock = $this->getMockBuilder('Magento\Core\Block\Html\Select')
-            ->disableOriginalConstructor()
-            ->getMock();;
-
-        $selectBlockMock->expects($this->once())
-            ->method('setOptions')
-            ->will($this->returnValue($selectBlockMock));
-
-        $optionId = 'anId';
-        $name = 'name';
-        $nameOptionsById = array('aliasA' => 'blockA');;
-        $this->_commonFunctions->getSelectHtml($selectBlockMock, $optionId, $name, $nameOptionsById );
-
-    }
-}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/EnvironmentFactoryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/EnvironmentFactoryTest.php
deleted file mode 100644
index c3b9bd65557..00000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/EnvironmentFactoryTest.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class EnvironmentFactoryTest extends \PHPUnit_Framework_TestCase
-{
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_dirMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    private $_extension;
-    
-    /** @var \PHPUnit_Framework_MockObject_MockObject \Magento\Core\Model\TemplateEngine\Twig\FullFileName */
-    private $_loaderMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject \Magento\Filesystem */
-    private $_filesystem;
-    
-    /** @var \PHPUnit_Framework_MockObject_MockObject \Magento\Core\Model\Logger */
-    private $_loggerMock;
-    
-    /**
-     * Validate \Twig_Environment returned on call
-     */
-    public function testCreatePositive()
-    {
-        $this->_filesystem->expects($this->any())
-            ->method('createDirectory')
-            ->will($this->returnValue(null));
-        
-        $inst = new \Magento\Core\Model\TemplateEngine\Twig\EnvironmentFactory(
-            $this->_filesystem,
-            $this->_extension,
-            $this->_dirMock,
-            $this->_loggerMock,
-            $this->_loaderMock
-        );
-        /**
-         * @var \Twig_Environment $factoryInst
-         */
-        $factoryInst = $inst->create();
-        $this->assertInstanceOf('Twig_Environment', $factoryInst);
-    }
-
-    /**
-     * Validate \Twig_Environment returned on call even though directory not created
-     */
-    public function testCreateNegative()
-    {
-        $this->_filesystem->expects($this->any())
-            ->method('createDirectory')
-            ->will($this->throwException(new \Magento\Filesystem\FilesystemException()));
-    
-        $inst = new \Magento\Core\Model\TemplateEngine\Twig\EnvironmentFactory(
-            $this->_filesystem,
-            $this->_extension,
-            $this->_dirMock,
-            $this->_loggerMock,
-            $this->_loaderMock
-        );
-        /**
-         * @var \Twig_Environment $factoryInst
-        */
-        $factoryInst = $inst->create();
-        $this->assertInstanceOf('Twig_Environment', $factoryInst);
-    }
-    
-    protected function setUp()
-    {
-        $this->_filesystem = $this->getMockBuilder('Magento\Filesystem')
-            ->disableOriginalConstructor()
-            ->getMock();
-                
-        $this->_dirMock = $this->getMockBuilder('Magento\Core\Model\Dir')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_loaderMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig\FullFileName')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_extensionFactory = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig\ExtensionFactory')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_extension = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig\Extension')
-            ->disableOriginalConstructor()
-            ->getMock();
-        
-        $this->_loggerMock = $this->getMockBuilder('Magento\Core\Model\Logger')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/ExtensionTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/ExtensionTest.php
deleted file mode 100644
index 146e894dd59..00000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/ExtensionTest.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class ExtensionTest extends \PHPUnit_Framework_TestCase
-{
-    /** @var \Magento\Core\Model\TemplateEngine\Twig\Extension */
-    protected $_extension;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject  */
-    protected $_commonFunctionsMock;
-
-    /** @var  \PHPUnit_Framework_MockObject_MockObject */
-    protected $_layoutFunctionsMock;
-
-    /** @var  \PHPUnit_Framework_MockObject_MockObject */
-    protected $_blockTrackerMock;
-
-    protected function setUp()
-    {
-        $this->_blockTrackerMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\BlockTrackerInterface')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_commonFunctionsMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig\CommonFunctions')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_layoutFunctionsMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig\LayoutFunctions')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_extension = new \Magento\Core\Model\TemplateEngine\Twig\Extension(
-            $this->_commonFunctionsMock,
-            $this->_layoutFunctionsMock
-        );
-        $this->_extension->setBlockTracker($this->_blockTrackerMock);
-    }
-
-    /**
-     * Verify getName always returns 'Magento'
-     */
-    public function testGetName()
-    {
-        $this->assertSame('Magento', $this->_extension->getName(), 'Name should be Magento');
-    }
-
-    /**
-     * Test that the getFunctions and getFilters return arrays of appropriate types
-     */
-    public function testGetFunctionsAndFilters()
-    {
-        $layoutFunc = array($this->getMockBuilder('Twig_SimpleFunction')->disableOriginalConstructor()->getMock());
-        $commonFunc = array($this->getMockBuilder('Twig_SimpleFunction')->disableOriginalConstructor()->getMock());
-        $expectedFunctions = array_merge($commonFunc, $layoutFunc);
-
-        $this->_layoutFunctionsMock->expects($this->once())
-            ->method('getFunctions')
-            ->will($this->returnValue($layoutFunc));
-        $this->_commonFunctionsMock->expects($this->once())
-            ->method('getFunctions')
-            ->will($this->returnValue($commonFunc));
-
-        /** @var array $functions */
-        $functions = $this->_extension->getFunctions();
-
-        $this->assertInternalType('array', $functions);
-        $this->assertTrue(count($functions) >= 1, 'Functions array does not contain any elements');
-        $this->assertContainsOnly('Twig_SimpleFunction', $functions, false,
-            'Contains something that is not a Twig function.');
-        $this->assertEquals($expectedFunctions, $functions);
-
-        /** @var array $filters */
-        $filters = $this->_extension->getFilters();
-
-        $this->assertInternalType('array', $filters);
-        $this->assertTrue(count($filters) >= 1, 'Filters array does not contain any elements');
-        $this->assertContainsOnly('Twig_SimpleFilter', $filters, false,
-            'Contains something that is not a Twig filter.');
-    }
-
-    /**
-     * Test __ (translate) function
-     */
-    public function testTranslate()
-    {
-        $translated = 'Good day';
-
-        $actual = $this->_extension->translate('Good day');
-        $this->assertEquals($translated, (string)$actual, 'Translation did not work');
-    }
-}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/FullFileNameTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/FullFileNameTest.php
deleted file mode 100644
index b498417516b..00000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/FullFileNameTest.php
+++ /dev/null
@@ -1,151 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class FullFileNameTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var int
-     */
-    private $_prevErrorLevel;
-
-    /**
-     * @var bool
-     */
-    private $_prevFrameworkWarningEnabled;
-
-    /**
-     * @var bool
-     */
-    private $_prevFrameworkNoticeEnabled;
-
-    /** 
-     * @var \PHPUnit_Framework_MockObject_MockObject \Magento\Core\Model\App\State
-     */
-    private $_appStateMock;
-
-    protected function setUp()
-    {
-        // prevent PHPUnit from converting real code exceptions
-        $this->_prevErrorLevel = error_reporting();
-        error_reporting(0);
-        $this->_prevFrameworkNoticeEnabled = \PHPUnit_Framework_Error_Notice::$enabled;
-        \PHPUnit_Framework_Error_Notice::$enabled = false;
-        $this->_prevFrameworkWarningEnabled = \PHPUnit_Framework_Error_Warning::$enabled;
-        \PHPUnit_Framework_Error_Warning::$enabled = false;
-        
-        $this->_appStateMock = $this->getMockBuilder('Magento\Core\Model\App\State')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        // set to return developer mode by default
-        $this->_appStateMock
-            ->expects($this->any())
-            ->method('getMode')
-            ->will($this->returnValue(\Magento\Core\Model\App\State::MODE_DEVELOPER));
-    }
-
-    protected function tearDown()
-    {
-        error_reporting($this->_prevErrorLevel);
-        \PHPUnit_Framework_Error_Warning::$enabled = $this->_prevFrameworkWarningEnabled;
-        \PHPUnit_Framework_Error_Notice::$enabled = $this->_prevFrameworkNoticeEnabled;
-    }
-
-    public function testFileExistencePositive()
-    {
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($this->_appStateMock);
-        
-        $this->assertNotNull($loader->getSource(__FILE__));
-    }
-
-    /**
-     * @expectedException \Twig_Error_Loader
-     */
-    public function testFileExistenceNegative()
-    {
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($this->_appStateMock);
-        $loader->getSource(__FILE__ . 'jnk');
-    }
-
-    public function testGetCacheKey()
-    {
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($this->_appStateMock);
-
-        $keyActual = "SomeKey";
-        $keyExpected = $loader->getCacheKey($keyActual);
-
-        $this->assertEquals($keyActual, $keyExpected);
-    }
-
-    public function testExists()
-    {
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($this->_appStateMock);
-
-        $exists = $loader->exists(__FILE__);
-        $this->assertEquals($exists, true);
-    }
-
-    public function testExistsBadFile()
-    {
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($this->_appStateMock);
-
-        $name = 'bad-file';
-        $exists = $loader->exists($name);
-        $this->assertEquals($exists, false);
-    }
-
-    public function testIsFreshPositive()
-    {
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($this->_appStateMock);
-
-        $this->assertEquals(true, $loader->isFresh(__FILE__, PHP_INT_MAX));
-        $this->assertEquals(false, $loader->isFresh(__FILE__, 0));
-    }
-
-    /**
-     * @expectedException \Twig_Error_Loader
-     */
-    public function testIsFreshNegative()
-    {
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($this->_appStateMock);
-
-        $this->assertEquals(false, $loader->isFresh('bad-file', 0));
-    }
-
-    public function testIsFreshAppModes() 
-    {
-        // set to return production mode
-        $productionStateMock = $this->getMockBuilder('Magento\Core\Model\App\State')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $productionStateMock->expects($this->any())
-            ->method('getMode')
-            ->will($this->returnValue(\Magento\Core\Model\App\State::MODE_PRODUCTION));
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($productionStateMock);
-
-        // in production mode, even a bad file will return as fresh
-        $this->assertEquals(true, $loader->isFresh('bad-file', 0));
-    }
-}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/LayoutFunctionsTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/LayoutFunctionsTest.php
deleted file mode 100644
index 5c2e25ffc2c..00000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/LayoutFunctionsTest.php
+++ /dev/null
@@ -1,214 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class LayoutFunctionsTest extends \PHPUnit_Framework_TestCase
-{
-    /** @var \Magento\Core\Model\TemplateEngine\Twig\LayoutFunctions */
-    protected $_layoutFunctions;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_layoutMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject  */
-    protected $_blockTrackerMock;
-
-    protected function setUp()
-    {
-        $this->_layoutMock = $this->getMockBuilder('Magento\Core\Model\Layout')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_blockTrackerMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\BlockTrackerInterface')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_layoutFunctions = new \Magento\Core\Model\TemplateEngine\Twig\LayoutFunctions(
-            $this->_layoutMock
-        );
-        $this->_layoutFunctions->setBlockTracker($this->_blockTrackerMock);
-    }
-
-    /**
-     * Test that the getFunctions return arrays of appropriate types
-     */
-    public function testGetFunctions()
-    {
-        /** @var array $functions */
-        $functions = $this->_layoutFunctions->getFunctions();
-
-        $this->assertInternalType('array', $functions);
-        $this->assertTrue(count($functions) >= 1, 'Functions array does not contain any elements');
-        $this->assertContainsOnly('Twig_SimpleFunction', $functions, false,
-            'Contains something that is not a Twig function.');
-    }
-
-    /**
-     * Tests getChildHtml
-     *
-     * Sets childBlock to be a child of parentBlock.
-     * Sets parentBlock to be the current block.
-     * Then when getChildHtml is returned it should return html from childBlock
-     */
-    public function testGetChildHtml()
-    {
-        $childBlockHtml = '<p>block mock B</p>';
-
-        $parentBlockMock = $this->getMockBuilder('Magento\Core\Block\Template')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $parentBlockMock->expects($this->any())
-            ->method('getNameInLayout')
-            ->will($this->returnValue('parentBlockMock'));
-
-        $this->_layoutMock->expects($this->once())
-            ->method('getChildNames')->with($this->equalTo('parentBlockMock'))
-            ->will($this->returnValue(array('childBlockMock')));
-
-        $this->_layoutMock->expects($this->once())
-            ->method('renderElement')
-            ->with($this->equalTo('childBlockMock'), $this->equalTo(true))
-            ->will($this->returnValue($childBlockHtml));
-
-        // Set the current block to blockA and get the child's html
-        $this->_blockTrackerMock->expects($this->once())
-            ->method('getCurrentBlock')
-            ->will($this->returnValue($parentBlockMock));
-
-        $actual = $this->_layoutFunctions->getChildHtml();
-
-        $this->assertEquals($childBlockHtml, $actual, 'actual child html did not match expected');
-    }
-
-    /**
-     * Tests setCurrentBlock, and getChildHtml.
-     *
-     * Sets childBock to be a child of parentBlock.
-     * Sets parentBlock to be the current block.
-     * Then when getChildHtml is returned it should return html from childBlock
-     */
-    public function testRenderBlockWithAlias()
-    {
-        $childBlockHtml = '<p>child block mock</p>';
-
-        $parentBlockMock = $this->getMockBuilder('Magento\Core\Block\Template')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $parentBlockMock->expects($this->any())
-            ->method('getNameInLayout')
-            ->will($this->returnValue('parentBlockMock'));
-
-        $this->_layoutMock->expects($this->once())
-            ->method('getChildName')
-            ->with($this->equalTo('parentBlockMock'), $this->equalTo('anAlias'))
-            ->will($this->returnValue('childBlockMock'));
-
-        $this->_layoutMock->expects($this->once())
-            ->method('renderElement')
-            ->with($this->equalTo('childBlockMock'), $this->equalTo(true))
-            ->will($this->returnValue($childBlockHtml));
-
-        $actual = $this->_layoutFunctions->renderBlock('parentBlockMock', 'anAlias');
-
-        $this->assertEquals($childBlockHtml, $actual, 'actual child html did not match expected');
-    }
-
-    /**
-     * test getBlockData with and without the block in the layout
-     */
-    public function testGetBlockData()
-    {
-        $key = 'aKey';
-        $someData = 'this is some data';
-
-        $blockMock = $this->getMockBuilder('Magento\Core\Block\Template')
-            ->disableOriginalConstructor()
-            ->getMock();;
-        $blockMock->expects($this->any())
-            ->method('getData')
-            ->with($this->equalTo($key))
-            ->will($this->returnValue($someData));
-
-        $map = array(
-            array('datalessBlock', NULL),
-            array('dataBlock', $blockMock)
-        );
-
-        $this->_layoutMock->expects($this->any())
-            ->method('getBlock')
-            ->will($this->returnValueMap($map));
-
-        $actual = $this->_layoutFunctions->getBlockData('datalessBlock');
-        $this->assertNull($actual, 'datalessBlock should have returned null');
-        $actual = $this->_layoutFunctions->getBlockData('dataBlock', $key);
-        $this->assertEquals($someData, $actual, 'dataBlock did not return expected data');
-    }
-
-    /**
-     * Test getBlockNameByAlias
-     *
-     * Do with mock layout returning a valid name and without
-     */
-    public function testGetBlockNameByAlias()
-    {
-        $parentName = 'ParentName';
-        $goodAlias = 'anAlias';
-        $badAlias = 'hasNoName';
-        $name = 'aName';
-
-        $this->_layoutMock->expects($this->at(0))
-            ->method('getChildName')
-            ->with($this->equalTo($parentName), $this->equalTo($goodAlias))
-            ->will($this->returnValue($name));
-
-        $this->_layoutMock->expects($this->at(1))
-            ->method('getChildName')
-            ->with($this->equalTo($parentName), $this->equalTo($badAlias))
-            ->will($this->returnValue(false));
-
-        $actual = $this->_layoutFunctions->getBlockNameByAlias($parentName, $goodAlias);
-        $this->assertEquals($name, $actual, 'dataBlock did not return expected data');
-        $actual = $this->_layoutFunctions->getBlockNameByAlias($parentName, $badAlias);
-        $this->assertEquals('', $actual, 'datalessBlock should have returned empty string');
-    }
-
-    /**
-     * Test getGroupChildNames
-     */
-    public function testGetGroupChildNames()
-    {
-        $parentName = 'ParentName';
-        $groupName = 'GroupName';
-        $aliasArray = array('aliasA' => 'blockA');
-
-        $this->_layoutMock->expects($this->once())
-            ->method('getGroupChildNames')
-            ->with($this->equalTo($parentName), $this->equalTo($groupName))
-            ->will($this->returnValue($aliasArray));
-
-        $actual = $this->_layoutFunctions->getGroupChildNames($parentName, $groupName);
-        $this->assertEquals($aliasArray, $actual, 'getGroupChildNames did not return expected aliasArray');
-    }
-
-
-}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/_files/twig_templates/READEME.txt b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/_files/twig_templates/READEME.txt
deleted file mode 100644
index 2b6778c2f50..00000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/_files/twig_templates/READEME.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This file exists for unit testing purposes.  The code uses core php directory functions which cannot be mocked.
-Thereby the twig_templates directory exists for this reason.
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/TwigTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/TwigTest.php
deleted file mode 100644
index 9b0c4e7e753..00000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/TwigTest.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine;
-
-class TwigTest extends \PHPUnit_Framework_TestCase
-{
-    /** @var  \Magento\Core\Model\TemplateEngine\Twig */
-    protected $_twigEngine;
-
-    /** @var  \PHPUnit_Framework_MockObject_MockObject \Magento\Core\Model\TemplateEngine_EnvironmentFactory */
-    protected $_envFactoryMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    private $_extMock;
-
-    /**
-     * Create a Twig template engine to test.
-     */
-    protected function setUp()
-    {
-        // Objects that are injected into \Magento\Core\Model\TemplateEngine\Twig
-        $this->_envFactoryMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig\EnvironmentFactory')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_extMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig\Extension')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_twigEngine
-            = new \Magento\Core\Model\TemplateEngine\Twig($this->_envFactoryMock, $this->_extMock);
-    }
-
-    /**
-     * Test the render() function with a very simple .twig file.
-     */
-    public function testRenderPositive()
-    {
-        $renderedOutput = '<html></html>';
-        $blockMock = $this->getMockBuilder('Magento\Core\Block\Template')
-            ->disableOriginalConstructor()->getMock();
-        $environmentMock = $this->getMockBuilder('Twig_Environment')->disableOriginalConstructor()->getMock();
-        $environmentMock->expects($this->once())->method('render')->will($this->returnValue($renderedOutput));
-        $this->_envFactoryMock->expects($this->once())->method('create')->will(
-            $this->returnValue($environmentMock)
-        );
-        $actualOutput = $this->_twigEngine->render($blockMock, '');
-        $this->assertSame($renderedOutput, $actualOutput, 'Twig file did not render properly');
-    }
-
-    /**
-     * Test the render() function such that it throws an exception
-     * 
-     * @expectedException \Magento\Exception
-     */    
-    public function testRenderNegative() 
-    {
-        $blockMock = $this->getMockBuilder('Magento\Core\Block\Template')
-        ->disableOriginalConstructor()->getMock();
-        $environmentMock = $this->getMockBuilder('Twig_Environment')
-            ->disableOriginalConstructor()->getMock();
-        $environmentMock->expects($this->once())
-            ->method('render')
-            ->will($this->throwException(new \Magento\Exception()));
-        $this->_envFactoryMock->expects($this->once())->method('create')->will(
-                $this->returnValue($environmentMock)
-        );
-        $this->_twigEngine->render($blockMock, '');
-    }
-    
-    /**
-     * Test the getCurrentBlock function.
-     *
-     * Since its set/reset during render(), make sure it does not return anything when empty.
-     */
-    public function testGetCurrentBlock()
-    {
-        $block = $this->_twigEngine->getCurrentBlock();
-        $this->assertNull($block);
-    }
-}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateTest.php
index 0f50e4f16b7..6faa9a26385 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateTest.php
@@ -47,7 +47,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
             $helper->getConstructArguments(
                 'Magento\Core\Model\Template',
                 array(
-                    'design' => $this->getMock('Magento\Core\Model\View\DesignInterface'),
+                    'design' => $this->getMock('Magento\View\DesignInterface'),
                     'data' => array(
                         'area' => \Magento\Core\Model\App\Area::AREA_FRONTEND,
                         'store' => 1
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/CopyServiceTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/CopyServiceTest.php
index 307e381026f..4940b63e823 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/CopyServiceTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/CopyServiceTest.php
@@ -169,7 +169,7 @@ class CopyServiceTest extends \PHPUnit_Framework_TestCase
             array('addThemeFilter', 'getIterator'), array(), '', false);
         $this->_link->expects($this->any())->method('getCollection')->will($this->returnValue($this->_linkCollection));
 
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array('dispatch'), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array('dispatch'), array(), '', false);
 
         $this->_object = new \Magento\Core\Model\Theme\CopyService(
             $this->_filesystem,
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Customization/PathTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Customization/PathTest.php
index a59ccb9d480..0daccfaaadc 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Customization/PathTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Customization/PathTest.php
@@ -50,7 +50,7 @@ class PathTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_theme = $this->getMock('Magento\Core\Model\Theme', null, array(), '', false);
-        $this->_dir = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dir = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_model = new \Magento\Core\Model\Theme\Customization\Path($this->_dir);
     }
 
@@ -67,7 +67,7 @@ class PathTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetCustomizationPath()
     {
-        $this->_dir->expects($this->once())->method('getDir')->with(\Magento\Core\Model\Dir::MEDIA)
+        $this->_dir->expects($this->once())->method('getDir')->with(\Magento\App\Dir::MEDIA)
             ->will($this->returnValue('/media_dir'));
         $expectedPath = implode(
             DIRECTORY_SEPARATOR,
@@ -83,7 +83,7 @@ class PathTest extends \PHPUnit_Framework_TestCase
     public function testGetThemeFilesPath()
     {
         $this->_theme->setArea('area51');
-        $this->_dir->expects($this->once())->method('getDir')->with(\Magento\Core\Model\Dir::THEMES)
+        $this->_dir->expects($this->once())->method('getDir')->with(\Magento\App\Dir::THEMES)
             ->will($this->returnValue('/themes_dir'));
         $expectedPath = implode(
             \Magento\Filesystem::DIRECTORY_SEPARATOR,
@@ -101,7 +101,7 @@ class PathTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetCustomViewConfigPath()
     {
-        $this->_dir->expects($this->once())->method('getDir')->with(\Magento\Core\Model\Dir::MEDIA)
+        $this->_dir->expects($this->once())->method('getDir')->with(\Magento\App\Dir::MEDIA)
             ->will($this->returnValue('/media_dir'));
         $expectedPath = implode(
             DIRECTORY_SEPARATOR,
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Domain/PhysicalTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Domain/PhysicalTest.php
index d137e9f24c5..5f325c4074c 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Domain/PhysicalTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Domain/PhysicalTest.php
@@ -89,7 +89,7 @@ class PhysicalTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue(1));
 
         $domainModel = new \Magento\Core\Model\Theme\Domain\Physical(
-            $this->getMock('Magento\Core\Model\Theme', array(), array(), '', false, false),
+            $this->getMock('Magento\View\Design\ThemeInterface', array(), array(), '', false, false),
             $themeFactory,
             $copyService,
             $themeCollection
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Image/PathTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Image/PathTest.php
index 5f32cbd8807..f1a61dca10f 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Image/PathTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Image/PathTest.php
@@ -54,11 +54,11 @@ class PathTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_dirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirMock = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_viewUrlMock = $this->getMock('Magento\Core\Model\View\Url', array(), array(), '', false);
         $this->_storeManagerMock = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
 
-        $this->_dirMock->expects($this->any())->method('getDir')->with(\Magento\Core\Model\Dir::MEDIA)
+        $this->_dirMock->expects($this->any())->method('getDir')->with(\Magento\App\Dir::MEDIA)
             ->will($this->returnValue('/media'));
 
         $this->_model = new \Magento\Core\Model\Theme\Image\Path(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/UrlTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/UrlTest.php
index 510805f8c92..6388dd0cc7b 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/UrlTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/UrlTest.php
@@ -37,19 +37,13 @@ class UrlTest extends \PHPUnit_Framework_TestCase
      */
     protected $_model;
 
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_securityInfoMock;
-
     protected function setUp()
     {
-        $coreStoreConfig = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
-        
-        $this->_securityInfoMock = $this->getMock('Magento\Core\Model\Url\SecurityInfoInterface');
         $this->_model = new \Magento\Core\Model\Url(
-            $this->_securityInfoMock,
-            $coreStoreConfig,
+            $this->getMock('Magento\App\RouterListInterface'),
+            $this->getMock('Magento\App\Request\Http', array(), array(), '', false),
+            $this->getMock('Magento\Core\Model\Url\SecurityInfoInterface'),
+            $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false),
             $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false, false),
             $this->getMock('Magento\Core\Model\App', array(), array(), '', false, false),
             $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false, false),
@@ -85,9 +79,8 @@ class UrlTest extends \PHPUnit_Framework_TestCase
         $controllerName = 'controllerName';
         $actionName = 'actionName';
 
-        $backendData = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false);
-        $requestMock = $this->getMockForAbstractClass('Magento\Core\Controller\Request\Http',
-            array($backendData), '', false, false, true,
+        $requestMock = $this->getMockForAbstractClass('Magento\App\Request\Http',
+            array(), '', false, false, true,
             array('getRequestedRouteName', 'getRequestedControllerName', 'getRequestedActionName'));
 
         $requestMock->expects($this->once())->method('getRequestedRouteName')
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/View/Design/ProxyTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/View/Design/ProxyTest.php
index 61fcf4cabac..8fdabac5f1e 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/View/Design/ProxyTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/View/Design/ProxyTest.php
@@ -37,14 +37,14 @@ class ProxyTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Model\View\DesignInterface
+     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\View\DesignInterface
      */
     protected $_viewDesign;
 
     protected function setUp()
     {
         $this->_objectManager = $this->getMock('Magento\ObjectManager');
-        $this->_viewDesign = $this->getMock('Magento\Core\Model\View\DesignInterface');
+        $this->_viewDesign = $this->getMock('Magento\View\DesignInterface');
         $this->_objectManager->expects($this->once())
             ->method('get')
             ->with('Magento\Core\Model\View\Design')
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/View/FileSystemTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/View/FileSystemTest.php
index f8560b51a67..a0b161bb7c7 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/View/FileSystemTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/View/FileSystemTest.php
@@ -64,7 +64,7 @@ class FileSystemTest extends \PHPUnit_Framework_TestCase
     {
         $params = array(
             'area'       => 'some_area',
-            'themeModel' => $this->getMock('Magento\Core\Model\Theme', array(), array(), '', false, false),
+            'themeModel' => $this->getMock('Magento\View\Design\ThemeInterface', array(), array(), '', false, false),
             'module'     => 'Some_Module'   //It should be set in \Magento\Core\Model\View\Service::extractScope
                                             // but PHPUnit has problems with passing arguments by reference
         );
@@ -95,7 +95,7 @@ class FileSystemTest extends \PHPUnit_Framework_TestCase
     {
         $params = array(
             'area' => 'some_area',
-            'themeModel' => $this->getMock('Magento\Core\Model\Theme', array(), array(), '', false, false),
+            'themeModel' => $this->getMock('Magento\View\Design\ThemeInterface', array(), array(), '', false, false),
             'locale' => 'some_locale'
         );
         $file = 'some_file.ext';
@@ -120,7 +120,7 @@ class FileSystemTest extends \PHPUnit_Framework_TestCase
     {
         $params = array(
             'area'       => 'some_area',
-            'themeModel' => $this->getMock('Magento\Core\Model\Theme', array(), array(), '', false, false),
+            'themeModel' => $this->getMock('Magento\View\Design\ThemeInterface', array(), array(), '', false, false),
             'locale'     => 'some_locale',
             'module'     => 'Some_Module'   //It should be set in \Magento\Core\Model\View\Service::extractScope
                                             // but PHPUnit has problems with passing arguments by reference
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/View/UrlTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/View/UrlTest.php
index 9305be1c635..8d0460a6f08 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/View/UrlTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/View/UrlTest.php
@@ -30,7 +30,7 @@ namespace Magento\Core\Model\View;
 class UrlTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @dataProvider getViewFileUrlProductionModeDataProvider
      */
     public function testGetViewFileUrlProductionMode($themeModel)
@@ -54,8 +54,8 @@ class UrlTest extends \PHPUnit_Framework_TestCase
             ->method('copy');
 
         // 2. Get directories configuration
-        /** @var $dirs \Magento\Core\Model\Dir|PHPUnit_Framework_MockObject_MockObject */
-        $dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        /** @var $dirs \Magento\App\Dir|PHPUnit_Framework_MockObject_MockObject */
+        $dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $dirs->expects($this->any())
             ->method('getDir')
             ->will($this->returnValue('some_dir'));
@@ -125,7 +125,7 @@ class UrlTest extends \PHPUnit_Framework_TestCase
     public static function getViewFileUrlProductionModeDataProvider()
     {
         $usualTheme = \PHPUnit_Framework_MockObject_Generator::getMock(
-            'Magento\Core\Model\Theme',
+            'Magento\View\Design\ThemeInterface',
             array(),
             array(),
             '',
diff --git a/dev/tests/unit/testsuite/Magento/Cron/Model/ObserverTest.php b/dev/tests/unit/testsuite/Magento/Cron/Model/ObserverTest.php
index 68d3e116144..f4fcbf3a320 100644
--- a/dev/tests/unit/testsuite/Magento/Cron/Model/ObserverTest.php
+++ b/dev/tests/unit/testsuite/Magento/Cron/Model/ObserverTest.php
@@ -75,9 +75,8 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         $this->_coreStoreConfig = $this->getMockBuilder('Magento\Core\Model\Store\Config')
             ->disableOriginalConstructor()
             ->getMock();
-
         $this->_collection = $this->getMockBuilder('Magento\Cron\Model\Resource\Schedule\Collection')
-            ->setMethods(array('addFieldToFilter', 'load'))
+            ->setMethods(array('addFieldToFilter', 'load', '__wakeup'))
             ->disableOriginalConstructor()
             ->getMock();
         $this->_collection->expects($this->any())
@@ -134,10 +133,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             ->method('getConfig')
             ->will($this->returnValue(0));
 
-        $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
-            ->setMethods(array('getJobCode'))
-            ->disableOriginalConstructor()
-            ->getMock();
+        $schedule = $this->getMock('Magento\Cron\Model\Schedule', array('getJobCode', '__wakeup'), array(), '', false);
         $schedule->expects($this->once())
             ->method('getJobCode')
             ->will($this->returnValue('not_existed_job_code'));
@@ -174,7 +170,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue(0));
 
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
-            ->setMethods(array('getJobCode', 'tryLockJob', 'getScheduledAt'))
+            ->setMethods(array('getJobCode', 'tryLockJob', 'getScheduledAt', '__wakeup'))
             ->disableOriginalConstructor()
             ->getMock();
         $schedule->expects($this->any())
@@ -222,7 +218,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
 
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
             ->setMethods(
-                array('getJobCode', 'tryLockJob', 'getScheduledAt', 'save', 'setStatus', 'setMessages')
+                array('getJobCode', 'tryLockJob', 'getScheduledAt', 'save', 'setStatus', 'setMessages', '__wakeup')
             )
             ->disableOriginalConstructor()
             ->getMock();
@@ -272,7 +268,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
 
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
             ->setMethods(
-                array('getJobCode', 'tryLockJob', 'getScheduledAt', 'save', 'setStatus', 'setMessages')
+                array('getJobCode', 'tryLockJob', 'getScheduledAt', 'save', 'setStatus', 'setMessages', '__wakeup')
             )
             ->disableOriginalConstructor()
             ->getMock();
@@ -337,7 +333,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
 
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
             ->setMethods(
-                array('getJobCode', 'tryLockJob', 'getScheduledAt', 'save', 'setStatus', 'setMessages')
+                array('getJobCode', 'tryLockJob', 'getScheduledAt', 'save', 'setStatus', 'setMessages', '__wakeup')
             )
             ->disableOriginalConstructor()
             ->getMock();
@@ -413,7 +409,8 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             'setStatus',
             'setMessages',
             'setExecutedAt',
-            'setFinishedAt'
+            'setFinishedAt',
+            '__wakeup',
         );
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
             ->setMethods($scheduleMethods)
@@ -507,7 +504,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue(0));
 
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
-            ->setMethods(array('getJobCode', 'getScheduledAt'))
+            ->setMethods(array('getJobCode', 'getScheduledAt', '__wakeup'))
             ->disableOriginalConstructor()
             ->getMock();
         $schedule->expects($this->any())
@@ -578,7 +575,8 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             'setStatus',
             'trySchedule',
             'unsScheduleId',
-            'save'
+            'save',
+            '__wakeup'
         );
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
             ->setMethods($scheduleMethods)
@@ -604,7 +602,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
 
         $scheduleMock = $this->getMockBuilder('Magento\Cron\Model\Schedule')
             ->disableOriginalConstructor()
-            ->setMethods(array('getCollection'))
+            ->setMethods(array('getCollection', '__wakeup'))
             ->getMock();
         $scheduleMock->expects($this->any())->method('getCollection')->will($this->returnValue($this->_collection));
         $this->_objectManager->expects($this->any())
@@ -622,7 +620,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
     {
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
             ->disableOriginalConstructor()
-            ->setMethods(array('getExecutedAt', 'getStatus', 'delete'))
+            ->setMethods(array('getExecutedAt', 'getStatus', 'delete', '__wakeup'))
             ->getMock();
         $schedule->expects($this->any())->method('getExecutedAt')->will($this->returnValue('-1 day'));
         $schedule->expects($this->any())->method('getStatus')->will($this->returnValue('success'));
@@ -654,7 +652,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($scheduleMock));
 
         $collection = $this->getMockBuilder('Magento\Cron\Model\Resource\Schedule\Collection')
-            ->setMethods(array('addFieldToFilter', 'load'))
+            ->setMethods(array('addFieldToFilter', 'load', '__wakeup'))
             ->disableOriginalConstructor()
             ->getMock();
         $collection->expects($this->any())
diff --git a/dev/tests/unit/testsuite/Magento/Customer/Model/CustomerTest.php b/dev/tests/unit/testsuite/Magento/Customer/Model/CustomerTest.php
index 22b5b0f45d4..36493d26c95 100644
--- a/dev/tests/unit/testsuite/Magento/Customer/Model/CustomerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Customer/Model/CustomerTest.php
@@ -79,7 +79,7 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
             ->getMock();
         $this->_website = $this->getMockBuilder('Magento\Core\Model\Website')
             ->disableOriginalConstructor()
-            ->setMethods(array('getStoreIds'))
+            ->setMethods(array('getStoreIds', '__wakeup'))
             ->getMock();
         $this->_senderMock = $this->getMockBuilder('Magento\Core\Model\Sender')
             ->disableOriginalConstructor()
@@ -91,7 +91,7 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
             ->getMock();
         $this->_attribute = $this->getMockBuilder('Magento\Eav\Model\Attribute')
             ->disableOriginalConstructor()
-            ->setMethods(array('getIsVisible'))
+            ->setMethods(array('getIsVisible', '__wakeup'))
             ->getMock();
         $this->_resourceMock = $this->getMockBuilder('Magento\Customer\Model\Resource\Customer')
             ->disableOriginalConstructor()
@@ -116,7 +116,7 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($this->_storeManager));
 
         $this->_model = new \Magento\Customer\Model\Customer(
-            $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false),
+            $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false),
             $this->_customerData,
             $this->_coreData,
             $this->_contextMock,
diff --git a/dev/tests/unit/testsuite/Magento/Customer/Service/CustomerTest.php b/dev/tests/unit/testsuite/Magento/Customer/Service/CustomerTest.php
index d84a8d5c9e4..e626c4cea16 100644
--- a/dev/tests/unit/testsuite/Magento/Customer/Service/CustomerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Customer/Service/CustomerTest.php
@@ -75,7 +75,7 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
             ->setMethods(array('save', 'generatePassword', 'getOrigData', 'sendNewAccountEmail', 'getConfirmation',
                 'getPrimaryAddress', 'getAddresses', 'getAdditionalAddresses', 'load', 'getId', 'changePassword',
                 'sendPasswordReminderEmail', 'addAddress', 'getAddressItemById', 'getAddressesCollection',
-                'hashPassword', 'changeResetPasswordLinkToken')
+                'hashPassword', 'changeResetPasswordLinkToken', '__wakeup')
             )
             ->disableOriginalConstructor()
             ->getMock();
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/ContainerTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/ContainerTest.php
index 6d89e842c2d..3334222ce77 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/ContainerTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/ContainerTest.php
@@ -86,7 +86,7 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
     public function testPrepareLayout()
     {
         $buttonTitle = 'Back';
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $arguments = $this->_getBlockArguments();
         $arguments['eventManager'] = $eventManager;
 
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Files/ContentTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Files/ContentTest.php
index b04606f6d5d..5321102c2aa 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Files/ContentTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Files/ContentTest.php
@@ -44,7 +44,7 @@ class ContentTest extends \PHPUnit_Framework_TestCase
     protected $_filesContent;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
@@ -52,7 +52,7 @@ class ContentTest extends \PHPUnit_Framework_TestCase
     {
         $this->_helperStorage = $this->getMock('Magento\Theme\Helper\Storage', array(), array(), '', false);
         $this->_urlBuilder = $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false);
-        $this->_request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_request = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
 
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $constructArguments =  $objectManagerHelper->getConstructArguments(
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php
index df942f037b0..2c484716f7f 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php
@@ -46,9 +46,7 @@ class EditorTest extends \PHPUnit_Framework_TestCase
     {
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
 
-        $backendData = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false);
-        $request = $this->getMockForAbstractClass('Magento\Core\Controller\Request\Http',
-            array($backendData), '', false, false, true, array('setActionName'));
+        $request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $request->expects($this->any())->method('setActionName')->will($this->returnSelf());
 
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
@@ -190,7 +188,7 @@ class EditorTest extends \PHPUnit_Framework_TestCase
         $storeManager->expects($this->any())->method('getStore')
             ->will($this->returnSelf());
 
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $configMock = $this->getMock('Magento\Core\Model\Config', array(), array(), '', false);
         $authMock = $this->getMock('Magento\AuthorizationInterface');
         $authMock->expects($this->any())->method('filterAclNodes')->will($this->returnSelf());
@@ -210,7 +208,7 @@ class EditorTest extends \PHPUnit_Framework_TestCase
             ),
             array('Magento\Core\Model\Translate', $translate),
             array('Magento\Core\Model\Config', $configMock),
-            array('Magento\Core\Model\Event\Manager', $eventManager),
+            array('Magento\Event\ManagerInterface', $eventManager),
             array('Magento\Core\Model\StoreManager', $storeManager),
             array('Magento\AuthorizationInterface', $authMock),
             array('Magento\Backend\Model\Session', $backendSession),
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Varien/Router/StandardTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Varien/Router/StandardTest.php
index 717389893d3..10837f626e8 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Varien/Router/StandardTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Varien/Router/StandardTest.php
@@ -44,12 +44,11 @@ class StandardTest extends \PHPUnit_Framework_TestCase
      */
     const VDE_CONFIGURATION_DATA = 'vde_config_data';
 
-    /**#@+
+    /**
      * Test path and host
      */
     const TEST_PATH = '/customer/account';
     const TEST_HOST = 'http://test.domain';
-    /**#@-*/
 
     /**
      * @var \Magento\DesignEditor\Controller\Varien\Router\Standard
@@ -57,7 +56,7 @@ class StandardTest extends \PHPUnit_Framework_TestCase
     protected $_model;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param bool $isVde
      * @param bool $isLoggedIn
      * @param bool $isConfiguration
@@ -67,7 +66,7 @@ class StandardTest extends \PHPUnit_Framework_TestCase
      * @dataProvider matchDataProvider
      */
     public function testMatch(
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         $isVde,
         $isLoggedIn,
         $isConfiguration,
@@ -92,27 +91,25 @@ class StandardTest extends \PHPUnit_Framework_TestCase
         $vdeUrl    = self::TEST_HOST . '/' . self::VDE_FRONT_NAME . self::TEST_PATH;
         $notVdeUrl = self::TEST_HOST . self::TEST_PATH;
 
-        $silencedMethods = array('_isFrontArea');
         $excludedRouters = array(
             'admin' => 'admin router',
             'vde'   => 'vde router',
         );
 
+        $routerListMock = $this->getMock('Magento\App\RouterListInterface');
+
         // test data to verify routers match logic
-        $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
-        $helperMock = $this->getMock('Magento\Backend\Helper\DataProxy', array(), array(), '', false);
-        $matchedRequest = $this->getMock('Magento\Core\Controller\Request\Http',
-            $silencedMethods,
-            array($storeManager, $helperMock, $vdeUrl)
+        $matchedRequest = $this->getMock('Magento\App\Request\Http',
+            array('_isFrontArea'),
+            array($routerListMock, $vdeUrl)
         );
-        $routerMockedMethods = array('match');
 
         $matchedController = $this->getMockForAbstractClass(
-            'Magento\Core\Controller\Varien\AbstractAction', array(), '', false);
+            'Magento\App\Action\AbstractAction', array(), '', false);
 
         // method "match" will be invoked for this router because it's first in the list
         $matchedRouter = $this->getMock(
-            'Magento\Core\Controller\Varien\Router\Base', $routerMockedMethods, array(), '', false
+            'Magento\Core\Controller\Varien\Router\Base', array(), array(), '', false
         );
         $matchedRouter->expects($this->once())
             ->method('match')
@@ -121,7 +118,7 @@ class StandardTest extends \PHPUnit_Framework_TestCase
 
         // method "match" will not be invoked for this router because controller will be found by first router
         $notMatchedRouter = $this->getMock(
-            'Magento\Core\Controller\Varien\Router\Base', $routerMockedMethods, array(), '', false
+            'Magento\Core\Controller\Varien\Router\Base', array(), array(), '', false
         );
         $notMatchedRouter->expects($this->never())
             ->method('match');
@@ -133,8 +130,8 @@ class StandardTest extends \PHPUnit_Framework_TestCase
         return array(
             'not vde request' => array(
                 '$request' => $this->getMock(
-                    'Magento\Core\Controller\Request\Http', $silencedMethods, array(
-                        $storeManager, $helperMock, $notVdeUrl
+                    'Magento\App\Request\Http', array('_isFrontArea'), array(
+                        $routerListMock, $notVdeUrl
                     )
                 ),
                 '$isVde'           => false,
@@ -143,7 +140,7 @@ class StandardTest extends \PHPUnit_Framework_TestCase
             ),
             'not logged as admin' => array(
                 '$request' => $this->getMock(
-                    'Magento\Core\Controller\Request\Http', $silencedMethods, array($storeManager, $helperMock, $vdeUrl)
+                    'Magento\App\Request\Http', array('_isFrontArea'), array($routerListMock, $vdeUrl)
                 ),
                 '$isVde'           => true,
                 '$isLoggedIn'      => false,
@@ -151,7 +148,7 @@ class StandardTest extends \PHPUnit_Framework_TestCase
             ),
             'no matched routers' => array(
                 '$request' => $this->getMock(
-                    'Magento\Core\Controller\Request\Http', $silencedMethods, array($storeManager, $helperMock, $vdeUrl)
+                    'Magento\App\Request\Http', array('_isFrontArea'), array($routerListMock, $vdeUrl)
                 ),
                 '$isVde'           => true,
                 '$isLoggedIn'      => true,
@@ -170,7 +167,7 @@ class StandardTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param bool $isVde
      * @param bool $isLoggedIn
      * @param bool $isConfiguration
@@ -178,71 +175,70 @@ class StandardTest extends \PHPUnit_Framework_TestCase
      * @return \Magento\DesignEditor\Controller\Varien\Router\Standard
      */
     protected function _prepareMocksForTestMatch(
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         $isVde,
         $isLoggedIn,
         $isConfiguration,
         array $routers
     ) {
         // default mocks - not affected on method functionality
-        $controllerFactory  = $this->getMock(
-            'Magento\Core\Controller\Varien\Action\Factory', array(), array(), '', false);
         $objectManager      = $this->getMock('Magento\ObjectManager');
-        $filesystem         = $this->getMockBuilder('Magento\Filesystem')->disableOriginalConstructor()->getMock();
-
-        $helper         = $this->_getHelperMock($isVde);
-        $backendSession = $this->_getBackendSessionMock($isVde, $isLoggedIn);
-        $stateModel     = $this->_getStateModelMock($routers);
-        $configuration  = $this->_getConfigurationMock($isVde, $isLoggedIn, $isConfiguration);
-        $app            = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
-        $callback = function ($name) use ($helper, $backendSession, $stateModel, $configuration) {
+        $helperMock         = $this->_getHelperMock($isVde);
+        $backendSessionMock = $this->_getBackendSessionMock($isVde, $isLoggedIn);
+        $stateMock          = $this->_getStateModelMock($routers);
+        $configurationMock  = $this->_getConfigurationMock($isVde, $isLoggedIn, $isConfiguration);
+
+        $callback = function ($name) use ($helperMock, $backendSessionMock, $stateMock, $configurationMock) {
             switch ($name) {
                 case 'Magento\DesignEditor\Helper\Data':
-                    return $helper;
+                    return $helperMock;
                 case 'Magento\Backend\Model\Auth\Session':
-                    return $backendSession;
+                    return $backendSessionMock;
                 case 'Magento\DesignEditor\Model\State':
-                    return $stateModel;
+                    return $stateMock;
                 case 'Magento\Core\Model\Config':
-                    return $configuration;
+                    return $configurationMock;
                 default:
                     return null;
             }
         };
+
         $objectManager->expects($this->any())
             ->method('get')
             ->will($this->returnCallback($callback));
 
-        $frontController = $this->getMock('Magento\Core\Controller\Varien\Front',
-            array('applyRewrites', 'getRouters'), array(), '', false
-        );
+        $frontControllerMock = $this->getMock('Magento\App\FrontController', array(), array(), '', false);
+        $rewriteServiceMock = $this->getMock('Magento\Core\App\Request\RewriteService', array(), array(), '', false);
+        $routerListMock = $this->getMock('Magento\App\RouterListInterface');
+
         if ($isVde && $isLoggedIn) {
-            $frontController->expects($this->once())
+            $rewriteServiceMock->expects($this->once())
                 ->method('applyRewrites')
                 ->with($request);
-            $frontController->expects($this->once())
+            $routerListMock->expects($this->once())
                 ->method('getRouters')
                 ->will($this->returnValue($routers));
         }
 
         $router = new \Magento\DesignEditor\Controller\Varien\Router\Standard(
-            $controllerFactory,
+            $routerListMock,
+            $this->getMock('Magento\App\ActionFactory', array(), array(), '', false),
             $objectManager,
-            $filesystem,
-            $app,
-            $this->getMock('Magento\Core\Model\Config\Scope', array(), array(), '', false),
+            $this->getMock('Magento\Filesystem', array(), array(), '', false),
+            $this->getMock('Magento\Core\Model\App', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\Route\Config', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\Url\SecurityInfoInterface'),
             $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\Config', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\Url', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false),
-            $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false),
+            $this->getMock('Magento\App\State', array(), array(), '', false),
+            $rewriteServiceMock,
             'frontend',
             'Magento\Core\Controller\Varien\Action',
             'vde'
         );
-        $router->setFront($frontController);
+        $router->setFront($frontControllerMock);
         return $router;
     }
 
@@ -266,10 +262,11 @@ class StandardTest extends \PHPUnit_Framework_TestCase
      */
     protected function _getBackendSessionMock($isVde, $isLoggedIn)
     {
-        $backendSession = $this->getMock('Magento\Backend\Model\Auth\Session', array('isLoggedIn'), array(), '', false);
+        $backendSession = $this->getMock('Magento\Backend\Model\Auth\Session', array(), array(), '', false);
         $backendSession->expects($isVde ? $this->once() : $this->never())
             ->method('isLoggedIn')
             ->will($this->returnValue($isLoggedIn));
+
         return $backendSession;
     }
 
@@ -279,13 +276,14 @@ class StandardTest extends \PHPUnit_Framework_TestCase
      */
     protected function _getStateModelMock(array $routers)
     {
-        $stateModel = $this->getMock('Magento\DesignEditor\Model\State', array('update'), array(), '', false);
+        $stateModel = $this->getMock('Magento\DesignEditor\Model\State', array(), array(), '', false);
+
         if (array_key_exists('matched', $routers)) {
             $stateModel->expects($this->once())
                 ->method('update')
                 ->with(self::AREA_CODE);
-            return $stateModel;
         }
+
         return $stateModel;
     }
 
@@ -297,7 +295,8 @@ class StandardTest extends \PHPUnit_Framework_TestCase
      */
     protected function _getConfigurationMock($isVde, $isLoggedIn, $isConfiguration)
     {
-        $configuration = $this->getMock('Magento\Core\Model\Config', array('getNode'), array(), '', false);
+        $configuration = $this->getMock('Magento\Core\Model\Config', array(), array(), '', false);
+
         if ($isVde && $isLoggedIn) {
             $configurationData = null;
             if ($isConfiguration) {
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Helper/DataTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Helper/DataTest.php
index 559adab82db..2fb06c8c9bc 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Helper/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Helper/DataTest.php
@@ -82,8 +82,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     public function testIsVdeRequest($path, $expected)
     {
         $this->_model = new \Magento\DesignEditor\Helper\Data($this->_context, self::TEST_FRONT_NAME);
-        $requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array('getOriginalPathInfo'),
-            array(), '', false);
+        $requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $requestMock->expects($this->once())
             ->method('getOriginalPathInfo')
             ->will($this->returnValue($path));
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Model/StateTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Model/StateTest.php
index c8dc8bba305..5392e502d01 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Model/StateTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Model/StateTest.php
@@ -235,7 +235,7 @@ class StateTest extends \PHPUnit_Framework_TestCase
     public function testUpdateNavigationMode()
     {
         $this->_setAdditionalExpectations();
-        $request = $this->getMock('Magento\Core\Controller\Request\Http', array('getPathInfo'), array(), '', false);
+        $request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
 
         $request->expects($this->once())
             ->method('getPathInfo')
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Theme/ContextTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Theme/ContextTest.php
index cacae1100a8..fd839b93ef8 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Theme/ContextTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Theme/ContextTest.php
@@ -245,7 +245,7 @@ class ContextTest extends \PHPUnit_Framework_TestCase
     {
         $writersProperty = new \ReflectionProperty($this->_model, '_stagingTheme');
         $writersProperty->setAccessible(true);
-        $themeObject = $this->getMock('Magento\Core\Model\Theme', array(), array(), '', false);
+        $themeObject = $this->getMock('Magento\View\Design\ThemeInterface', array(), array(), '', false);
         $writersProperty->setValue($this->_model, $themeObject);
         return $themeObject;
     }
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Url/NavigationModeTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Url/NavigationModeTest.php
index ca652ac5f2c..2a287d2d1e0 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Url/NavigationModeTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Url/NavigationModeTest.php
@@ -29,13 +29,12 @@ namespace Magento\DesignEditor\Model\Url;
 
 class NavigationModeTest extends \PHPUnit_Framework_TestCase
 {
-    /**#@+
+    /**
      * Test route params
      */
     const FRONT_NAME = 'vde';
     const ROUTE_PATH = 'some-rout-url/page.html';
     const BASE_URL   = 'http://test.com';
-    /**#@-*/
 
     /**
      * @var \Magento\DesignEditor\Model\Url\NavigationMode
@@ -43,14 +42,49 @@ class NavigationModeTest extends \PHPUnit_Framework_TestCase
     protected $_model;
 
     /**
-     * @var \Magento\DesignEditor\Helper\Data|\PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_designHelperMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_coreHelperMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeConfigMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_appMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeManagerMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_sessionMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_helper;
+    protected $_routerListMock;
 
     /**
-     * @var \Magento\Core\Helper\Data|\PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_coreData;
+    protected $_securityInfoMock;
 
     /**
      * @var array
@@ -59,41 +93,46 @@ class NavigationModeTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_helper = $this->getMock('Magento\DesignEditor\Helper\Data', array('getFrontName'),
-            array(), '', false);
-        $this->_coreData = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
-        $requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array('getAlias'), array(), '', false);
-        $requestMock->expects($this->any())->method('getAlias')->will($this->returnValueMap(array(
-             array('editorMode', 'navigation'),
-             array('themeId', 1)
-        )));
-        $coreStoreConfig = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
-        $app = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
-        $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
-        $session = $this->getMock('Magento\Core\Model\Session', array(), array(), '', false);
+        $this->_designHelperMock = $this->getMock('Magento\DesignEditor\Helper\Data', array(), array(), '', false);
+        $this->_coreHelperMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $this->_storeConfigMock = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
+        $this->_appMock = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
+        $this->_storeManagerMock = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
+        $this->_sessionMock = $this->getMock('Magento\Core\Model\Session', array(), array(), '', false);
+        $this->_routerListMock = $this->getMock('\Magento\App\RouterListInterface');
+        $this->_securityInfoMock = $this->getMock('Magento\Core\Model\Url\SecurityInfoInterface');
+
+        $this->_requestMock->expects($this->any())
+            ->method('getAlias')
+            ->will($this->returnValueMap(array(
+                array('editorMode', 'navigation'),
+                array('themeId', 1))));
 
         $this->_model = new \Magento\DesignEditor\Model\Url\NavigationMode(
-            $this->getMock('Magento\Core\Model\Url\SecurityInfoInterface'),
-            $this->_helper,
-            $coreStoreConfig,
-            $this->_coreData,
-            $app,
-            $storeManager,
-            $session,
+            $this->_routerListMock,
+            $this->_requestMock,
+            $this->_securityInfoMock,
+            $this->_designHelperMock,
+            $this->_storeConfigMock,
+            $this->_coreHelperMock,
+            $this->_appMock,
+            $this->_storeManagerMock,
+            $this->_sessionMock,
             $this->_testData
         );
-        $this->_model->setRequest($requestMock);
+        $this->_model->setRequest($this->_requestMock);
     }
 
     public function testConstruct()
     {
-        $this->assertAttributeEquals($this->_helper, '_helper', $this->_model);
+        $this->assertAttributeEquals($this->_designHelperMock, '_helper', $this->_model);
         $this->assertAttributeEquals($this->_testData, '_data', $this->_model);
     }
 
     public function testGetRouteUrl()
     {
-        $this->_helper->expects($this->any())
+        $this->_designHelperMock->expects($this->any())
             ->method('getFrontName')
             ->will($this->returnValue(self::FRONT_NAME));
 
diff --git a/dev/tests/unit/testsuite/Magento/Directory/Model/Currency/DefaultLocatorTest.php b/dev/tests/unit/testsuite/Magento/Directory/Model/Currency/DefaultLocatorTest.php
index 42d4b613417..3f2f0452a9d 100644
--- a/dev/tests/unit/testsuite/Magento/Directory/Model/Currency/DefaultLocatorTest.php
+++ b/dev/tests/unit/testsuite/Magento/Directory/Model/Currency/DefaultLocatorTest.php
@@ -47,7 +47,7 @@ class DefaultLocatorTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $backendData = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false);
-        $this->_requestMock = $this->getMockForAbstractClass('Magento\Core\Controller\Request\Http',
+        $this->_requestMock = $this->getMockForAbstractClass('Magento\App\RequestInterface',
             array($backendData), '', false, false, true, array('getParam'));
         $this->_appMock = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
         $this->_model = new \Magento\Directory\Model\Currency\DefaultLocator($this->_appMock);
diff --git a/dev/tests/unit/testsuite/Magento/Directory/Model/Resource/Country/CollectionTest.php b/dev/tests/unit/testsuite/Magento/Directory/Model/Resource/Country/CollectionTest.php
index 68d01d84473..9744401d95f 100644
--- a/dev/tests/unit/testsuite/Magento/Directory/Model/Resource/Country/CollectionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Directory/Model/Resource/Country/CollectionTest.php
@@ -52,7 +52,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
             ->method('getTable')
             ->will($this->returnArgument(0));
 
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $stringHelper = $this->getMock('Magento\Core\Helper\String', array(), array(), '', false);
         $localeMock = $this->getMock('Magento\Core\Model\LocaleInterface');
         $localeMock->expects($this->any())->method('getCountryTranslation')->will($this->returnArgument(0));
diff --git a/dev/tests/unit/testsuite/Magento/Downloadable/Model/Product/TypeTest.php b/dev/tests/unit/testsuite/Magento/Downloadable/Model/Product/TypeTest.php
index 110fa685721..9247b021608 100644
--- a/dev/tests/unit/testsuite/Magento/Downloadable/Model/Product/TypeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Downloadable/Model/Product/TypeTest.php
@@ -37,7 +37,7 @@ class TypeTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $downloadableFile = $this->getMockBuilder('Magento\Downloadable\Helper\File')
             ->disableOriginalConstructor()->getMock();
         $coreData = $this->getMockBuilder('Magento\Core\Helper\Data')->disableOriginalConstructor()->getMock();
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/ConverterTest.php b/dev/tests/unit/testsuite/Magento/Event/Config/ConverterTest.php
similarity index 87%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/ConverterTest.php
rename to dev/tests/unit/testsuite/Magento/Event/Config/ConverterTest.php
index 7f184192bca..d29717e7738 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/ConverterTest.php
+++ b/dev/tests/unit/testsuite/Magento/Event/Config/ConverterTest.php
@@ -21,12 +21,12 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Config;
+namespace Magento\Event\Config;
 
 class ConverterTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Event\Config\Converter
+     * @var \Magento\Event\Config\Converter
      */
     protected $_model;
 
@@ -42,9 +42,9 @@ class ConverterTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_filePath = __DIR__ . DIRECTORY_SEPARATOR . '/../../_files' . DIRECTORY_SEPARATOR;
+        $this->_filePath = __DIR__ . DIRECTORY_SEPARATOR . '/_files' . DIRECTORY_SEPARATOR;
         $this->_source = new \DOMDocument();
-        $this->_model = new \Magento\Core\Model\Event\Config\Converter();
+        $this->_model = new \Magento\Event\Config\Converter();
     }
 
     public function testConvert()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/DataTest.php b/dev/tests/unit/testsuite/Magento/Event/Config/DataTest.php
similarity index 84%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/DataTest.php
rename to dev/tests/unit/testsuite/Magento/Event/Config/DataTest.php
index 533cf907488..22e133e7736 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/Event/Config/DataTest.php
@@ -21,12 +21,12 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Config;
+namespace Magento\Event\Config;
 
 class DataTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Event\Config\Data
+     * @var \Magento\Event\Config\Data
      */
     protected $_model;
 
@@ -52,11 +52,11 @@ class DataTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_readerMock = $this->getMock('Magento\Core\Model\Event\Config\Reader', array(), array(), '', false);
+        $this->_readerMock = $this->getMock('Magento\Event\Config\Reader', array(), array(), '', false);
         $this->_configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
         $this->_cacheMock = $this->getMock('Magento\Config\CacheInterface');
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
-        $this->_model = new \Magento\Core\Model\Event\Config\Data(
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
+        $this->_model = new \Magento\Event\Config\Data(
             $this->_readerMock,
             $this->_configScopeMock,
             $this->_cacheMock,
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/SchemaLocatorTest.php b/dev/tests/unit/testsuite/Magento/Event/Config/SchemaLocatorTest.php
similarity index 64%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/SchemaLocatorTest.php
rename to dev/tests/unit/testsuite/Magento/Event/Config/SchemaLocatorTest.php
index 0dd57ca69a8..426c5308ca5 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/SchemaLocatorTest.php
+++ b/dev/tests/unit/testsuite/Magento/Event/Config/SchemaLocatorTest.php
@@ -21,7 +21,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Config;
+namespace Magento\Event\Config;
 
 class SchemaLocatorTest extends \PHPUnit_Framework_TestCase
 {
@@ -31,27 +31,27 @@ class SchemaLocatorTest extends \PHPUnit_Framework_TestCase
     protected $_moduleReaderMock;
 
     /**
-     * @var \Magento\Core\Model\Event\Config\SchemaLocator
+     * @var \Magento\Event\Config\SchemaLocator
      */
     protected $_model;
 
     protected function setUp()
     {
-        $this->_moduleReaderMock = $this->getMock(
-            'Magento\Core\Model\Config\Modules\Reader', array(), array(), '', false
-        );
-        $this->_moduleReaderMock->expects($this->once())
-            ->method('getModuleDir')->with('etc', 'Magento_Core')->will($this->returnValue('schema_dir'));
-        $this->_model = new \Magento\Core\Model\Event\Config\SchemaLocator($this->_moduleReaderMock);
+        $this->_model = new \Magento\Event\Config\SchemaLocator();
     }
 
     public function testGetSchema()
     {
-        $this->assertEquals('schema_dir' . DIRECTORY_SEPARATOR . 'events.xsd', $this->_model->getSchema());
+        $expected = BP . str_replace('\\', DIRECTORY_SEPARATOR, '\lib\Magento\Event\etc\events.xsd');
+        $actual = $this->_model->getSchema();
+        $this->assertEquals($expected, $actual);
+
     }
 
     public function testGetPerFileSchema()
     {
-        $this->assertEquals(null, $this->_model->getPerFileSchema());
+        $actual = $this->_model->getPerFileSchema();
+        $expected = BP . str_replace('\\', DIRECTORY_SEPARATOR, '\lib\Magento\Event\etc\events.xsd');
+        $this->assertEquals($expected, $actual);
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/XsdTest.php b/dev/tests/unit/testsuite/Magento/Event/Config/XsdTest.php
similarity index 94%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/XsdTest.php
rename to dev/tests/unit/testsuite/Magento/Event/Config/XsdTest.php
index 91fc6e45fef..7ae0d7f9a83 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/XsdTest.php
+++ b/dev/tests/unit/testsuite/Magento/Event/Config/XsdTest.php
@@ -21,7 +21,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Config;
+namespace Magento\Event\Config;
 
 class XsdTest extends \PHPUnit_Framework_TestCase
 {
@@ -38,7 +38,7 @@ class XsdTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_xsdSchema = BP . '/app/code/Magento/Core/etc/events.xsd';
+        $this->_xsdSchema = BP . '/lib/Magento/Event/etc/events.xsd';
         $this->_xsdValidator = new \Magento\TestFramework\Utility\XsdValidator();
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/_files/event_config.php b/dev/tests/unit/testsuite/Magento/Event/Config/_files/event_config.php
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/_files/event_config.php
rename to dev/tests/unit/testsuite/Magento/Event/Config/_files/event_config.php
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/_files/event_config.xml b/dev/tests/unit/testsuite/Magento/Event/Config/_files/event_config.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/_files/event_config.xml
rename to dev/tests/unit/testsuite/Magento/Event/Config/_files/event_config.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/_files/event_invalid_config.xml b/dev/tests/unit/testsuite/Magento/Event/Config/_files/event_invalid_config.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/_files/event_invalid_config.xml
rename to dev/tests/unit/testsuite/Magento/Event/Config/_files/event_invalid_config.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/_files/invalidEventsXmlArray.php b/dev/tests/unit/testsuite/Magento/Event/Config/_files/invalidEventsXmlArray.php
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/_files/invalidEventsXmlArray.php
rename to dev/tests/unit/testsuite/Magento/Event/Config/_files/invalidEventsXmlArray.php
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/_files/valid_events.xml b/dev/tests/unit/testsuite/Magento/Event/Config/_files/valid_events.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/_files/valid_events.xml
rename to dev/tests/unit/testsuite/Magento/Event/Config/_files/valid_events.xml
diff --git a/dev/tests/unit/testsuite/Magento/Event/EventFactoryTest.php b/dev/tests/unit/testsuite/Magento/Event/EventFactoryTest.php
new file mode 100644
index 00000000000..9b104b2508f
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Event/EventFactoryTest.php
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Event;
+
+class EventFactoryTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\EventFactory
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_objectManagerMock;
+
+    /**
+     * @var \Magento\Event
+     */
+    protected $_expectedObject;
+
+    protected function setUp()
+    {
+        $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
+        $this->_model = new \Magento\EventFactory($this->_objectManagerMock);
+        $this->_expectedObject = $this->getMockBuilder('Magento\Event')->getMock();
+    }
+
+    public function testCreate()
+    {
+        $arguments = array('property' => 'value');
+        $this->_objectManagerMock->expects($this->once())
+            ->method('create')
+            ->with('Magento\Event', $arguments)->will($this->returnValue($this->_expectedObject));
+
+        $this->assertEquals($this->_expectedObject, $this->_model->create($arguments));
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Invoker/InvokerDefaultTest.php b/dev/tests/unit/testsuite/Magento/Event/Invoker/InvokerDefaultTest.php
similarity index 90%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/Invoker/InvokerDefaultTest.php
rename to dev/tests/unit/testsuite/Magento/Event/Invoker/InvokerDefaultTest.php
index d7225b112c7..f93497fdfb9 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Invoker/InvokerDefaultTest.php
+++ b/dev/tests/unit/testsuite/Magento/Event/Invoker/InvokerDefaultTest.php
@@ -21,7 +21,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Invoker;
+namespace Magento\Event\Invoker;
 
 class InvokerDefaultTest extends \PHPUnit_Framework_TestCase
 {
@@ -46,21 +46,21 @@ class InvokerDefaultTest extends \PHPUnit_Framework_TestCase
     protected $_appStateMock;
 
     /**
-     * @var \Magento\Core\Model\Event\Invoker\InvokerDefault
+     * @var \Magento\Event\Invoker\InvokerDefault
      */
     protected $_invokerDefault;
 
     protected function setUp()
     {
         $this->_observerFactoryMock = $this->getMock(
-            'Magento\Core\Model\ObserverFactory', array(), array(), '', false
+            'Magento\Event\ObserverFactory', array(), array(), '', false
         );
         $this->_observerMock = $this->getMock('Magento\Event\Observer', array(), array(), '', false);
         $this->_listenerMock = $this->getMock('Magento_Some_Model_Observer_Some', array('method_name'), array(), '',
             false);
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
 
-        $this->_invokerDefault = new \Magento\Core\Model\Event\Invoker\InvokerDefault(
+        $this->_invokerDefault = new \Magento\Event\Invoker\InvokerDefault(
             $this->_observerFactoryMock,
             $this->_appStateMock
         );
@@ -112,7 +112,7 @@ class InvokerDefaultTest extends \PHPUnit_Framework_TestCase
         $this->_observerFactoryMock->expects($this->any())->method('get')->with('class_name')
             ->will($this->returnValue($this->_listenerMock));
         $this->_appStateMock->expects($this->once())->method('getMode')
-            ->will($this->returnValue(\Magento\Core\Model\App\State::MODE_DEVELOPER));
+            ->will($this->returnValue(\Magento\App\State::MODE_DEVELOPER));
 
         $this->_invokerDefault->dispatch(
             array(
@@ -136,7 +136,7 @@ class InvokerDefaultTest extends \PHPUnit_Framework_TestCase
         $this->_observerFactoryMock->expects($this->any())->method('get')->with('class_name')
             ->will($this->returnValue($this->_listenerMock));
         $this->_appStateMock->expects($this->once())->method('getMode')
-            ->will($this->returnValue(\Magento\Core\Model\App\State::MODE_PRODUCTION));
+            ->will($this->returnValue(\Magento\App\State::MODE_PRODUCTION));
 
         $this->_invokerDefault->dispatch(
             array(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/ManagerStub.php b/dev/tests/unit/testsuite/Magento/Event/ManagerStub.php
similarity index 93%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/ManagerStub.php
rename to dev/tests/unit/testsuite/Magento/Event/ManagerStub.php
index 91c15c78dbd..acfe885c81b 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Event/ManagerStub.php
+++ b/dev/tests/unit/testsuite/Magento/Event/ManagerStub.php
@@ -26,9 +26,9 @@
  * Event manager stub
  */
 
-namespace Magento\Core\Model\Event;
+namespace Magento\Event;
 
-class ManagerStub extends \Magento\Core\Model\Event\Manager
+class ManagerStub extends \Magento\Event\ManagerInterface
 {
     /**
      * Stub dispatch event
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/ManagerTest.php b/dev/tests/unit/testsuite/Magento/Event/ManagerTest.php
similarity index 76%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/ManagerTest.php
rename to dev/tests/unit/testsuite/Magento/Event/ManagerTest.php
index aa69a927460..8186551d630 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Event/ManagerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Event/ManagerTest.php
@@ -21,32 +21,32 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event;
+namespace Magento\Event;
 
 class ManagerTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Event\InvokerInterface|PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_invoker;
 
     /**
-     * @var \Magento\EventFactory|PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_eventFactory;
 
     /**
-     * @var \Magento\Event|PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_event;
 
     /**
-     * @var \Magento\Event\ObserverFactory|PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_observerFactory;
+    protected $_wrapperFactory;
 
     /**
-     * @var \Magento\Event\Observer|PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_observer;
 
@@ -56,22 +56,22 @@ class ManagerTest extends \PHPUnit_Framework_TestCase
     protected $_eventConfigMock;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\Manager
      */
     protected $_eventManager;
 
     protected function setUp()
     {
-        $this->_invoker = $this->getMock('Magento\Core\Model\Event\InvokerInterface');
+        $this->_invoker = $this->getMock('Magento\Event\InvokerInterface');
         $this->_eventFactory = $this->getMock('Magento\EventFactory', array('create'), array(), '', false);
         $this->_event = $this->getMock('Magento\Event', array(), array(), '', false);
-        $this->_observerFactory = $this->getMock('Magento\Event\ObserverFactory', array('create'), array(), '',
+        $this->_wrapperFactory = $this->getMock('Magento\Event\WrapperFactory', array(), array(), '',
             false);
         $this->_observer = $this->getMock('Magento\Event\Observer', array(), array(), '', false);
-        $this->_eventConfigMock = $this->getMock('Magento\Core\Model\Event\ConfigInterface');
+        $this->_eventConfigMock = $this->getMock('Magento\Event\ConfigInterface');
 
-        $this->_eventManager = new \Magento\Core\Model\Event\Manager(
-            $this->_invoker, $this->_eventConfigMock, $this->_eventFactory, $this->_observerFactory
+        $this->_eventManager = new \Magento\Event\Manager(
+            $this->_invoker, $this->_eventConfigMock, $this->_eventFactory, $this->_wrapperFactory
         );
     }
 
@@ -85,7 +85,7 @@ class ManagerTest extends \PHPUnit_Framework_TestCase
 
         $this->_observer->expects($this->once())->method('setData')
             ->with(array_merge(array('event' => $this->_event), $data))->will($this->returnSelf());
-        $this->_observerFactory->expects($this->once())->method('create')
+        $this->_wrapperFactory->expects($this->once())->method('create')
             ->will($this->returnValue($this->_observer));
         $this->_invoker->expects($this->once())->method('dispatch')->with(array(
             'instance' => 'class',
diff --git a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Block/Category/TabTest.php b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Block/Category/TabTest.php
index 6a88bcc3bf8..03ac2a20ec4 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Block/Category/TabTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Block/Category/TabTest.php
@@ -78,7 +78,7 @@ class TabTest extends \PHPUnit_Framework_TestCase
     {
         $this->_helperMock->expects($this->once())->method('isGoogleExperimentActive')->will($this->returnValue(true));
 
-        $block = $this->getMock('Magento\Core\Block', array(), array(), '', false);
+        $block = $this->getMock('Magento\View\Element\BlockInterface', array(), array(), '', false);
         $block->expects($this->once())->method('toHtml')->will($this->returnValue('generated html'));
 
         $this->_layoutMock->expects($this->once())->method('createBlock')->with(
diff --git a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Category/SaveTest.php b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Category/SaveTest.php
index cfdbbaf0a35..4c95be6e5dd 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Category/SaveTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Category/SaveTest.php
@@ -72,7 +72,7 @@ class SaveTest extends \PHPUnit_Framework_TestCase
         $this->_eventObserverMock = $this->getMock('Magento\Event\Observer', array(), array(), '', false);
         $this->_eventObserverMock->expects($this->once())->method('getEvent')->will($this->returnValue($event));
         $this->_codeMock = $this->getMock('Magento\GoogleOptimizer\Model\Code', array(), array(), '', false);
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
 
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $this->_modelObserver = $objectManagerHelper->getObject(
diff --git a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/DeleteTest.php b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/DeleteTest.php
index 68c7e3ff50f..23dce075378 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/DeleteTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/DeleteTest.php
@@ -43,7 +43,7 @@ class DeleteTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_codeMock = $this->getMock('Magento\GoogleOptimizer\Model\Code', array(), array(), '', false);
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
 
         $page = $this->getMock('Magento\Cms\Model\Page', array(), array(), '', false);
         $page->expects($this->once())->method('getId')->will($this->returnValue(3));
diff --git a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/SaveTest.php b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/SaveTest.php
index fe3d3a444b9..9b43082687e 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/SaveTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/SaveTest.php
@@ -64,7 +64,7 @@ class SaveTest extends \PHPUnit_Framework_TestCase
     {
         $this->_helperMock = $this->getMock('Magento\GoogleOptimizer\Helper\Data', array(), array(), '', false);
         $this->_codeMock = $this->getMock('Magento\GoogleOptimizer\Model\Code', array(), array(), '', false);
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
 
         $this->_pageMock = $this->getMock('Magento\Cms\Model\Page', array(), array(), '', false);
         $event = $this->getMock('Magento\Event', array('getObject'), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Product/SaveTest.php b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Product/SaveTest.php
index 6329b470160..787e35895ed 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Product/SaveTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Product/SaveTest.php
@@ -72,7 +72,7 @@ class SaveTest extends \PHPUnit_Framework_TestCase
         $this->_eventObserverMock = $this->getMock('Magento\Event\Observer', array(), array(), '', false);
         $this->_eventObserverMock->expects($this->once())->method('getEvent')->will($this->returnValue($event));
         $this->_codeMock = $this->getMock('Magento\GoogleOptimizer\Model\Code', array(), array(), '', false);
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
 
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $this->_modelObserver = $objectManagerHelper->getObject(
diff --git a/dev/tests/unit/testsuite/Magento/GoogleShopping/Block/SiteVerificationTest.php b/dev/tests/unit/testsuite/Magento/GoogleShopping/Block/SiteVerificationTest.php
index e61115f5950..c6a51c5738f 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleShopping/Block/SiteVerificationTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleShopping/Block/SiteVerificationTest.php
@@ -46,7 +46,7 @@ class SiteVerificationTest extends \PHPUnit_Framework_TestCase
         $layout->expects($this->any())
             ->method('helper')->with('Magento\Core\Helper\Data')->will($this->returnValue($coreHelper));
         $context = $objectHelper->getObject('Magento\Core\Block\Context', array(
-            'eventManager' => $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false),
+            'eventManager' => $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false),
             'layout' => $layout,
             'helperFactory' => $helperFactory
         ));
diff --git a/dev/tests/unit/testsuite/Magento/Http/Handler/CompositeTest.php b/dev/tests/unit/testsuite/Magento/Http/Handler/CompositeTest.php
deleted file mode 100644
index 0fa163afdfe..00000000000
--- a/dev/tests/unit/testsuite/Magento/Http/Handler/CompositeTest.php
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Http\Handler;
-
-class CompositeTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Magento\HTTP\Handler\Composite
-     */
-    protected $_model;
-
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_requestMock;
-
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_responseMock;
-
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_handlerFactoryMock;
-
-    protected function setUp()
-    {
-        $handlers = array(
-            'app' => array(
-                'sortOrder' => 50,
-                'class' => 'Class_App_Handler',
-            ),
-            'fpc' => array(
-                'sortOrder' => 20,
-                'class' => 'Class_Fpc_Handler',
-            ),
-        );
-        $this->_requestMock = $this->getMock('Zend_Controller_Request_Http', array(), array(), '', false);
-        $this->_responseMock = $this->getMock('Zend_Controller_Response_Http', array(), array(), '', false);
-        $this->_handlerFactoryMock = $this->getMock('Magento\HTTP\HandlerFactory', array(), array(), '', false, false);
-        $this->_handlerMock = $this->getMock('Magento\HTTP\HandlerInterface', array(), array(), '', false, false);
-        $this->_model = new \Magento\HTTP\Handler\Composite($this->_handlerFactoryMock, $handlers);
-    }
-
-    protected function tearDown()
-    {
-        unset($this->_requestMock);
-        unset($this->_responseMock);
-        unset($this->_handlerFactoryMock);
-        unset($this->_model);
-    }
-
-    public function testHandleBreaksCycleIfRequestIsDispatched()
-    {
-        $this->_handlerFactoryMock->expects($this->once())
-            ->method('create')->with('Class_Fpc_Handler')->will($this->returnValue($this->_handlerMock));
-        $this->_handlerMock->expects($this->once())
-            ->method('handle')->with($this->_requestMock, $this->_responseMock);
-        $this->_requestMock->expects($this->once())->method('isDispatched')->will($this->returnValue(true));
-
-        $this->_model->handle($this->_requestMock, $this->_responseMock);
-    }
-
-    public function testSorting()
-    {
-        $handlers = array(
-            'app' => array(
-                'sortOrder' => 50,
-                'class' => 'Class_App_Handler',
-            ),
-            'fpc' => array(
-                'sortOrder' => 20,
-                'class' => 'Class_Fpc_Handler',
-            ),
-        );
-
-        $model = new \Magento\HTTP\Handler\Composite($this->_handlerFactoryMock, $handlers);
-
-        $this->_handlerMock->expects($this->exactly(2))->method('handle')
-            ->with($this->_requestMock, $this->_responseMock);
-
-        $this->_handlerFactoryMock->expects($this->at(0))
-            ->method('create')
-            ->with('Class_Fpc_Handler')
-            ->will($this->returnValue($this->_handlerMock));
-
-        $this->_handlerFactoryMock->expects($this->at(1))
-            ->method('create')
-            ->with('Class_App_Handler')
-            ->will($this->returnValue($this->_handlerMock));
-
-        $model->handle($this->_requestMock, $this->_responseMock);
-    }
-}
diff --git a/dev/tests/unit/testsuite/Magento/ImportExport/Model/ExportTest.php b/dev/tests/unit/testsuite/Magento/ImportExport/Model/ExportTest.php
index 6612003e706..e0c97211a15 100644
--- a/dev/tests/unit/testsuite/Magento/ImportExport/Model/ExportTest.php
+++ b/dev/tests/unit/testsuite/Magento/ImportExport/Model/ExportTest.php
@@ -76,7 +76,7 @@ class ExportTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($this->_exportFileExtension));
 
         $logger = $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false);
-        $dir = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $dir = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $adapterFactory = $this->getMock('Magento\Core\Model\Log\AdapterFactory', array(), array(), '', false);
         $entityFactory = $this->getMock(
             'Magento\ImportExport\Model\Export\Entity\Factory', array(), array(), '', false);;
diff --git a/dev/tests/unit/testsuite/Magento/Index/Model/Lock/StorageTest.php b/dev/tests/unit/testsuite/Magento/Index/Model/Lock/StorageTest.php
index 7249deac661..da7eed6f5fa 100644
--- a/dev/tests/unit/testsuite/Magento/Index/Model/Lock/StorageTest.php
+++ b/dev/tests/unit/testsuite/Magento/Index/Model/Lock/StorageTest.php
@@ -42,10 +42,10 @@ class StorageTest extends \PHPUnit_Framework_TestCase
 
     public function testGetFile()
     {
-        $this->_dirsMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false, false);
+        $this->_dirsMock = $this->getMock('Magento\App\Dir', array(), array(), '', false, false);
         $this->_dirsMock->expects($this->any())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::VAR_DIR)
+            ->with(\Magento\App\Dir::VAR_DIR)
             ->will($this->returnValue(__DIR__ . DIRECTORY_SEPARATOR. 'var'));
 
         $fileModel = $this->getMock('Magento\Index\Model\Process\File',
diff --git a/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/ConsoleTest.php b/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/ConsoleTest.php
index d40f436adfa..6666deaa48f 100644
--- a/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/ConsoleTest.php
+++ b/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/ConsoleTest.php
@@ -47,7 +47,7 @@ class ConsoleTest extends \PHPUnit_Framework_TestCase
     protected $_installerMock;
 
     /**
-     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Model\Dir\Verification
+     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\App\Dir\Verification
      */
     protected $_dirVerifierMock;
 
@@ -61,7 +61,7 @@ class ConsoleTest extends \PHPUnit_Framework_TestCase
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
         $this->_configMock = $this->getMock('Magento\Core\Model\Config\Primary', array(), array(), '', false);
         $this->_installerMock = $this->getMock('Magento\Install\Model\Installer\Console', array(), array(), '', false);
-        $this->_dirVerifierMock = $this->getMock('Magento\Core\Model\Dir\Verification', array(), array(), '', false);
+        $this->_dirVerifierMock = $this->getMock('Magento\App\Dir\Verification', array(), array(), '', false);
         $this->_outputMock = $this->getMock('Magento\Install\Model\EntryPoint\Output', array(), array(), '', false);
 
         $this->_objectManagerMock->expects($this->once())->method('create')
diff --git a/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/UpgradeTest.php b/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/UpgradeTest.php
index 6b5171be3a8..2affff579db 100644
--- a/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/UpgradeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/UpgradeTest.php
@@ -44,7 +44,7 @@ class UpgradeTest extends \PHPUnit_Framework_TestCase
     {
         $this->_config = $this->getMock('Magento\Core\Model\Config\Primary', array('getParam'), array(), '', false);
 
-        $dirVerification = $this->getMock('Magento\Core\Model\Dir\Verification', array(), array(), '', false);
+        $dirVerification = $this->getMock('Magento\App\Dir\Verification', array(), array(), '', false);
 
         $cacheFrontend = $this->getMockForAbstractClass('Magento\Cache\FrontendInterface');
         $cacheFrontend->expects($this->once())->method('clean')->with('all', array());
@@ -57,7 +57,7 @@ class UpgradeTest extends \PHPUnit_Framework_TestCase
         $cacheFrontendPool->expects($this->once())->method('current')->will($this->returnValue($cacheFrontend));
 
         $update = $this->getMock(
-            'Magento\Core\Model\Db\Updater', array('updateScheme', 'updateData'), array(), '', false);
+            'Magento\App\Updater', array('updateScheme', 'updateData'), array(), '', false);
         $update->expects($this->once())->method('updateScheme');
         $update->expects($this->once())->method('updateData');
 
@@ -68,10 +68,10 @@ class UpgradeTest extends \PHPUnit_Framework_TestCase
         $this->_objectManager = $this->getMock('Magento\ObjectManager');
         $this->_objectManager->expects($this->any())->method('get')->will($this->returnValueMap(array(
             array('Magento\Core\Model\Cache\Frontend\Pool', $cacheFrontendPool),
-            array('Magento\Core\Model\Db\Updater', $update),
+            array('Magento\App\Updater', $update),
             array('Magento\Core\Model\Config\Primary', $this->_config),
             array('Magento\Index\Model\Indexer', $this->_indexer),
-            array('Magento\Core\Model\Dir\Verification', $dirVerification),
+            array('Magento\App\Dir\Verification', $dirVerification),
         )));
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Install/Model/Installer/ConfigTest.php b/dev/tests/unit/testsuite/Magento/Install/Model/Installer/ConfigTest.php
index 8b191267460..e54e9d9fee9 100644
--- a/dev/tests/unit/testsuite/Magento/Install/Model/Installer/ConfigTest.php
+++ b/dev/tests/unit/testsuite/Magento/Install/Model/Installer/ConfigTest.php
@@ -51,8 +51,8 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
         $this->_model = new \Magento\Install\Model\Installer\Config(
             $this->getMock('Magento\Install\Model\Installer', array(), array(),
                 '', false),
-            $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false),
-            new \Magento\Core\Model\Dir(__DIR__, array(), array(\Magento\Core\Model\Dir::CONFIG => TESTS_TEMP_DIR)),
+            $this->getMock('Magento\App\RequestInterface', array(), array(), '', false),
+            new \Magento\App\Dir(__DIR__, array(), array(\Magento\App\Dir::CONFIG => TESTS_TEMP_DIR)),
             $this->_filesystemMock,
             $this->getMock('Magento\Core\Model\StoreManagerInterface', array(), array(), '', false)
         );
diff --git a/dev/tests/unit/testsuite/Magento/Log/Model/ShellTest.php b/dev/tests/unit/testsuite/Magento/Log/Model/ShellTest.php
index 89956eae02b..7838d12cf6e 100644
--- a/dev/tests/unit/testsuite/Magento/Log/Model/ShellTest.php
+++ b/dev/tests/unit/testsuite/Magento/Log/Model/ShellTest.php
@@ -44,7 +44,7 @@ class ShellTest extends \PHPUnit_Framework_TestCase
     {
         $this->_factoryMock = $this->getMock('Magento\Log\Model\Shell\Command\Factory', array(), array(), '', false);
         $filesystemMock = $this->getMock('Magento\Filesystem', array(), array(), '', false);
-        $dirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $dirMock = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_model = $this->getMock('Magento\Log\Model\Shell',
             array('_applyPhpVariables'),
             array($this->_factoryMock, $filesystemMock, 'entryPoint.php', $dirMock)
diff --git a/dev/tests/unit/testsuite/Magento/Newsletter/Model/TemplateTest.php b/dev/tests/unit/testsuite/Magento/Newsletter/Model/TemplateTest.php
index 8e1bf2626ab..af9ea36720b 100644
--- a/dev/tests/unit/testsuite/Magento/Newsletter/Model/TemplateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Newsletter/Model/TemplateTest.php
@@ -32,7 +32,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetProcessedTemplate($isSingleStore)
     {
-        $design = $this->getMock('Magento\Core\Model\View\DesignInterface');
+        $design = $this->getMock('Magento\View\DesignInterface');
         $context = $this->getMock('Magento\Core\Model\Context', array(), array(), '', false);
         $registry = $this->getMock('Magento\Core\Model\Registry', array(), array(), '', false);
 
@@ -41,7 +41,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
             ->method('hasSingleStore')
             ->will($this->returnValue($isSingleStore));
 
-        $request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $request = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
 
         if ($isSingleStore) {
             $store = $this->getMock('Magento\Core\Model\Store', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Oauth/Helper/DataTest.php b/dev/tests/unit/testsuite/Magento/Oauth/Helper/DataTest.php
index cc6535338c7..c2c0996e0e9 100644
--- a/dev/tests/unit/testsuite/Magento/Oauth/Helper/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/Oauth/Helper/DataTest.php
@@ -67,27 +67,27 @@ class DataTest extends \PHPUnit_Framework_TestCase
         return [
             [
                 new \Magento\Oauth\Exception('msg', \Magento\Oauth\Service\OauthV1Interface::ERR_VERSION_REJECTED),
-                new \Zend_Controller_Response_Http(),
+                new \Magento\App\Response\Http(),
                 ['version_rejected&message=msg', \Magento\Oauth\Helper\Data::HTTP_BAD_REQUEST]
             ],
             [
                 new \Magento\Oauth\Exception('msg', 255),
-                new \Zend_Controller_Response_Http(),
+                new \Magento\App\Response\Http(),
                 ['unknown_problem&code=255&message=msg', \Magento\Oauth\Helper\Data::HTTP_INTERNAL_ERROR]
             ],
             [
                 new \Magento\Oauth\Exception('param', \Magento\Oauth\Service\OauthV1Interface::ERR_PARAMETER_ABSENT),
-                new \Zend_Controller_Response_Http(),
+                new \Magento\App\Response\Http(),
                 ['parameter_absent&oauth_parameters_absent=param', \Magento\Oauth\Helper\Data::HTTP_BAD_REQUEST]
             ],
             [
                 new \Exception('msg'),
-                new \Zend_Controller_Response_Http(),
+                new \Magento\App\Response\Http(),
                 ['internal_error&message=msg', \Magento\Oauth\Helper\Data::HTTP_INTERNAL_ERROR]
             ],
             [
                 new \Exception(),
-                new \Zend_Controller_Response_Http(),
+                new \Magento\App\Response\Http(),
                 ['internal_error&message=empty_message', \Magento\Oauth\Helper\Data::HTTP_INTERNAL_ERROR]
             ],
         ];
diff --git a/dev/tests/unit/testsuite/Magento/Oauth/Helper/ServiceTest.php b/dev/tests/unit/testsuite/Magento/Oauth/Helper/ServiceTest.php
index de3d67e3ed4..1070c201b3f 100644
--- a/dev/tests/unit/testsuite/Magento/Oauth/Helper/ServiceTest.php
+++ b/dev/tests/unit/testsuite/Magento/Oauth/Helper/ServiceTest.php
@@ -53,14 +53,14 @@ class ServiceTest extends \PHPUnit_Framework_TestCase
 
         $this->_coreHelper = new \Magento\Core\Helper\Data(
             $this->_coreContextMock,
-            $this->getMockBuilder('Magento\Core\Model\Event\Manager')->disableOriginalConstructor()->getMock(),
+            $this->getMockBuilder('Magento\Event\ManagerInterface')->disableOriginalConstructor()->getMock(),
             $this->getMockBuilder('Magento\Core\Helper\Http')->disableOriginalConstructor()->getMock(),
             $this->getMockBuilder('Magento\Core\Model\Config')->disableOriginalConstructor()->getMock(),
             $this->_storeConfigMock,
             $this->getMockBuilder('Magento\Core\Model\StoreManager')->disableOriginalConstructor()->getMock(),
             $this->getMockBuilder('Magento\Core\Model\Locale')->disableOriginalConstructor()->getMock(),
             $this->getMockBuilder('Magento\Core\Model\Date')->disableOriginalConstructor()->getMock(),
-            $this->getMockBuilder('Magento\Core\Model\App\State')->disableOriginalConstructor()->getMock(),
+            $this->getMockBuilder('Magento\App\State')->disableOriginalConstructor()->getMock(),
             $this->_encryptorMock
         );
 
diff --git a/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/mapped_simple_di_config.php b/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/mapped_simple_di_config.php
index 02c0c2eec16..ad1ae3d1340 100644
--- a/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/mapped_simple_di_config.php
+++ b/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/mapped_simple_di_config.php
@@ -23,11 +23,11 @@
  */
 return array(
     'preferences' => array(
-        'Magento\Core\Model\Db\UpdaterInterface' => 'Magento\Core\Model\Db\Updater',
+        'Magento\App\UpdaterInterface' => 'Magento\App\Updater',
         'Magento\Core\Model\AppInterface' => 'Magento\Core\Model\App\Proxy',
     ),
 
-    'Magento\Core\Model\App\State' => array(
+    'Magento\App\State' => array(
         'parameters' => array(
             'mode' => array(
                 'argument' => 'MAGE_MODE',
diff --git a/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/simple_di_config.xml b/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/simple_di_config.xml
index 4d937a8cd0d..e2e2fb34d8e 100644
--- a/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/simple_di_config.xml
+++ b/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/simple_di_config.xml
@@ -25,9 +25,9 @@
 -->
 <config>
     <!-- Comment within root node -->
-    <preference for="Magento\Core\Model\Db\UpdaterInterface" type="Magento\Core\Model\Db\Updater" />
+    <preference for="Magento\App\UpdaterInterface" type="Magento\App\Updater" />
     <preference for="Magento\Core\Model\AppInterface" type="Magento\Core\Model\App\Proxy" />
-    <type name="Magento\Core\Model\App\State">
+    <type name="Magento\App\State">
         <param name="mode">
             <value type="argument">Magento\Core\Model\App::PARAM_MODE</value>
         </param>
diff --git a/dev/tests/unit/testsuite/Magento/Ogone/Model/ApiTest.php b/dev/tests/unit/testsuite/Magento/Ogone/Model/ApiTest.php
index 0e16a2f6443..6cc150f7e37 100644
--- a/dev/tests/unit/testsuite/Magento/Ogone/Model/ApiTest.php
+++ b/dev/tests/unit/testsuite/Magento/Ogone/Model/ApiTest.php
@@ -44,8 +44,8 @@ class ApiTest extends \PHPUnit_Framework_TestCase
         // Test protected method via reflection
         $storeManager = $this->getMock('Magento\Core\Model\StoreManagerInterface', array(), array(), '', false);
         $locale = $this->getMock('Magento\Core\Model\LocaleInterface', array(), array(), '', false);
-        $urlBuilder = $this->getMock('Magento\Core\Model\UrlInterface', array(), array(), '', false);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $urlBuilder = $this->getMock('Magento\UrlInterface', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $coreString = $this->getMock('Magento\Core\Helper\String', array(), array(), '', false);
         $config = $this->getMock('Magento\Ogone\Model\Config', array(), array(), '', false);
         $paymentDataMock = $this->getMock('Magento\Payment\Helper\Data', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Page/Block/Html/HeaderTest.php b/dev/tests/unit/testsuite/Magento/Page/Block/Html/HeaderTest.php
index 9b6e523b4d8..6e910bb119e 100644
--- a/dev/tests/unit/testsuite/Magento/Page/Block/Html/HeaderTest.php
+++ b/dev/tests/unit/testsuite/Magento/Page/Block/Html/HeaderTest.php
@@ -39,7 +39,7 @@ class HeaderTest extends \PHPUnit_Framework_TestCase
             ->method('getConfig')
             ->will($this->returnValue('default/image.gif'));
 
-        $urlBuilder = $this->getMock('Magento\Core\Model\UrlInterface');
+        $urlBuilder = $this->getMock('Magento\UrlInterface');
         $urlBuilder->expects($this->once())
             ->method('getBaseUrl')
             ->will($this->returnValue('http://localhost/pub/media/'));
@@ -56,10 +56,10 @@ class HeaderTest extends \PHPUnit_Framework_TestCase
             ->method('get')
             ->will($this->returnValue($helper));
 
-        $dirsMock = $this->getMock('Magento\Core\Model\Dir', array('getDir'), array(), '', false);
+        $dirsMock = $this->getMock('Magento\App\Dir', array('getDir'), array(), '', false);
         $dirsMock->expects($this->any())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::MEDIA)
+            ->with(\Magento\App\Dir::MEDIA)
             ->will($this->returnValue(__DIR__ . DIRECTORY_SEPARATOR . '_files'));
 
         $objectManager = new \Magento\TestFramework\Helper\ObjectManager($this);
diff --git a/dev/tests/unit/testsuite/Magento/Page/Block/Link/CurrentTest.php b/dev/tests/unit/testsuite/Magento/Page/Block/Link/CurrentTest.php
index a02a0f5a3e0..e76f251699b 100644
--- a/dev/tests/unit/testsuite/Magento/Page/Block/Link/CurrentTest.php
+++ b/dev/tests/unit/testsuite/Magento/Page/Block/Link/CurrentTest.php
@@ -26,13 +26,47 @@ namespace Magento\Page\Block\Link;
 class CurrentTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\TestFramework\Helper\ObjectManager
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_objectManagerHelper;
+    protected $_contextMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_urlBuilderMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_frontControllerMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_coreHelperMock;
 
     protected function setUp()
     {
-        $this->_objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_urlBuilderMock = $this->getMock('\Magento\UrlInterface');
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $this->_frontControllerMock = $this->getMock('Magento\App\FrontController', array(), array(), '', false);
+        $this->_coreHelperMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
+        $this->_contextMock = $this->getMock('Magento\Core\Block\Template\Context', array(), array(), '', false);
+
+        $this->_contextMock->expects($this->any())
+            ->method('getUrlBuilder')
+            ->will($this->returnValue($this->_urlBuilderMock));
+        $this->_contextMock->expects($this->any())
+            ->method('getRequest')
+            ->will($this->returnValue($this->_requestMock));
+        $this->_contextMock->expects($this->any())
+            ->method('getFrontController')
+            ->will($this->returnValue($this->_frontControllerMock));
     }
 
     public function testGetUrl()
@@ -40,17 +74,13 @@ class CurrentTest extends \PHPUnit_Framework_TestCase
         $path = 'test/path';
         $url = 'http://example.com/asdasd';
 
-        /** @var  \Magento\Core\Block\Template\Context $context */
-        $context = $this->_objectManagerHelper->getObject('Magento\Core\Block\Template\Context');
-        $urlBuilder = $context->getUrlBuilder();
-        $urlBuilder->expects($this->once())->method('getUrl')->with($path)->will($this->returnValue($url));
-
-        $link = $this->_objectManagerHelper->getObject(
-            'Magento\Page\Block\Link\Current',
-            array(
-                'context' => $context,
-            )
-        );
+        $this->_urlBuilderMock->expects($this->once())
+            ->method('getUrl')
+            ->with($path)
+            ->will($this->returnValue($url));
+
+        $link = new \Magento\Page\Block\Link\Current($this->_coreHelperMock, $this->_contextMock);
+
         $link->setPath($path);
         $this->assertEquals($url, $link->getHref());
     }
@@ -58,7 +88,7 @@ class CurrentTest extends \PHPUnit_Framework_TestCase
 
     public function testIsCurrentIfIsset()
     {
-        $link = $this->_objectManagerHelper->getObject('Magento\Page\Block\Link\Current');
+        $link = new \Magento\Page\Block\Link\Current($this->_coreHelperMock, $this->_contextMock);
         $link->setCurrent(true);
         $this->assertTrue($link->IsCurrent());
     }
@@ -68,50 +98,31 @@ class CurrentTest extends \PHPUnit_Framework_TestCase
         $path = 'test/path';
         $url = 'http://example.com/a/b';
 
-        /** @var  \Magento\Core\Block\Template\Context $context */
-        $context = $this->_objectManagerHelper->getObject('Magento\Core\Block\Template\Context');
-
-        $request = $context->getRequest();
-        $request->expects($this->once())->method('getModuleName')->will($this->returnValue('a'));
-        $request->expects($this->once())->method('getControllerName')->will($this->returnValue('b'));
-        $request->expects($this->once())->method('getActionName')->will($this->returnValue('d'));
+        $this->_requestMock->expects($this->once())->method('getModuleName')->will($this->returnValue('a'));
+        $this->_requestMock->expects($this->once())->method('getControllerName')->will($this->returnValue('b'));
+        $this->_requestMock->expects($this->once())->method('getActionName')->will($this->returnValue('d'));
 
-        $context->getFrontController()->expects($this->once())->method('getDefault')
+        $this->_frontControllerMock->expects($this->once())
+            ->method('getDefault')
             ->will($this->returnValue(array('action' => 'd')));
 
-        $urlBuilder = $context->getUrlBuilder();
-        $urlBuilder->expects($this->at(0))->method('getUrl')->with($path)->will($this->returnValue($url));
-        $urlBuilder->expects($this->at(1))->method('getUrl')->with('a/b')->will(
-            $this->returnValue($url)
-        );
-
-        /** @var \Magento\Page\Block\Link\Current $link */
-        $link = $this->_objectManagerHelper->getObject(
-            'Magento\Page\Block\Link\Current',
-            array(
-                'context' => $context,
-            )
-        );
+        $this->_urlBuilderMock->expects($this->at(0))->method('getUrl')->with($path)->will($this->returnValue($url));
+        $this->_urlBuilderMock->expects($this->at(1))
+            ->method('getUrl')
+            ->with('a/b')
+            ->will($this->returnValue($url));
+
+        $link = new \Magento\Page\Block\Link\Current($this->_coreHelperMock, $this->_contextMock);
         $link->setPath($path);
         $this->assertTrue($link->isCurrent());
     }
 
     public function testIsCurrentFalse()
     {
-        /** @var  \Magento\Core\Block\Template\Context $context */
-        $context = $this->_objectManagerHelper->getObject('Magento\Core\Block\Template\Context');
-
-        $urlBuilder = $context->getUrlBuilder();
-        $urlBuilder->expects($this->at(0))->method('getUrl')->will($this->returnValue('1'));
-        $urlBuilder->expects($this->at(1))->method('getUrl')->will($this->returnValue('2'));
-
-        /** @var \Magento\Page\Block\Link\Current $link */
-        $link = $this->_objectManagerHelper->getObject(
-            'Magento\Page\Block\Link\Current',
-            array(
-                'context' => $context,
-            )
-        );
+        $this->_urlBuilderMock->expects($this->at(0))->method('getUrl')->will($this->returnValue('1'));
+        $this->_urlBuilderMock->expects($this->at(1))->method('getUrl')->will($this->returnValue('2'));
+
+        $link = new \Magento\Page\Block\Link\Current($this->_coreHelperMock, $this->_contextMock);
         $this->assertFalse($link->isCurrent());
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Page/Block/SwitchTest.php b/dev/tests/unit/testsuite/Magento/Page/Block/SwitchTest.php
index f6ba3478402..49b89c97a3b 100644
--- a/dev/tests/unit/testsuite/Magento/Page/Block/SwitchTest.php
+++ b/dev/tests/unit/testsuite/Magento/Page/Block/SwitchTest.php
@@ -30,13 +30,46 @@ namespace Magento\Page\Block;
 class SwitchTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\TestFramework\Helper\ObjectManager
+     * @var \Magento\Page\Block\Switcher
      */
-    protected $_objectManager;
+    protected $_block;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeManagerMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_coreHelperMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_contextMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_appMock;
 
     protected function setUp()
     {
-        $this->_objectManager = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_storeManagerMock = $this->getMock('\Magento\Core\Model\StoreManagerInterface');
+        $this->_coreHelperMock = $this->getMock('\Magento\Core\Helper\Data', array(), array(), '', false);
+        $this->_contextMock = $this->getMock('\Magento\Core\Block\Template\Context', array(), array(), '', false);
+        $this->_appMock = $this->getMock('\Magento\Core\Model\App', array(), array(), '', false);
+
+        $this->_contextMock->expects($this->any())
+            ->method('getApp')
+            ->will($this->returnValue($this->_appMock));
+
+        $this->_block = new \Magento\Page\Block\Switcher(
+            $this->_storeManagerMock,
+            $this->_coreHelperMock,
+            $this->_contextMock
+        );
     }
 
     /**
@@ -46,15 +79,15 @@ class SwitchTest extends \PHPUnit_Framework_TestCase
     {
         $storeMock = $this->getMock('Magento\Core\Model\Store', array(), array(), '', false);
         $storeMock->expects($this->once())->method('isUseStoreInUrl')->will($this->returnValue($isUseStoreInUrl));
-        $storeManager = $this->getMock('Magento\Core\Model\StoreManagerInterface');
-        $storeManager->expects($this->any())->method('getStore')->will($this->returnValue($storeMock));
-        $block = $this->_objectManager->getObject('Magento\Page\Block\Switcher', array('storeManager' =>
-            $storeManager));
 
-        $this->assertEquals($block->isStoreInUrl(), $isUseStoreInUrl);
+        $this->_storeManagerMock = $this->getMock('Magento\Core\Model\StoreManagerInterface');
+        $this->_storeManagerMock->expects($this->any())->method('getStore')->will($this->returnValue($storeMock));
+
+        $this->_appMock->expects($this->any())->method('getStore')->will($this->returnValue($storeMock));
 
-        // check cached value
-        $this->assertEquals($block->isStoreInUrl(), $isUseStoreInUrl);
+        $this->assertEquals($this->_block->isStoreInUrl(), $isUseStoreInUrl);
+        // check value is cached
+        $this->assertEquals($this->_block->isStoreInUrl(), $isUseStoreInUrl);
     }
 
     /**
diff --git a/dev/tests/unit/testsuite/Magento/Payment/Model/Method/BanktransferTest.php b/dev/tests/unit/testsuite/Magento/Payment/Model/Method/BanktransferTest.php
index 9daf60024bd..1b8278b8c27 100644
--- a/dev/tests/unit/testsuite/Magento/Payment/Model/Method/BanktransferTest.php
+++ b/dev/tests/unit/testsuite/Magento/Payment/Model/Method/BanktransferTest.php
@@ -37,7 +37,7 @@ class BanktransferTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $paymentDataMock = $this->getMock('Magento\Payment\Helper\Data', array(), array(), '', false);
         $coreStoreConfig = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
         $adapterFactoryMock = $this->getMock('Magento\Core\Model\Log\AdapterFactory', array('create'),
diff --git a/dev/tests/unit/testsuite/Magento/Payment/Model/Method/CashondeliveryTest.php b/dev/tests/unit/testsuite/Magento/Payment/Model/Method/CashondeliveryTest.php
index 4de6e0d9ce8..4552a713c58 100644
--- a/dev/tests/unit/testsuite/Magento/Payment/Model/Method/CashondeliveryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Payment/Model/Method/CashondeliveryTest.php
@@ -38,7 +38,7 @@ class CashondeliveryTest extends \PHPUnit_Framework_TestCase
     {
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
 
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $paymentDataMock = $this->getMock('Magento\Payment\Helper\Data', array(), array(), '', false);
         $adapterFactoryMock = $this->getMock('Magento\Core\Model\Log\AdapterFactory', array('create'),
             array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/GridTest.php b/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/GridTest.php
index 4705607a0e3..8bcc68eab18 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/GridTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/GridTest.php
@@ -141,14 +141,14 @@ class GridTest extends \PHPUnit_Framework_TestCase
     /**
      * Get layout mock
      *
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     protected function _getMockLayout()
     {
-        $layout = $this->getMockBuilder('Magento\Core\Model\Layout')
+        $layout = $this->getMockBuilder('Magento\View\LayoutInterface')
             ->disableOriginalConstructor()
             ->setMethods(array('createBlock', 'getChildName', 'setChild'))
-            ->getMock();
+            ->getMockForAbstractClass();
 
         return $layout;
     }
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/Related/Orders/GridTest.php b/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/Related/Orders/GridTest.php
index 6e3056e3199..3e48f0e2f90 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/Related/Orders/GridTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/Related/Orders/GridTest.php
@@ -142,14 +142,14 @@ class GridTest extends \PHPUnit_Framework_TestCase
     /**
      * Get layout mock
      *
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     protected function _getMockLayout()
     {
-        $layout = $this->getMockBuilder('Magento\Core\Model\Layout')
+        $layout = $this->getMockBuilder('Magento\View\LayoutInterface')
             ->disableOriginalConstructor()
             ->setMethods(array('createBlock', 'getChildName', 'setChild'))
-            ->getMock();
+            ->getMockForAbstractClass();
         return $layout;
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Model/Observer/Backend/RecurringProfile/FormRendererTest.php b/dev/tests/unit/testsuite/Magento/Sales/Model/Observer/Backend/RecurringProfile/FormRendererTest.php
index fb370095075..32e4f3aec79 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Model/Observer/Backend/RecurringProfile/FormRendererTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Model/Observer/Backend/RecurringProfile/FormRendererTest.php
@@ -55,7 +55,8 @@ class FormRendererTest extends \PHPUnit_Framework_TestCase
     public function testRender()
     {
         $blockMock = $this->getMock(
-            'Magento\Core\Block', array(
+            'Magento\View\Element\BlockInterface',
+            array(
                 'setNameInLayout', 'setParentElement', 'setProductEntity', 'toHtml', 'addFieldMap',
                 'addFieldDependence', 'addConfigOptions'
             )
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/AbstractTest.php b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/AbstractTest.php
index 978aa8d8e93..f8d0acee480 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/AbstractTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/AbstractTest.php
@@ -47,7 +47,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
         $coreString = $this->getMock('Magento\Core\Helper\String', array(), array(), '', false);
         $coreStoreConfig = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
         $translate = $this->getMock('Magento\Core\Model\Translate', array(), array(), '', false);
-        $coreDir = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $coreDir = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $shippingConfig = $this->getMock('Magento\Shipping\Model\Config', array(), array(), '', false);
         $pdfItemsFactory = $this->getMock('Magento\Sales\Model\Order\Pdf\ItemsFactory', array(), array(), '', false);
 
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/InvoiceTest.php b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/InvoiceTest.php
index 252f4892a56..a9fe51ce9b8 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/InvoiceTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/InvoiceTest.php
@@ -43,7 +43,7 @@ class InvoiceTest extends \PHPUnit_Framework_TestCase
         $coreHelperStringMock = $this->getMock('Magento\Core\Helper\String', array(), array(), '', false, false);
         $storeConfigMock = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false, false);
         $translateMock = $this->getMock('Magento\Core\Model\Translate', array(), array(), '', false, false);
-        $coreDirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false, false);
+        $coreDirMock = $this->getMock('Magento\App\Dir', array(), array(), '', false, false);
         $coreDirMock->expects($this->once())
             ->method('getDir')
             ->will($this->returnValue(BP));
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/Total/FactoryTest.php b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/Total/FactoryTest.php
index 1b8a8912ca1..389c8512501 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/Total/FactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/Total/FactoryTest.php
@@ -81,7 +81,7 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
     /**
      * @expectedException \Magento\Core\Exception
      * @expectedExceptionMessage The PDF total model TEST must be or extend
-     * \Magento\Sales\Model\Order\Pdf\Total\Default.
+     * \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal.
      */
     public function testCreateException()
     {
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/StatusTest.php b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/StatusTest.php
index b9dc1316889..11ec58e2257 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/StatusTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/StatusTest.php
@@ -42,7 +42,7 @@ class StatusTest extends \PHPUnit_Framework_TestCase
             $resource = $this->getMock('Magento\Sales\Model\Resource\Order\Status', array(), array(), '', false);
         }
         if (!$eventDispatcher) {
-            $eventDispatcher = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+            $eventDispatcher = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         }
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $model = $helper->getObject('Magento\Sales\Model\Order\Status', array(
@@ -64,7 +64,7 @@ class StatusTest extends \PHPUnit_Framework_TestCase
         $resource->expects($this->once())->method('commit');
 
         $params = array('status' => $status, 'state' => $state);
-        $eventDispatcher = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventDispatcher = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $eventDispatcher->expects($this->once())->method('dispatch')
             ->with($this->equalTo('sales_order_status_unassign'), $this->equalTo($params));
 
diff --git a/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/CopyRuleTest.php b/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/CopyRuleTest.php
index f7a389de7ab..8dde5621796 100644
--- a/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/CopyRuleTest.php
+++ b/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/CopyRuleTest.php
@@ -58,7 +58,7 @@ class CopyRuleTest extends \PHPUnit_Framework_TestCase
             array('isLoaded'),
             array(
                 $this->_filesystem,
-                new \Magento\Core\Model\Dir(__DIR__),
+                new \Magento\App\Dir(__DIR__),
                 $this->getMock('Magento\Core\Model\EntityFactory', array(), array(), '', false)
             )
         );
diff --git a/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/ThemeDeploymentTest.php b/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/ThemeDeploymentTest.php
index 65f1851715d..2754f7c3789 100644
--- a/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/ThemeDeploymentTest.php
+++ b/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/ThemeDeploymentTest.php
@@ -44,7 +44,7 @@ class ThemeDeploymentTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $filesystem =  new \Magento\Filesystem(new \Magento\Filesystem\Adapter\Local());
-        $dirs = new \Magento\Core\Model\Dir($filesystem->normalizePath(__DIR__ . '/../../../../../../'));
+        $dirs = new \Magento\App\Dir($filesystem->normalizePath(__DIR__ . '/../../../../../../'));
         $this->_cssHelper = new \Magento\Core\Helper\Css($filesystem, $dirs);
         $this->_tmpDir = TESTS_TEMP_DIR . DIRECTORY_SEPARATOR . 'tool_theme_deployment';
         mkdir($this->_tmpDir);
diff --git a/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Tab/CssTest.php b/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Tab/CssTest.php
index 97ea2f5d52a..565cebd7ed4 100644
--- a/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Tab/CssTest.php
+++ b/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Tab/CssTest.php
@@ -63,7 +63,7 @@ class CssTest extends \PHPUnit_Framework_TestCase
             array(
                 'formFactory'      => $this->getMock('Magento\Data\Form\Factory', array(), array(), '', false),
                 'objectManager'   => $this->_objectManager,
-                'dirs'            => new \Magento\Core\Model\Dir(__DIR__),
+                'dirs'            => new \Magento\App\Dir(__DIR__),
                 'uploaderService' => $this->getMock(
                     'Magento\Theme\Model\Uploader\Service', array(), array(), '', false
                 ),
diff --git a/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/Wysiwyg/Files/ContentTest.php b/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/Wysiwyg/Files/ContentTest.php
index d724cf2a33b..44590978f8f 100644
--- a/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/Wysiwyg/Files/ContentTest.php
+++ b/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/Wysiwyg/Files/ContentTest.php
@@ -44,7 +44,7 @@ class ContentTest extends \PHPUnit_Framework_TestCase
     protected $_filesContent;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
@@ -52,7 +52,7 @@ class ContentTest extends \PHPUnit_Framework_TestCase
     {
         $this->_helperStorage = $this->getMock('Magento\Theme\Helper\Storage', array(), array(), '', false);
         $this->_urlBuilder = $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false);
-        $this->_request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_request = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
 
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $constructArguments =  $objectManagerHelper->getConstructArguments(
diff --git a/dev/tests/unit/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeTest.php b/dev/tests/unit/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeTest.php
index 537ba7d19d2..b841703596a 100644
--- a/dev/tests/unit/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeTest.php
@@ -51,9 +51,7 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
     {
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager', array(), array(), '', false);
 
-        $this->_request = $this->getMock(
-            'Magento\Core\Controller\Request\Http', array('getParam', 'getPost'), array(), '', false
-        );
+        $this->_request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
 
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $arguments = array(
diff --git a/dev/tests/unit/testsuite/Magento/Theme/Helper/StorageTest.php b/dev/tests/unit/testsuite/Magento/Theme/Helper/StorageTest.php
index 57060b15bc9..6da9c82ede2 100644
--- a/dev/tests/unit/testsuite/Magento/Theme/Helper/StorageTest.php
+++ b/dev/tests/unit/testsuite/Magento/Theme/Helper/StorageTest.php
@@ -47,7 +47,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
     protected $_themeFactory;
 
     /**
-     * @var \Zend_Controller_Request_Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
@@ -66,7 +66,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
         $this->_customizationPath = \Magento\Filesystem::DIRECTORY_SEPARATOR
             . implode(\Magento\Filesystem::DIRECTORY_SEPARATOR, array('var', 'theme'));
 
-        $this->_request = $this->getMock('Zend_Controller_Request_Http', array('getParam'), array(), '', false);
+        $this->_request = $this->getMock('\Magento\App\Request\Http', array(), array(), '', false);
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
         $this->_session = $this->getMock('Magento\Backend\Model\Session', array(), array(), '', false);
         $this->_themeFactory = $this->getMock('Magento\Core\Model\Theme\FlyweightFactory', array('create'), array(),
diff --git a/dev/tests/unit/testsuite/Magento/Theme/Model/Config/CustomizationTest.php b/dev/tests/unit/testsuite/Magento/Theme/Model/Config/CustomizationTest.php
index 06b4e0d42ce..a7b6fe5b236 100644
--- a/dev/tests/unit/testsuite/Magento/Theme/Model/Config/CustomizationTest.php
+++ b/dev/tests/unit/testsuite/Magento/Theme/Model/Config/CustomizationTest.php
@@ -38,7 +38,7 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_designPackage;
 
@@ -58,7 +58,7 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
             'Magento\Core\Model\StoreManagerInterface', array(), '', true, true, true, array('getStores')
         );
         $this->_designPackage = $this->getMockForAbstractClass(
-            'Magento\Core\Model\View\DesignInterface', array(), '', true, true, true,
+            'Magento\View\DesignInterface', array(), '', true, true, true,
             array('getConfigurationDesignTheme')
         );
         $this->_themeCollection = $this->getMock(
diff --git a/dev/tests/unit/testsuite/Magento/Theme/Model/ConfigTest.php b/dev/tests/unit/testsuite/Magento/Theme/Model/ConfigTest.php
index 660f244a45d..84c7611217e 100644
--- a/dev/tests/unit/testsuite/Magento/Theme/Model/ConfigTest.php
+++ b/dev/tests/unit/testsuite/Magento/Theme/Model/ConfigTest.php
@@ -89,7 +89,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
             $this->_configData,
             $this->_storeConfigWriter,
             $this->_storeManagerMock,
-            $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false),
+            $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false),
             $this->_configCacheMock,
             $this->_layoutCacheMock
         );
diff --git a/dev/tests/unit/testsuite/Magento/User/Model/UserTest.php b/dev/tests/unit/testsuite/Magento/User/Model/UserTest.php
index 1601bfd2ab1..970a78b9206 100644
--- a/dev/tests/unit/testsuite/Magento/User/Model/UserTest.php
+++ b/dev/tests/unit/testsuite/Magento/User/Model/UserTest.php
@@ -83,7 +83,7 @@ class UserTest extends \PHPUnit_Framework_TestCase
             ->getMock();
         $coreRegistry = $this->getMock('Magento\Core\Model\Registry', array(), array(), '', false);
 
-        $eventManagerMock = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManagerMock = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $objectFactoryMock = $this->getMock('Magento\Validator\Composite\VarienObjectFactory', array('create'),
             array(), '', false);
         $roleFactoryMock = $this->getMock('Magento\User\Model\RoleFactory', array('create'),
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/ElementTest.php b/dev/tests/unit/testsuite/Magento/View/Layout/ElementTest.php
similarity index 91%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Layout/ElementTest.php
rename to dev/tests/unit/testsuite/Magento/View/Layout/ElementTest.php
index bbcc53a61f9..918706aca8d 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/ElementTest.php
+++ b/dev/tests/unit/testsuite/Magento/View/Layout/ElementTest.php
@@ -26,9 +26,9 @@
  */
 
 /**
- * Test class for \Magento\Core\Model\Layout\Element
+ * Test class for \Magento\View\Layout\Element
  */
-namespace Magento\Core\Model\Layout;
+namespace Magento\View\Layout;
 
 class ElementTest extends \PHPUnit_Framework_TestCase
 {
@@ -37,7 +37,7 @@ class ElementTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetElementName($xml, $name)
     {
-        $model = new \Magento\Core\Model\Layout\Element($xml);
+        $model = new \Magento\View\Layout\Element($xml);
         $this->assertEquals($name, $model->getElementName());
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/TabsTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/TabsTest.php
index 6e09346246c..456b1dfc755 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/TabsTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/TabsTest.php
@@ -43,7 +43,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
     protected $_helper;
 
     /**
-     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Controller\Request\Http
+     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -60,7 +60,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
             ->getMock();
 
         $backendData = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false);
-        $this->_request = $this->getMockForAbstractClass('Magento\Core\Controller\Request\Http',
+        $this->_request = $this->getMockForAbstractClass('Magento\App\RequestInterface',
             array($backendData), '', false, false, true, array('getParam'));
 
         $this->_helper = new \Magento\TestFramework\Helper\ObjectManager($this);
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/EditTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/EditTest.php
index 7e8c5b15290..6cc1eff4e3d 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/EditTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/EditTest.php
@@ -28,7 +28,7 @@ namespace Magento\Webapi\Block\Adminhtml\Role;
 class EditTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
@@ -53,9 +53,8 @@ class EditTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->getMock();
 
-        $this->_request = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $this->_request = $this->getMockBuilder('Magento\App\Request\Http')
             ->disableOriginalConstructor()
-            ->setMethods(array('getParam'))
             ->getMock();
 
         $this->_request->expects($this->any())
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php
index ab49ae4212a..f5c0981c179 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php
@@ -28,7 +28,7 @@ namespace Magento\Webapi\Block\Adminhtml\User;
 class EditTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
@@ -44,9 +44,8 @@ class EditTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_request = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $this->_request = $this->getMockBuilder('Magento\App\Request\Http')
             ->disableOriginalConstructor()
-            ->setMethods(array('getParam'))
             ->getMock();
 
         $this->_request->expects($this->any())
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RequestTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RequestTest.php
index 406b27daf93..307ebb43169 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RequestTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RequestTest.php
@@ -45,20 +45,15 @@ class RequestTest extends \PHPUnit_Framework_TestCase
                 ->setMethods(array('deserialize', 'get'))
                 ->disableOriginalConstructor()
                 ->getMock();
-        $applicationMock = $this->getMockBuilder('Magento\Core\Model\App')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $configMock = $this->getMockBuilder('Magento\Core\Model\Config')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $applicationMock->expects($this->once())->method('getConfig')->will($this->returnValue($configMock));
-        $configMock->expects($this->once())->method('getAreaFrontName')->will($this->returnValue('rest'));
+        $areaListMock = $this->getMock('Magento\App\AreaList', array(), array(), '', false);
+        $configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
+        $areaListMock->expects($this->once())->method('getFrontName')->will($this->returnValue('rest'));
         /** Instantiate request. */
         // TODO: Get rid of SUT mocks.
         $this->_request = $this->getMock(
             'Magento\Webapi\Controller\Rest\Request',
             array('getHeader', 'getMethod', 'isGet', 'isPost', 'isPut', 'isDelete', 'getRawBody'),
-            array($applicationMock, $this->_deserializerFactory)
+            array($areaListMock, $configScopeMock, $this->_deserializerFactory)
         );
         parent::setUp();
     }
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RouterTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RouterTest.php
index 13be912adcd..0f60435d190 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RouterTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RouterTest.php
@@ -54,16 +54,12 @@ class RouterTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->setMethods(array('match'))
             ->getMock();
-        $applicationMock = $this->getMockBuilder('Magento\Core\Model\App')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $configMock = $this->getMockBuilder('Magento\Core\Model\Config')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $applicationMock->expects($this->once())->method('getConfig')->will($this->returnValue($configMock));
-        $configMock->expects($this->once())->method('getAreaFrontName')->will($this->returnValue('rest'));
+        $areaListMock = $this->getMock('Magento\App\AreaList', array(), array(), '', false);
+        $configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
+        $areaListMock->expects($this->once())->method('getFrontName')->will($this->returnValue('rest'));
         $this->_request = new \Magento\Webapi\Controller\Rest\Request(
-            $applicationMock,
+            $areaListMock,
+            $configScopeMock,
             $deserializerFactory
         );
         /** Initialize SUT. */
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Controller/RestTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Controller/RestTest.php
index 0b6da094269..4e528b33df7 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Controller/RestTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Controller/RestTest.php
@@ -48,7 +48,7 @@ class RestTest extends \PHPUnit_Framework_TestCase
     /** @var \stdClass */
     protected $_serviceMock;
 
-    /** @var \Magento\Core\Model\App\State */
+    /** @var \Magento\App\State */
     protected $_appStateMock;
 
     /** @var \Magento\Oauth\Service\OauthV1 */
@@ -91,7 +91,7 @@ class RestTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->getMock();
 
-        $this->_appStateMock =  $this->getMockBuilder('Magento\Core\Model\App\State')
+        $this->_appStateMock =  $this->getMockBuilder('Magento\App\State')
             ->disableOriginalConstructor()
             ->getMock();
 
@@ -153,7 +153,7 @@ class RestTest extends \PHPUnit_Framework_TestCase
         $this->_appStateMock->expects($this->any())->method('isInstalled')->will($this->returnValue(false));
         $expectedMsg = 'Magento is not yet installed';
 
-        $this->_restController->dispatch();
+        $this->_restController->dispatch($this->_requestMock);
         $this->assertTrue($this->_responseMock->isException());
         $exceptionArray = $this->_responseMock->getException();
         $this->assertEquals($expectedMsg, $exceptionArray[0]->getMessage());
@@ -183,7 +183,7 @@ class RestTest extends \PHPUnit_Framework_TestCase
             ->expects($this->any())->method(self::SERVICE_METHOD)->will($this->returnValue(array()));
         $this->_routeMock->expects($this->any())->method('isSecure')->will($this->returnValue($isSecureRoute));
         $this->_requestMock->expects($this->any())->method('isSecure')->will($this->returnValue($isSecureRequest));
-        $this->_restController->dispatch();
+        $this->_restController->dispatch($this->_requestMock);
         $this->assertFalse($this->_responseMock->isException());
     }
 
@@ -225,7 +225,7 @@ class RestTest extends \PHPUnit_Framework_TestCase
         // Override default prepareResponse. It should never be called in this case
         $this->_responseMock->expects($this->never())->method('prepareResponse');
 
-        $this->_restController->dispatch();
+        $this->_restController->dispatch($this->_requestMock);
         $this->assertTrue($this->_responseMock->isException());
         $exceptionArray = $this->_responseMock->getException();
         $this->assertEquals('Operation allowed only in HTTPS', $exceptionArray[0]->getMessage());
@@ -248,7 +248,7 @@ class RestTest extends \PHPUnit_Framework_TestCase
         $expectedMsg = 'The method "' . self::SERVICE_METHOD . '" of service "'
             . self::SERVICE_ID . '" must return an array.';
 
-        $this->_restController->dispatch();
+        $this->_restController->dispatch($this->_requestMock);
         $this->assertTrue($this->_responseMock->isException());
         $exceptionArray = $this->_responseMock->getException();
         $this->assertEquals($expectedMsg, $exceptionArray[0]->getMessage());
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Controller/Soap/RequestTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Controller/Soap/RequestTest.php
index 87ab204ea0c..2ecf954478a 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Controller/Soap/RequestTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Controller/Soap/RequestTest.php
@@ -33,17 +33,12 @@ class RequestTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         /** Prepare mocks for SUT constructor. */
-        $applicationMock = $this->getMockBuilder('Magento\Core\Model\App')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $configMock = $this->getMockBuilder('Magento\Core\Model\Config')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $applicationMock->expects($this->once())->method('getConfig')->will($this->returnValue($configMock));
-        $configMock->expects($this->once())->method('getAreaFrontName')->will($this->returnValue('soap'));
+        $areaListMock = $this->getMock('Magento\App\AreaList', array(), array(), '', false);
+        $configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
+        $areaListMock->expects($this->once())->method('getFrontName')->will($this->returnValue('soap'));
 
         /** Initialize SUT. */
-        $this->_soapRequest = new \Magento\Webapi\Controller\Soap\Request($applicationMock);
+        $this->_soapRequest = new \Magento\Webapi\Controller\Soap\Request($areaListMock, $configScopeMock);
         parent::setUp();
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Controller/SoapTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Controller/SoapTest.php
index 67e0669847e..4d5d4c790f6 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Controller/SoapTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Controller/SoapTest.php
@@ -45,7 +45,7 @@ class SoapTest extends \PHPUnit_Framework_TestCase
     /** @var \Magento\Webapi\Controller\ErrorProcessor */
     protected $_errorProcessorMock;
 
-    /** @var \Magento\Core\Model\App\State */
+    /** @var \Magento\App\State */
     protected $_appStateMock;
 
     /** @var \Magento\Core\Model\App */
@@ -84,7 +84,7 @@ class SoapTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->setMethods(array('maskException'))
             ->getMock();
-        $this->_appStateMock =  $this->getMockBuilder('Magento\Core\Model\App\State')
+        $this->_appStateMock =  $this->getMockBuilder('Magento\App\State')
             ->disableOriginalConstructor()
             ->getMock();
         $localeMock =  $this->getMockBuilder('Magento\Core\Model\Locale')
@@ -161,7 +161,7 @@ class SoapTest extends \PHPUnit_Framework_TestCase
             ->method('getApiCharset')
             ->will($this->returnValue($encoding));
 
-        $this->_soapController->dispatch();
+        $this->_soapController->dispatch($this->_requestMock);
         $expectedMessage = <<<EXPECTED_MESSAGE
 <?xml version="1.0" encoding="{$encoding}"?>
 <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" >
@@ -195,7 +195,7 @@ EXPECTED_MESSAGE;
             ->method('generate')
             ->will($this->returnValue($wsdl));
 
-        $this->_soapController->dispatch();
+        $this->_soapController->dispatch($this->_requestMock);
         $this->assertEquals($wsdl, $this->_responseMock->getBody());
     }
 
@@ -216,7 +216,7 @@ EXPECTED_MESSAGE;
             ->method('validateAccessToken')
             ->will($this->returnValue(array('isValid' => true)));
 
-        $this->_soapController->dispatch();
+        $this->_soapController->dispatch($this->_requestMock);
         unset($_SERVER['HTTP_AUTHORIZATION']);
         $this->assertEquals($soapResponse, $this->_responseMock->getBody());
     }
@@ -242,7 +242,7 @@ EXPECTED_MESSAGE;
             ->method('getApiCharset')
             ->will($this->returnValue($encoding));
 
-        $this->_soapController->dispatch();
+        $this->_soapController->dispatch($this->_requestMock);
 
         $expectedMessage = <<<EXPECTED_MESSAGE
 <?xml version="1.0" encoding="{$encoding}"?>
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/InRoleUserUpdaterTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/InRoleUserUpdaterTest.php
index 5e303326291..bae65f93618 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/InRoleUserUpdaterTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/InRoleUserUpdaterTest.php
@@ -34,7 +34,7 @@ class InRoleUserUpdaterTest extends \PHPUnit_Framework_TestCase
 
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
 
-        $request = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $request = $this->getMockBuilder('Magento\App\RequestInterface')
             ->disableOriginalConstructor()
             ->getMock();
         $request->expects($this->any())->method('getParam')->will($this->returnValueMap(array(
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/UsersUpdaterTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/UsersUpdaterTest.php
index a326f88b69d..d23f30d0997 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/UsersUpdaterTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/UsersUpdaterTest.php
@@ -38,7 +38,7 @@ class UsersUpdaterTest extends \PHPUnit_Framework_TestCase
     protected $_backendHelper;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
@@ -57,7 +57,7 @@ class UsersUpdaterTest extends \PHPUnit_Framework_TestCase
             ->getMock();
         $this->_backendHelper->expects($this->any())->method('prepareFilterString')->will($this->returnArgument(0));
 
-        $this->_request = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $this->_request = $this->getMockBuilder('Magento\App\Request\Http')
             ->disableOriginalConstructor()
             ->getMock();
         $this->_collection = $this->getMockBuilder('Magento\Webapi\Model\Resource\Acl\User\Collection')
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RoleTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RoleTest.php
index 0e698e4e8be..de08d16b286 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RoleTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RoleTest.php
@@ -77,7 +77,7 @@ class RoleTest extends \PHPUnit_Framework_TestCase
     protected function _createModel($roleService, $serviceCollection = null)
     {
         return $this->_helper->getObject('Magento\Webapi\Model\Acl\Role', array(
-            'eventDispatcher' => $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false),
+            'eventDispatcher' => $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false),
             'cacheManager' => $this->getMock('Magento\Core\Model\CacheInterface', array(), array(), '', false),
             'resource' => $roleService,
             'resourceCollection' => $serviceCollection
@@ -100,7 +100,7 @@ class RoleTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetCollection()
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $fetchStrategy = $this->getMockForAbstractClass('Magento\Data\Collection\Db\FetchStrategyInterface');
         $entityFactory = $this->getMock('Magento\Core\Model\EntityFactory', array(), array(), '', false);
         $logger = $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RuleTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RuleTest.php
index e8d008c5130..65d48c9752e 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RuleTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RuleTest.php
@@ -77,7 +77,7 @@ class RuleTest extends \PHPUnit_Framework_TestCase
     protected function _createModel($ruleResource, $resourceCollection = null)
     {
         return $this->_helper->getObject('Magento\Webapi\Model\Acl\Rule', array(
-            'eventDispatcher' => $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false),
+            'eventDispatcher' => $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false),
             'cacheManager' => $this->getMock('Magento\Core\Model\CacheInterface', array(), array(), '', false),
             'resource' => $ruleResource,
             'resourceCollection' => $resourceCollection
@@ -115,7 +115,7 @@ class RuleTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetCollection()
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $fetchStrategy = $this->getMockForAbstractClass('Magento\Data\Collection\Db\FetchStrategyInterface');
         $entityFactory = $this->getMock('Magento\Core\Model\EntityFactory', array(), array(), '', false);
         $logger = $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/User/RoleUpdaterTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/User/RoleUpdaterTest.php
index f09cba64eee..2b92ddd0155 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/User/RoleUpdaterTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/User/RoleUpdaterTest.php
@@ -34,7 +34,7 @@ class RoleUpdaterTest extends \PHPUnit_Framework_TestCase
 
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
 
-        $request = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $request = $this->getMockBuilder('Magento\App\RequestInterface')
             ->disableOriginalConstructor()
             ->getMock();
         $request->expects($this->any())->method('getParam')->will($this->returnValueMap(array(
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/UserTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/UserTest.php
index f46940336af..30c183b6cf0 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/UserTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/UserTest.php
@@ -77,7 +77,7 @@ class UserTest extends \PHPUnit_Framework_TestCase
     protected function _createModel($userService, $serviceCollection = null)
     {
         return $this->_helper->getObject('Magento\Webapi\Model\Acl\User', array(
-            'eventDispatcher' => $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false),
+            'eventDispatcher' => $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false),
             'cacheManager' => $this->getMock('Magento\Core\Model\CacheInterface', array(), array(), '', false),
             'resource' => $userService,
             'resourceCollection' => $serviceCollection
@@ -146,7 +146,7 @@ class UserTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetCollection()
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $fetchStrategy = $this->getMockForAbstractClass('Magento\Data\Collection\Db\FetchStrategyInterface');
         $entityFactory = $this->getMock('Magento\Core\Model\EntityFactory', array(), array(), '', false);
         $logger = $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ConfigTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ConfigTest.php
index 8b6e5439d3a..deb72f4b145 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ConfigTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ConfigTest.php
@@ -44,7 +44,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->getMock();
         $fileSystemMock = $this->getMockBuilder('Magento\Filesystem')->disableOriginalConstructor()->getMock();
-        $dirMock = $this->getMockBuilder('Magento\Core\Model\Dir')->disableOriginalConstructor()->getMock();
+        $dirMock = $this->getMockBuilder('Magento\App\Dir')->disableOriginalConstructor()->getMock();
         $configMock = $this->getMockBuilder('Magento\Webapi\Model\Config')->disableOriginalConstructor()->getMock();
         $this->_soapConfig = new \Magento\Webapi\Model\Soap\Config(
             $objectManagerMock,
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ServerTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ServerTest.php
index 1deeaabdc46..7a5246a728a 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ServerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ServerTest.php
@@ -36,9 +36,6 @@ class ServerTest extends \PHPUnit_Framework_TestCase
     /** @var \Magento\Core\Model\Store */
     protected $_storeMock;
 
-    /** @var \Magento\Core\Model\Config */
-    protected $_configMock;
-
     /** @var \Magento\Webapi\Controller\Soap\Request */
     protected $_requestMock;
 
@@ -64,9 +61,9 @@ class ServerTest extends \PHPUnit_Framework_TestCase
         $this->_storeManagerMock->expects($this->any())->method('getStore')
             ->will($this->returnValue($this->_storeMock));
 
-        $this->_configMock = $this->getMockBuilder('Magento\Core\Model\Config')
-            ->disableOriginalConstructor()->getMock();
-        $this->_configMock->expects($this->any())->method('getAreaFrontName')->will($this->returnValue('soap'));
+        $areaListMock = $this->getMock('Magento\App\AreaList', array(), array(), '', false);
+        $configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
+        $areaListMock->expects($this->any())->method('getFrontName')->will($this->returnValue('soap'));
 
         $this->_requestMock = $this->getMockBuilder('Magento\Webapi\Controller\Soap\Request')
             ->disableOriginalConstructor()
@@ -80,7 +77,8 @@ class ServerTest extends \PHPUnit_Framework_TestCase
 
         /** Init SUT. */
         $this->_soapServer = new \Magento\Webapi\Model\Soap\Server(
-            $this->_configMock,
+            $areaListMock,
+            $configScopeMock,
             $this->_requestMock,
             $this->_domDocumentFactory,
             $this->_storeManagerMock,
@@ -93,7 +91,6 @@ class ServerTest extends \PHPUnit_Framework_TestCase
     protected function tearDown()
     {
         unset($this->_soapServer);
-        unset($this->_configMock);
         unset($this->_requestMock);
         unset($this->_domDocumentFactory);
         unset($this->_storeMock);
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/RegistrationTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/RegistrationTest.php
index 418d51f9a06..769203b4fa2 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/RegistrationTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/RegistrationTest.php
@@ -92,7 +92,7 @@ class RegistrationTest extends \PHPUnit_Framework_TestCase
         $this->_mockConfig = $this->getMockBuilder('Magento\Core\Model\Config')->disableOriginalConstructor()
             ->getMock();
         $this->_mockApp->expects($this->any())->method('getConfig')->will($this->returnValue($this->_mockConfig));
-        $this->_mockEventManager = $this->getMockBuilder('Magento\Core\Model\Event\Manager')
+        $this->_mockEventManager = $this->getMockBuilder('Magento\Event\ManagerInterface')
             ->disableOriginalConstructor()
             ->getMock();
         $this->_mockLayoutFilter = $this->getMockBuilder('Magento\Core\Model\Layout\Filter\Acl')
@@ -112,12 +112,10 @@ class RegistrationTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->getMock();
 
-        $this->_mockRequest = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_mockResponse = $this->getMockBuilder('Magento\Core\Controller\Response\Http')
+        $this->_mockRequest = $this->getMockBuilder('Magento\App\Request\Http')
             ->disableOriginalConstructor()
             ->getMock();
+        $this->_mockResponse = $this->getMock('Magento\App\Response\Http');
     }
 
     public function testActivateActionException()
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/SubscriptionTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/SubscriptionTest.php
index ce8e712013c..4c350d71590 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/SubscriptionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/SubscriptionTest.php
@@ -67,6 +67,9 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase
     /** @var \PHPUnit_Framework_MockObject_MockObject */
     protected $_mockRequest;
 
+    /** @var \PHPUnit_Framework_MockObject_MockObject */
+    protected $_mockResponse;
+
     /** @var \PHPUnit_Framework_MockObject_MockObject */
     protected $_mockConfigScope;
 
@@ -88,7 +91,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase
         $this->_mockConfig = $this->getMockBuilder('Magento\Core\Model\Config')->disableOriginalConstructor()
             ->getMock();
         $this->_mockApp->expects($this->any())->method('getConfig')->will($this->returnValue($this->_mockConfig));
-        $this->_mockEventManager = $this->getMockBuilder('Magento\Core\Model\Event\Manager')
+        $this->_mockEventManager = $this->getMockBuilder('Magento\Event\ManagerInterface')
             ->disableOriginalConstructor()
             ->getMock();
         $this->_mockLayoutFilter = $this->getMockBuilder('Magento\Core\Model\Layout\Filter\Acl')
@@ -103,7 +106,10 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase
         $this->_mockSubscriptionSvc = $this->getMockBuilder('Magento\Webhook\Service\SubscriptionV1')
             ->disableOriginalConstructor()
             ->getMock();
-        $this->_mockRequest = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $this->_mockRequest = $this->getMockBuilder('Magento\App\Request\Http')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->_mockResponse = $this->getMockBuilder('Magento\App\Response\Http')
             ->disableOriginalConstructor()
             ->getMock();
         $this->_mockRegistry = $this->getMockBuilder('Magento\Core\Model\Registry')
@@ -568,6 +574,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase
             'session' => $this->_mockBackendModSess,
             'translator' => $this->_mockTranslateModel,
             'request' => $this->_mockRequest,
+            'response' => $this->_mockResponse,
         );
 
         $this->_mockBackendCntCtxt = $this->_objectManagerHelper
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Model/EndpointTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Model/EndpointTest.php
index 428a2c26f85..249cd8927be 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Model/EndpointTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Model/EndpointTest.php
@@ -122,7 +122,7 @@ class EndpointTest extends \PHPUnit_Framework_TestCase
      */
     public function testBeforeSave($hasAuthType, $hasDataChanges)
     {
-        $mockEventManager = $this->getMockBuilder('Magento\Core\Model\Event\Manager')
+        $mockEventManager = $this->getMockBuilder('Magento\Event\ManagerInterface')
             ->disableOriginalConstructor()
             ->getMock();
 
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Model/EventTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Model/EventTest.php
index 451f8dc7374..5d6eb4b7535 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Model/EventTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Model/EventTest.php
@@ -50,7 +50,7 @@ class EventTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->getMock();
 
-        $mockEventManager = $this->getMockBuilder('Magento\Core\Model\Event\Manager')
+        $mockEventManager = $this->getMockBuilder('Magento\Event\ManagerInterface')
             ->disableOriginalConstructor()
             ->getMock();
 
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Event/CollectionTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Event/CollectionTest.php
index 873f74da5b0..128a7b9d3e5 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Event/CollectionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Event/CollectionTest.php
@@ -31,8 +31,8 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
 {
     public function testConstructor()
     {
-        /** @var \Magento\Core\Model\Event\Manager $eventManager */
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        /** @var \Magento\Event\ManagerInterface $eventManager */
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         /** @var \Magento\Data\Collection\Db\FetchStrategyInterface $mockFetchStrategy */
         $mockFetchStrategy = $this->getMockBuilder('Magento\Data\Collection\Db\FetchStrategyInterface')
             ->disableOriginalConstructor()
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Job/CollectionTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Job/CollectionTest.php
index 3ab515725f4..ec79757386f 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Job/CollectionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Job/CollectionTest.php
@@ -31,8 +31,8 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
 {
     public function testConstructor()
     {
-        /** @var \Magento\Core\Model\Event\Manager $eventManager */
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        /** @var \Magento\Event\ManagerInterface $eventManager */
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         /** @var \Magento\Data\Collection\Db\FetchStrategyInterface $mockFetchStrategy */
         $mockFetchStrategy = $this->getMockBuilder('Magento\Data\Collection\Db\FetchStrategyInterface')
             ->disableOriginalConstructor()
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/CollectionTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/CollectionTest.php
index ed67684f5dd..52cec64b34f 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/CollectionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/CollectionTest.php
@@ -55,7 +55,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
     private $_entityFactory;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     private $_eventManager;
 
@@ -78,10 +78,10 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($this->_selectMock));
 
         $subscriptionMock = $this->_makeMock('Magento\Webhook\Model\Subscription');
-        $eventMgrMock = $this->_makeMock('Magento\Core\Model\Event\Manager');
+        $eventMgrMock = $this->_makeMock('Magento\Event\ManagerInterface');
 
         // Arguments to collection constructor
-        $this->_eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $this->_eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $this->_fetchStrategyMock = $this->_makeMock('Magento\Data\Collection\Db\FetchStrategyInterface');
         $this->_endpointResMock = $this->_makeMock('Magento\Webhook\Model\Resource\Endpoint');
         $this->_resourceMock = $this-> _makeMock('Magento\Webhook\Model\Resource\Subscription');
@@ -95,7 +95,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
             array('Magento\Webhook\Model\Subscription', array(), $subscriptionMock)
         );
         $getReturnMap = array(
-            array('Magento\Core\Model\Event\Manager', $eventMgrMock),
+            array('Magento\Event\ManagerInterface', $eventMgrMock),
         );
         $mockObjectManager = $this->_setMageObjectManager();
         $mockObjectManager->expects($this->any())
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php
index 189ba2b6df6..733201eec4b 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php
@@ -31,7 +31,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
 {
     public function testConstructor()
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
 
         $fetchStrategyMock = $this->_makeMock('Magento\Data\Collection\Db\FetchStrategyInterface');
         $endpointResMock = $this->_makeMock('Magento\Webhook\Model\Resource\Endpoint');
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Model/SubscriptionTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Model/SubscriptionTest.php
index 9f308eb6772..15457f0dc6a 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Model/SubscriptionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Model/SubscriptionTest.php
@@ -61,7 +61,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase
             ->method('getUser')
             ->will($this->returnValue($this->_mockUser));
 
-        $mockEventDispatcher = $this->getMockBuilder('Magento\Core\Model\Event\Manager')
+        $mockEventDispatcher = $this->getMockBuilder('Magento\Event\ManagerInterface')
             ->disableOriginalConstructor()
             ->getMock();
 
diff --git a/dev/tools/Magento/Tools/Migration/aliases_map/composite_modules_ce.php b/dev/tools/Magento/Tools/Migration/aliases_map/composite_modules_ce.php
index 9a1b7d1fc9a..36059e8de84 100644
--- a/dev/tools/Magento/Tools/Migration/aliases_map/composite_modules_ce.php
+++ b/dev/tools/Magento/Tools/Migration/aliases_map/composite_modules_ce.php
@@ -27,10 +27,11 @@
 /**
  * List on composite module names for Magento CE
  */
-
-require_once realpath(dirname(dirname(dirname(dirname(__DIR__)))))
+require_once realpath(dirname(dirname(dirname(dirname(dirname(dirname(__DIR__)))))))
+    . '/app/code/Magento/Core/Model/Resource/SetupInterface.php';
+require_once realpath(dirname(dirname(dirname(dirname(dirname(dirname(__DIR__)))))))
     . '/app/code/Magento/Core/Model/Resource/Setup.php';
-require_once realpath(dirname(dirname(dirname(dirname(__DIR__)))))
+require_once realpath(dirname(dirname(dirname(dirname(dirname(dirname(__DIR__)))))))
     . '/app/code/Magento/Core/Model/Resource/Setup/Migration.php';
 
 return \Magento\Core\Model\Resource\Setup\Migration::getCompositeModules();
diff --git a/dev/tools/Magento/Tools/Migration/get_aliases_map.php b/dev/tools/Magento/Tools/Migration/get_aliases_map.php
index 2e401dd8c46..93811cd4eaa 100644
--- a/dev/tools/Magento/Tools/Migration/get_aliases_map.php
+++ b/dev/tools/Magento/Tools/Migration/get_aliases_map.php
@@ -43,21 +43,24 @@ if (isset($options['h'])) {
     exit(0);
 }
 
-require_once realpath(dirname(dirname(dirname(__DIR__)))) . '/dev/tests/static/framework/bootstrap.php';
-require_once realpath(dirname(dirname(dirname(__DIR__)))) . '/lib/Zend/Json.php';
+require_once realpath(dirname(dirname(dirname(dirname(dirname(__DIR__)))))) .
+    '/dev/tests/static/framework/bootstrap.php';
+require_once realpath(dirname(dirname(dirname(dirname(dirname(__DIR__)))))) .
+    '/dev/tests/static/framework/Magento/TestFramework/Utility/Classes.php';
+require_once realpath(dirname(dirname(dirname(dirname(dirname(__DIR__)))))) . '/lib/Zend/Json.php';
 
-$magentoBaseDir = dirname(__DIR__) . '/../../';
+$magentoBaseDir = dirname(__DIR__) . '/../../../../';
 if (isset($options['p'])) {
     $magentoBaseDir = $options['p'];
 }
 
 $utilityFiles = new Magento\TestFramework\Utility\Files($magentoBaseDir);
 $map = array();
-$compositeModules = getFilesCombinedArray(__DIR__ . '/AliasesMap', '/^composite_modules_.*\.php$/');
+$compositeModules = getFilesCombinedArray(__DIR__ . '/aliases_map', '/^composite_modules_.*\.php$/');
 // PHP code
 foreach ($utilityFiles->getPhpFiles(true, true, true, false) as $file) {
     $content = file_get_contents($file);
-    $classes = \Magento\Test\Legacy\ClassesTest::collectPhpCodeClasses($content);
+    $classes = \Magento\TestFramework\Utility\Classes::collectPhpCodeClasses($content);
     if ($classes) {
         $factoryNames = array_filter($classes, 'isFactoryName');
         foreach ($factoryNames as $factoryName) {
diff --git a/dev/tools/Magento/Tools/View/Generator/Config.php b/dev/tools/Magento/Tools/View/Generator/Config.php
index d325aebc0c3..3e746269d97 100644
--- a/dev/tools/Magento/Tools/View/Generator/Config.php
+++ b/dev/tools/Magento/Tools/View/Generator/Config.php
@@ -61,8 +61,8 @@ class Config
         if (isset($cmdOptions['destination'])) {
             $destinationDir = $cmdOptions['destination'];
         } else {
-            $dirs = new \Magento\Core\Model\Dir($sourceDir);
-            $destinationDir = $dirs->getDir(\Magento\Core\Model\Dir::STATIC_VIEW);
+            $dirs = new \Magento\App\Dir($sourceDir);
+            $destinationDir = $dirs->getDir(\Magento\App\Dir::STATIC_VIEW);
         }
         if (!is_dir($destinationDir)) {
             throw new \Magento\Exception('Destination directory does not exist: ' . $destinationDir);
diff --git a/dev/tools/Magento/Tools/View/Generator/CopyRule.php b/dev/tools/Magento/Tools/View/Generator/CopyRule.php
index 4049dd44e85..84f7b27643c 100644
--- a/dev/tools/Magento/Tools/View/Generator/CopyRule.php
+++ b/dev/tools/Magento/Tools/View/Generator/CopyRule.php
@@ -82,7 +82,7 @@ class CopyRule
     public function getCopyRules()
     {
         $result = array();
-        /** @var $theme \Magento\Core\Model\ThemeInterface */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($this->_themes as $theme) {
             $area = $theme->getArea();
             $nonModularLocations = $this->_fallbackRule->getPatternDirs(array(
diff --git a/dev/tools/Magento/Tools/View/Generator/ThemeLight.php b/dev/tools/Magento/Tools/View/Generator/ThemeLight.php
index 0f1f1ded935..6dcf3ae8e51 100644
--- a/dev/tools/Magento/Tools/View/Generator/ThemeLight.php
+++ b/dev/tools/Magento/Tools/View/Generator/ThemeLight.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Tools\View\Generator;
 
-class ThemeLight extends \Magento\Object implements \Magento\Core\Model\ThemeInterface
+class ThemeLight extends \Magento\Object implements \Magento\View\Design\ThemeInterface
 {
     /**
      * {@inheritdoc}
@@ -70,4 +70,12 @@ class ThemeLight extends \Magento\Object implements \Magento\Core\Model\ThemeInt
     {
         return (string)$this->getData('code');
     }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isPhysical()
+    {
+        return false;
+    }
 }
diff --git a/dev/tools/Magento/Tools/View/generator.php b/dev/tools/Magento/Tools/View/generator.php
index 9076ca01faf..bdf9fd03ad6 100644
--- a/dev/tools/Magento/Tools/View/generator.php
+++ b/dev/tools/Magento/Tools/View/generator.php
@@ -62,7 +62,7 @@ try {
     $config = new \Magento\Tools\View\Generator\Config(BP, $options);
 
     $filesystem = new \Magento\Filesystem(new \Magento\Filesystem\Adapter\Local);
-    $dirs = new \Magento\Core\Model\Dir($config->getSourceDir());
+    $dirs = new \Magento\App\Dir($config->getSourceDir());
     $objectManager = new \Magento\ObjectManager\ObjectManager();
 
     $themes = new \Magento\Core\Model\Theme\Collection($filesystem, $objectManager, $dirs);
diff --git a/downloader/app/Magento/Downloader/Controller.php b/downloader/app/Magento/Downloader/Controller.php
index f2f7234fe66..89a7b31da55 100755
--- a/downloader/app/Magento/Downloader/Controller.php
+++ b/downloader/app/Magento/Downloader/Controller.php
@@ -513,7 +513,7 @@ final class Controller
                     include_once self::$_instance->getBootstrapPath();
 
                     \Magento\Core\Model\ObjectManager::getInstance()
-                        ->get('Magento\Core\Model\App\State')
+                        ->get('Magento\App\State')
                         ->setIsDownloader();
                 }
                 \Magento\Core\Model\ObjectManager::getInstance()->get('Magento\Core\Model\App');
@@ -943,9 +943,9 @@ final class Controller
                 // reinit config and apply all updates
                 \Mage::app()->getConfig()->reinit();
 
-                /** @var $updater \Magento\Core\Model\Db\UpdaterInterface*/
+                /** @var $updater \Magento\App\UpdaterInterface*/
                 $updater = \Magento\Core\Model\ObjectManager::getInstance()
-                    ->get('Magento\Core\Model\Db\UpdaterInterface');
+                    ->get('Magento\App\UpdaterInterface');
                 $updater->updateScheme();
                 $updater->updateData();
                 $message .= 'Cache cleaned successfully';
diff --git a/app/code/Magento/Core/Controller/Varien/AbstractAction.php b/lib/Magento/App/Action/AbstractAction.php
similarity index 73%
rename from app/code/Magento/Core/Controller/Varien/AbstractAction.php
rename to lib/Magento/App/Action/AbstractAction.php
index 4b8c2d63c09..001ce4812ac 100644
--- a/app/code/Magento/Core/Controller/Varien/AbstractAction.php
+++ b/lib/Magento/App/Action/AbstractAction.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Abstract redirect/forward action class
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,41 +20,30 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Action;
 
-/**
- * Abstract redirect/forward action class
- *
- * @category   Magento
- * @package    Magento_Core
- * @author     Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Core\Controller\Varien;
-
-abstract class AbstractAction
-    implements \Magento\Core\Controller\Varien\DispatchableInterface
+abstract class AbstractAction implements \Magento\App\ActionInterface
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http
+     * @var \Magento\App\ResponseInterface
      */
     protected $_response;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\ResponseInterface $response
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Controller\Response\Http $response
+        \Magento\App\RequestInterface $request,
+        \Magento\App\ResponseInterface $response
     ) {
         $this->_request  = $request;
         $this->_response = $response;
@@ -61,7 +52,7 @@ abstract class AbstractAction
     /**
      * Retrieve request object
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
@@ -71,7 +62,7 @@ abstract class AbstractAction
     /**
      * Retrieve response object
      *
-     * @return \Magento\Core\Controller\Response\Http
+     * @return \Magento\App\ResponseInterface
      */
     public function getResponse()
     {
diff --git a/app/code/Magento/Core/Controller/Varien/Exception.php b/lib/Magento/App/Action/Exception.php
similarity index 87%
rename from app/code/Magento/Core/Controller/Varien/Exception.php
rename to lib/Magento/App/Action/Exception.php
index 60657a9336f..d555c7b9126 100644
--- a/app/code/Magento/Core/Controller/Varien/Exception.php
+++ b/lib/Magento/App/Action/Exception.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Controller exception that can fork different actions, cause forward or redirect
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,18 +20,14 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Action;
 
 /**
- * Controller exception that can fork different actions, cause forward or redirect
- *
+ * @SuppressWarnings(PHPMD.LongVariable)
  */
-namespace Magento\Core\Controller\Varien;
-
 class Exception extends \Exception
 {
     const RESULT_FORWARD  = '_forward';
@@ -47,10 +45,11 @@ class Exception extends \Exception
      * @param string $controllerName
      * @param string $moduleName
      * @param array $params
-     * @return \Magento\Core\Controller\Varien\Exception
+     * @return \Magento\App\Action\Exception
      */
-    public function prepareForward($actionName = null, $controllerName = null, $moduleName = null, array $params = array())
-    {
+    public function prepareForward(
+        $actionName = null, $controllerName = null, $moduleName = null, array $params = array()
+    ) {
         $this->_resultCallback = self::RESULT_FORWARD;
         if (null === $actionName) {
             $actionName = $this->_defaultActionName;
@@ -63,7 +62,7 @@ class Exception extends \Exception
      * Prepare data for running a custom action
      *
      * @param string $actionName
-     * @return \Magento\Core\Controller\Varien\Exception
+     * @return \Magento\App\Action\Exception
      */
     public function prepareFork($actionName = null)
     {
@@ -80,7 +79,7 @@ class Exception extends \Exception
      * @param string $action
      * @param string $flag
      * @param bool $value
-     * @return \Magento\Core\Controller\Varien\Exception
+     * @return \Magento\App\Action\Exception
      */
     public function prepareFlag($action, $flag, $value)
     {
diff --git a/app/code/Magento/Core/Controller/Varien/Action/Forward.php b/lib/Magento/App/Action/Forward.php
similarity index 78%
rename from app/code/Magento/Core/Controller/Varien/Action/Forward.php
rename to lib/Magento/App/Action/Forward.php
index a0c5b992dcc..c4b87142764 100644
--- a/app/code/Magento/Core/Controller/Varien/Action/Forward.php
+++ b/lib/Magento/App/Action/Forward.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Forward action class
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,22 +20,12 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Action;
 
-/**
- * Forward controller
- *
- * @category   Magento
- * @package    Magento_Core
- * @author     Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Core\Controller\Varien\Action;
-
-class Forward extends \Magento\Core\Controller\Varien\AbstractAction
+class Forward extends AbstractAction
 {
     /**
      * Dispatch controller action
diff --git a/app/code/Magento/Core/Controller/Varien/Action/Redirect.php b/lib/Magento/App/Action/Redirect.php
similarity index 76%
rename from app/code/Magento/Core/Controller/Varien/Action/Redirect.php
rename to lib/Magento/App/Action/Redirect.php
index c7d448a1925..635b9e38f98 100644
--- a/app/code/Magento/Core/Controller/Varien/Action/Redirect.php
+++ b/lib/Magento/App/Action/Redirect.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Redirect action class
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,28 +20,17 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Action;
 
-/**
- * Redirect controller
- *
- * @category   Magento
- * @package    Magento_Core
- * @author     Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Core\Controller\Varien\Action;
-
-class Redirect extends \Magento\Core\Controller\Varien\AbstractAction
+class Redirect extends AbstractAction
 {
-     /**
+    /**
      * Dispatch controller action
      *
      * @param string $action action name
-     * @return void
      * @SuppressWarnings(PHPMD.UnusedFormalParameter)
      */
     public function dispatch($action)
diff --git a/app/code/Magento/Core/Controller/Varien/Action/Factory.php b/lib/Magento/App/ActionFactory.php
similarity index 86%
rename from app/code/Magento/Core/Controller/Varien/Action/Factory.php
rename to lib/Magento/App/ActionFactory.php
index 531b123c729..ef56443fbe9 100644
--- a/app/code/Magento/Core/Controller/Varien/Action/Factory.php
+++ b/lib/Magento/App/ActionFactory.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Action Factory
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,22 +20,12 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App;
 
-/**
- * Controller factory
- *
- * @category   Magento
- * @package    Magento_Core
- * @author     Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Core\Controller\Varien\Action;
-
-class Factory
+class ActionFactory
 {
     /**
      * @var \Magento\ObjectManager
diff --git a/app/code/Magento/Core/Model/TemplateEngine/BlockTrackerInterface.php b/lib/Magento/App/ActionInterface.php
similarity index 79%
rename from app/code/Magento/Core/Model/TemplateEngine/BlockTrackerInterface.php
rename to lib/Magento/App/ActionInterface.php
index 42112b25b18..2c3205128d4 100644
--- a/app/code/Magento/Core/Model/TemplateEngine/BlockTrackerInterface.php
+++ b/lib/Magento/App/ActionInterface.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Interface for keeping track of the current block
+ * Magento application action
  *
  * Magento
  *
@@ -23,13 +23,16 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\TemplateEngine;
+namespace Magento\App;
 
-interface BlockTrackerInterface
+interface ActionInterface
 {
     /**
-     * Get the current block
-     * @return \Magento\Core\Block\Template
+     * Dispatch controller action
+     *
+     * @abstract
+     * @param string $action action name
+     * @return void
      */
-    public function getCurrentBlock();
+    public function dispatch($action);
 }
diff --git a/lib/Magento/App/Area/FrontNameResolverFactory.php b/lib/Magento/App/Area/FrontNameResolverFactory.php
new file mode 100644
index 00000000000..8c81099b540
--- /dev/null
+++ b/lib/Magento/App/Area/FrontNameResolverFactory.php
@@ -0,0 +1,51 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App\Area;
+
+class FrontNameResolverFactory
+{
+    /**
+     * @var \Magento\ObjectManager
+     */
+    protected $_objectManager;
+
+    /**
+     * @param \Magento\ObjectManager $objectManager
+     */
+    public function __construct(\Magento\ObjectManager $objectManager)
+    {
+        $this->_objectManager = $objectManager;
+    }
+
+    /**
+     * Create front name resolver
+     *
+     * @param string $className
+     * @return FrontNameResolverInterface
+     */
+    public function create($className)
+    {
+        return $this->_objectManager->create($className);
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/Controller/FrontInterface.php b/lib/Magento/App/Area/FrontNameResolverInterface.php
similarity index 79%
rename from app/code/Magento/Core/Controller/FrontInterface.php
rename to lib/Magento/App/Area/FrontNameResolverInterface.php
index 3191972da30..9c311b441ce 100644
--- a/app/code/Magento/Core/Controller/FrontInterface.php
+++ b/lib/Magento/App/Area/FrontNameResolverInterface.php
@@ -18,20 +18,17 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Area;
 
-namespace Magento\Core\Controller;
-
-interface FrontInterface
+interface FrontNameResolverInterface
 {
     /**
-     * Dispatch request and send response
+     * Retrieve front name
      *
-     * @return \Magento\Core\Controller\FrontInterface
+     * @return string
      */
-    public function dispatch();
-}
+    public function getFrontName();
+}
\ No newline at end of file
diff --git a/lib/Magento/App/AreaList.php b/lib/Magento/App/AreaList.php
new file mode 100644
index 00000000000..091c226ca2f
--- /dev/null
+++ b/lib/Magento/App/AreaList.php
@@ -0,0 +1,97 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+class AreaList
+{
+    /**
+     * Area configuration list
+     *
+     * @var array
+     */
+    protected $_areas;
+
+    /**
+     * @var string
+     */
+    protected $_defaultAreaCode;
+
+    /**
+     * @var Area\FrontNameResolverFactory
+     */
+    protected $_resolverFactory;
+
+    /**
+     * @param Area\FrontNameResolverFactory $resolverFactory
+     * @param array $areas
+     * @param string $default
+     */
+    public function __construct(\Magento\App\Area\FrontNameResolverFactory $resolverFactory, array $areas, $default)
+    {
+        $this->_resolverFactory = $resolverFactory;
+        $this->_areas = $areas;
+        $this->_defaultAreaCode = $default;
+    }
+
+    /**
+     * Retrieve area code by front name
+     *
+     * @param string $frontName
+     * @return null|string
+     */
+    public function getCodeByFrontName($frontName)
+    {
+        foreach ($this->_areas as $areaCode => &$areaInfo) {
+            if (!isset($areaInfo['frontName']) && isset($areaInfo['frontNameResolver'])) {
+                $areaInfo['frontName'] = $this->_resolverFactory->create($areaInfo['frontNameResolver'])
+                    ->getFrontName();
+            }
+            if ($areaInfo['frontName'] == $frontName) {
+                return $areaCode;
+            }
+        }
+        return $this->_defaultAreaCode;
+    }
+
+    /**
+     * Retrieve area front name by code
+     *
+     * @param string $areaCode
+     * @return string
+     */
+    public function getFrontName($areaCode)
+    {
+        return isset($this->_areas[$areaCode]['frontName']) ? $this->_areas[$areaCode]['frontName'] : null;
+    }
+
+    /**
+     * Retrieve area codes
+     *
+     * @return array
+     */
+    public function getCodes()
+    {
+        return array_keys($this->_areas);
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/Model/Dir.php b/lib/Magento/App/Dir.php
similarity index 99%
rename from app/code/Magento/Core/Model/Dir.php
rename to lib/Magento/App/Dir.php
index 4de063011cd..5ac0e745a96 100644
--- a/app/code/Magento/Core/Model/Dir.php
+++ b/lib/Magento/App/Dir.php
@@ -26,7 +26,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model;
+namespace Magento\App;
 
 class Dir
 {
diff --git a/app/code/Magento/Core/Model/Dir/Verification.php b/lib/Magento/App/Dir/Verification.php
similarity index 76%
rename from app/code/Magento/Core/Model/Dir/Verification.php
rename to lib/Magento/App/Dir/Verification.php
index 330e4ba1fd2..c3859764f88 100644
--- a/app/code/Magento/Core/Model/Dir/Verification.php
+++ b/lib/Magento/App/Dir/Verification.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Dir;
+namespace Magento\App\Dir;
 
 class Verification
 {
@@ -33,12 +33,12 @@ class Verification
      * @var array
      */
     protected static $_productionDirs = array(
-        \Magento\Core\Model\Dir::MEDIA,
-        \Magento\Core\Model\Dir::VAR_DIR,
-        \Magento\Core\Model\Dir::TMP,
-        \Magento\Core\Model\Dir::CACHE,
-        \Magento\Core\Model\Dir::LOG,
-        \Magento\Core\Model\Dir::SESSION,
+        \Magento\App\Dir::MEDIA,
+        \Magento\App\Dir::VAR_DIR,
+        \Magento\App\Dir::TMP,
+        \Magento\App\Dir::CACHE,
+        \Magento\App\Dir::LOG,
+        \Magento\App\Dir::SESSION,
     );
 
     /**
@@ -47,13 +47,13 @@ class Verification
      * @var array
      */
     protected static $_nonProductionDirs = array(
-        \Magento\Core\Model\Dir::MEDIA,
-        \Magento\Core\Model\Dir::STATIC_VIEW,
-        \Magento\Core\Model\Dir::VAR_DIR,
-        \Magento\Core\Model\Dir::TMP,
-        \Magento\Core\Model\Dir::CACHE,
-        \Magento\Core\Model\Dir::LOG,
-        \Magento\Core\Model\Dir::SESSION,
+        \Magento\App\Dir::MEDIA,
+        \Magento\App\Dir::STATIC_VIEW,
+        \Magento\App\Dir::VAR_DIR,
+        \Magento\App\Dir::TMP,
+        \Magento\App\Dir::CACHE,
+        \Magento\App\Dir::LOG,
+        \Magento\App\Dir::SESSION,
     );
 
     /**
@@ -62,7 +62,7 @@ class Verification
     protected $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -77,13 +77,13 @@ class Verification
      * Constructor - initialize object with required dependencies, determine application state
      *
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\Dir $dirs
+     * @param \Magento\App\State $appState
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
-        \Magento\Core\Model\App\State $appState
+        \Magento\App\Dir $dirs,
+        \Magento\App\State $appState
     ) {
         $this->_filesystem = $filesystem;
         $this->_dirs = $dirs;
@@ -93,13 +93,13 @@ class Verification
     /**
      * Return list of directories, that must be verified according to the application mode
      *
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @return array
      */
-    protected function _getDirsToVerify(\Magento\Core\Model\App\State $appState)
+    protected function _getDirsToVerify(\Magento\App\State $appState)
     {
         $result = array();
-        $codes = ($appState->getMode() == \Magento\Core\Model\App\State::MODE_PRODUCTION)
+        $codes = ($appState->getMode() == \Magento\App\State::MODE_PRODUCTION)
             ? self::$_productionDirs
             : self::$_nonProductionDirs;
         foreach ($codes as $code) {
diff --git a/lib/Magento/App/FrontController.php b/lib/Magento/App/FrontController.php
new file mode 100644
index 00000000000..52e0d7760db
--- /dev/null
+++ b/lib/Magento/App/FrontController.php
@@ -0,0 +1,183 @@
+<?php
+/**
+ * Front controller responsible for dispatcing application requests
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+class FrontController implements FrontControllerInterface
+{
+    /**
+     * @var array
+     */
+    protected $_defaults = array();
+
+    /**
+     * @var \Magento\App\RouterList
+     */
+    protected $_routerList;
+
+    /**
+     * @var \Magento\App\RequestInterface
+     */
+    protected $_request;
+
+    /**
+     * @var \Magento\App\ResponseInterface
+     */
+    protected $_response;
+
+    /**
+     * @var \Magento\Event\ManagerInterface
+     */
+    protected $_eventManager;
+
+    /**
+     * @var ActionInterface
+     */
+    protected $_action;
+
+    /**
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\App\ResponseInterface $response
+     * @param RouterList $routerList
+     * @param array $data
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+     */
+    public function __construct(
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\App\ResponseInterface $response,
+        RouterList $routerList,
+        array $data = array()
+    ) {
+        $this->_eventManager = $eventManager;
+        $this->_routerList = $routerList;
+        $this->_response = $response;
+    }
+
+    /**
+     * Set Default Value
+     *
+     * @param string $key
+     * @param mixed $value
+     * @return $this
+     */
+    public function setDefault($key, $value = null)
+    {
+        if (is_array($key)) {
+            $this->_defaults = $key;
+        } else {
+            $this->_defaults[$key] = $value;
+        }
+        return $this;
+    }
+
+    /**
+     * Retrieve default value
+     *
+     * @param string $key
+     * @return mixed
+     */
+    public function getDefault($key=null)
+    {
+        if (is_null($key)) {
+            return $this->_defaults;
+        } elseif (isset($this->_defaults[$key])) {
+            return $this->_defaults[$key];
+        }
+        return false;
+    }
+
+    /**
+     * Retrieve request object
+     *
+     * @return \Magento\App\RequestInterface
+     */
+    public function getRequest()
+    {
+        return $this->_request;
+    }
+
+    /**
+     * Retrieve response object
+     *
+     * @return \Magento\App\ResponseInterface
+     */
+    public function getResponse()
+    {
+        return $this->_response;
+    }
+
+    /**
+     * Seta application action
+     *
+     * @param ActionInterface $action
+     */
+    public function setAction(ActionInterface $action)
+    {
+        $this->_action = $action;
+    }
+
+    /**
+     * @return ActionInterface
+     */
+    public function getAction()
+    {
+        return $this->_action;
+    }
+
+    /**
+     * @param RequestInterface $request
+     * @throws \LogicException
+     */
+    public function dispatch(RequestInterface $request)
+    {
+        $this->_request = $request;
+        \Magento\Profiler::start('routers_match');
+        $routingCycleCounter = 0;
+        while (!$request->isDispatched() && $routingCycleCounter++ < 100) {
+            /** @var $router \Magento\App\Router\AbstractRouter */
+            foreach ($this->_routerList->getRouters() as $router) {
+                $router->setFront($this);
+
+                /** @var $controllerInstance \Magento\App\ActionInterface */
+                $controllerInstance = $router->match($this->getRequest());
+                if ($controllerInstance) {
+                    $controllerInstance->dispatch($request->getActionName());
+                    break;
+                }
+            }
+        }
+        \Magento\Profiler::stop('routers_match');
+        if ($routingCycleCounter > 100) {
+            throw new \LogicException('Front controller reached 100 router match iterations');
+        }
+        // This event gives possibility to launch something before sending output (allow cookie setting)
+        $this->_eventManager->dispatch('controller_front_send_response_before', array('front' => $this));
+        \Magento\Profiler::start('send_response');
+        $this->_eventManager->dispatch('http_response_send_before', array('response' => $this));
+        $this->getResponse()->sendResponse();
+        \Magento\Profiler::stop('send_response');
+        $this->_eventManager->dispatch('controller_front_send_response_after', array('front' => $this));
+    }
+}
diff --git a/lib/Magento/App/FrontControllerInterface.php b/lib/Magento/App/FrontControllerInterface.php
new file mode 100644
index 00000000000..fe382c2a00f
--- /dev/null
+++ b/lib/Magento/App/FrontControllerInterface.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Application front controller responsible for dispatching application requests
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+interface FrontControllerInterface
+{
+    /**
+     * Dispatch application action
+     *
+     * @param RequestInterface $request
+     */
+    public function dispatch(RequestInterface $request);
+}
diff --git a/app/code/Magento/Core/Model/Module/Declaration/Converter/Dom.php b/lib/Magento/App/Module/Declaration/Converter/Dom.php
old mode 100755
new mode 100644
similarity index 99%
rename from app/code/Magento/Core/Model/Module/Declaration/Converter/Dom.php
rename to lib/Magento/App/Module/Declaration/Converter/Dom.php
index 34de226ee1f..7625dd3b2a0
--- a/app/code/Magento/Core/Model/Module/Declaration/Converter/Dom.php
+++ b/lib/Magento/App/Module/Declaration/Converter/Dom.php
@@ -21,7 +21,7 @@
  * @copyright Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Declaration\Converter;
+namespace Magento\App\Module\Declaration\Converter;
 
 class Dom implements \Magento\Config\ConverterInterface
 {
diff --git a/app/code/Magento/Core/Model/Module/Declaration/FileResolver.php b/lib/Magento/App/Module/Declaration/FileResolver.php
similarity index 89%
rename from app/code/Magento/Core/Model/Module/Declaration/FileResolver.php
rename to lib/Magento/App/Module/Declaration/FileResolver.php
index 5fd9a021c47..aba33599fb8 100644
--- a/app/code/Magento/Core/Model/Module/Declaration/FileResolver.php
+++ b/lib/Magento/App/Module/Declaration/FileResolver.php
@@ -21,19 +21,19 @@
  * @copyright Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Declaration;
+namespace Magento\App\Module\Declaration;
 
 class FileResolver implements \Magento\Config\FileResolverInterface
 {
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_applicationDirs;
 
     /**
-     * @param \Magento\Core\Model\Dir $applicationDirs
+     * @param \Magento\App\Dir $applicationDirs
      */
-    public function __construct(\Magento\Core\Model\Dir $applicationDirs)
+    public function __construct(\Magento\App\Dir $applicationDirs)
     {
         $this->_applicationDirs = $applicationDirs;
     }
@@ -44,7 +44,7 @@ class FileResolver implements \Magento\Config\FileResolverInterface
      */
     public function get($filename, $scope)
     {
-        $appCodeDir =  $this->_applicationDirs->getDir(\Magento\Core\Model\Dir::MODULES);
+        $appCodeDir =  $this->_applicationDirs->getDir(\Magento\App\Dir::MODULES);
         $moduleFilePattern = $appCodeDir . DIRECTORY_SEPARATOR . '*' . DIRECTORY_SEPARATOR . '*' . DIRECTORY_SEPARATOR
             . 'etc' . DIRECTORY_SEPARATOR . 'module.xml';
         $moduleFileList = glob($moduleFilePattern);
@@ -60,7 +60,7 @@ class FileResolver implements \Magento\Config\FileResolverInterface
             $output[$scope][] = $file;
         }
 
-        $appConfigDir = $this->_applicationDirs->getDir(\Magento\Core\Model\Dir::CONFIG);
+        $appConfigDir = $this->_applicationDirs->getDir(\Magento\App\Dir::CONFIG);
         $globalEnablerPattern = $appConfigDir . DIRECTORY_SEPARATOR . '*' . DIRECTORY_SEPARATOR . 'module.xml';
         $output['base'] = glob($globalEnablerPattern);
         // Put global enablers at the end of the file list
diff --git a/app/code/Magento/Core/Model/Module/Declaration/Reader/Filesystem.php b/lib/Magento/App/Module/Declaration/Reader/Filesystem.php
old mode 100755
new mode 100644
similarity index 93%
rename from app/code/Magento/Core/Model/Module/Declaration/Reader/Filesystem.php
rename to lib/Magento/App/Module/Declaration/Reader/Filesystem.php
index 876d6cd141b..dd21f43b16d
--- a/app/code/Magento/Core/Model/Module/Declaration/Reader/Filesystem.php
+++ b/lib/Magento/App/Module/Declaration/Reader/Filesystem.php
@@ -21,7 +21,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Declaration\Reader;
+namespace Magento\App\Module\Declaration\Reader;
 
 class Filesystem extends \Magento\Config\Reader\Filesystem
 {
@@ -43,9 +43,9 @@ class Filesystem extends \Magento\Config\Reader\Filesystem
     );
 
     /**
-     * @param \Magento\Core\Model\Module\Declaration\FileResolver $fileResolver
-     * @param \Magento\Core\Model\Module\Declaration\Converter\Dom $converter
-     * @param \Magento\Core\Model\Module\Declaration\SchemaLocator $schemaLocator
+     * @param \Magento\App\Module\Declaration\FileResolver $fileResolver
+     * @param \Magento\App\Module\Declaration\Converter\Dom $converter
+     * @param \Magento\App\Module\Declaration\SchemaLocator $schemaLocator
      * @param \Magento\Config\ValidationStateInterface $validationState
      * @param string $fileName
      * @param array $idAttributes
@@ -53,9 +53,9 @@ class Filesystem extends \Magento\Config\Reader\Filesystem
      * @param array $allowedModules
      */
     public function __construct(
-        \Magento\Core\Model\Module\Declaration\FileResolver $fileResolver,
-        \Magento\Core\Model\Module\Declaration\Converter\Dom $converter,
-        \Magento\Core\Model\Module\Declaration\SchemaLocator $schemaLocator,
+        \Magento\App\Module\Declaration\FileResolver $fileResolver,
+        \Magento\App\Module\Declaration\Converter\Dom $converter,
+        \Magento\App\Module\Declaration\SchemaLocator $schemaLocator,
         \Magento\Config\ValidationStateInterface $validationState,
         $fileName = 'module.xml',
         $idAttributes = array(),
@@ -191,7 +191,7 @@ class Filesystem extends \Magento\Config\Reader\Filesystem
          * (in order not to add extra information about dependencies to module config)
          */
         $moduleDependencyMap = array();
-        foreach ($modules as $moduleName => $moduleConfig) {
+        foreach (array_keys($modules) as $moduleName) {
             $moduleDependencyMap[] = array(
                 'moduleName' => $moduleName,
                 'dependencies' => $this->_getExtendedModuleDependencies($moduleName, $modules),
diff --git a/app/code/Magento/Core/Model/Module/Declaration/SchemaLocator.php b/lib/Magento/App/Module/Declaration/SchemaLocator.php
similarity index 92%
rename from app/code/Magento/Core/Model/Module/Declaration/SchemaLocator.php
rename to lib/Magento/App/Module/Declaration/SchemaLocator.php
index c3a17184475..c61020159d1 100644
--- a/app/code/Magento/Core/Model/Module/Declaration/SchemaLocator.php
+++ b/lib/Magento/App/Module/Declaration/SchemaLocator.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Declaration;
+namespace Magento\App\Module\Declaration;
 
 class SchemaLocator implements \Magento\Config\SchemaLocatorInterface
 {
@@ -34,7 +34,7 @@ class SchemaLocator implements \Magento\Config\SchemaLocatorInterface
      */
     public function getSchema()
     {
-        return realpath(__DIR__ . '/../../../etc/module.xsd');
+        return realpath(__DIR__ . '/../../etc/module.xsd');
     }
 
     /**
diff --git a/app/code/Magento/Core/Model/Module/Dir.php b/lib/Magento/App/Module/Dir.php
similarity index 86%
rename from app/code/Magento/Core/Model/Module/Dir.php
rename to lib/Magento/App/Module/Dir.php
index 184e6b053e7..ebe1b15d5b5 100644
--- a/app/code/Magento/Core/Model/Module/Dir.php
+++ b/lib/Magento/App/Module/Dir.php
@@ -23,21 +23,21 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module;
+namespace Magento\App\Module;
 
 class Dir
 {
     /**
      * Directory registry
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_applicationDirs;
 
     /**
-     * @param \Magento\Core\Model\Dir $applicationDirs
+     * @param \Magento\App\Dir $applicationDirs
      */
-    public function __construct(\Magento\Core\Model\Dir $applicationDirs)
+    public function __construct(\Magento\App\Dir $applicationDirs)
     {
         $this->_applicationDirs = $applicationDirs;
     }
@@ -52,7 +52,7 @@ class Dir
      */
     public function getDir($moduleName, $type = '')
     {
-        $result = $this->_applicationDirs->getDir(\Magento\Core\Model\Dir::MODULES)
+        $result = $this->_applicationDirs->getDir(\Magento\App\Dir::MODULES)
             . DIRECTORY_SEPARATOR
             . uc_words($moduleName, DIRECTORY_SEPARATOR);
         if ($type) {
diff --git a/app/code/Magento/Core/Model/Module/Dir/ReverseResolver.php b/lib/Magento/App/Module/Dir/ReverseResolver.php
similarity index 83%
rename from app/code/Magento/Core/Model/Module/Dir/ReverseResolver.php
rename to lib/Magento/App/Module/Dir/ReverseResolver.php
index 32360620a56..cff0b9c4053 100644
--- a/app/code/Magento/Core/Model/Module/Dir/ReverseResolver.php
+++ b/lib/Magento/App/Module/Dir/ReverseResolver.php
@@ -23,27 +23,27 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Dir;
+namespace Magento\App\Module\Dir;
 
 class ReverseResolver
 {
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleList;
 
     /**
-     * @var \Magento\Core\Model\Module\Dir
+     * @var \Magento\App\Module\Dir
      */
     protected $_moduleDirs;
 
     /**
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
-     * @param \Magento\Core\Model\Module\Dir $moduleDirs
+     * @param \Magento\App\ModuleListInterface $moduleList
+     * @param \Magento\App\Module\Dir $moduleDirs
      */
     public function __construct(
-        \Magento\Core\Model\ModuleListInterface $moduleList,
-        \Magento\Core\Model\Module\Dir $moduleDirs
+        \Magento\App\ModuleListInterface $moduleList,
+        \Magento\App\Module\Dir $moduleDirs
     ) {
         $this->_moduleList = $moduleList;
         $this->_moduleDirs = $moduleDirs;
diff --git a/app/code/Magento/Core/Model/Module/ResourceResolver.php b/lib/Magento/App/Module/ResourceResolver.php
similarity index 95%
rename from app/code/Magento/Core/Model/Module/ResourceResolver.php
rename to lib/Magento/App/Module/ResourceResolver.php
index 6603cb033cf..ca42738dd95 100644
--- a/app/code/Magento/Core/Model/Module/ResourceResolver.php
+++ b/lib/Magento/App/Module/ResourceResolver.php
@@ -23,9 +23,9 @@
  * @copyright Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module;
+namespace Magento\App\Module;
 
-class ResourceResolver implements \Magento\Core\Model\Module\ResourceResolverInterface
+class ResourceResolver implements \Magento\App\Module\ResourceResolverInterface
 {
     /**
      * @var \Magento\Core\Model\Config\Modules\Reader
diff --git a/app/code/Magento/Core/Model/Module/ResourceResolverInterface.php b/lib/Magento/App/Module/ResourceResolverInterface.php
similarity index 93%
rename from app/code/Magento/Core/Model/Module/ResourceResolverInterface.php
rename to lib/Magento/App/Module/ResourceResolverInterface.php
index 989c5a90f1b..35f85a0b3f9 100644
--- a/app/code/Magento/Core/Model/Module/ResourceResolverInterface.php
+++ b/lib/Magento/App/Module/ResourceResolverInterface.php
@@ -23,7 +23,7 @@
  * @copyright Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module;
+namespace Magento\App\Module;
 
 interface ResourceResolverInterface
 {
@@ -33,5 +33,5 @@ interface ResourceResolverInterface
      * @param string $moduleName
      * @return array
      */
-    function getResourceList($moduleName);
+    public function getResourceList($moduleName);
 }
diff --git a/app/code/Magento/Core/Model/ModuleList.php b/lib/Magento/App/ModuleList.php
similarity index 89%
rename from app/code/Magento/Core/Model/ModuleList.php
rename to lib/Magento/App/ModuleList.php
index 848617c3f93..20ffd25d552 100644
--- a/app/code/Magento/Core/Model/ModuleList.php
+++ b/lib/Magento/App/ModuleList.php
@@ -21,9 +21,9 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model;
+namespace Magento\App;
 
-class ModuleList implements \Magento\Core\Model\ModuleListInterface
+class ModuleList implements \Magento\App\ModuleListInterface
 {
     /**
      * Configuration data
@@ -40,12 +40,12 @@ class ModuleList implements \Magento\Core\Model\ModuleListInterface
     protected $_scope = 'global';
 
     /**
-     * @param \Magento\Core\Model\Module\Declaration\Reader\Filesystem $reader
+     * @param \Magento\App\Module\Declaration\Reader\Filesystem $reader
      * @param \Magento\Config\CacheInterface $cache
      * @param string $cacheId
      */
     public function __construct(
-        \Magento\Core\Model\Module\Declaration\Reader\Filesystem $reader,
+        Module\Declaration\Reader\Filesystem $reader,
         \Magento\Config\CacheInterface $cache,
         $cacheId = 'modules_declaration_cache'
     ) {
diff --git a/app/code/Magento/Core/Model/ModuleListInterface.php b/lib/Magento/App/ModuleListInterface.php
similarity index 97%
rename from app/code/Magento/Core/Model/ModuleListInterface.php
rename to lib/Magento/App/ModuleListInterface.php
index f2193fe0343..9d22d6adbca 100644
--- a/app/code/Magento/Core/Model/ModuleListInterface.php
+++ b/lib/Magento/App/ModuleListInterface.php
@@ -21,7 +21,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model;
+namespace Magento\App;
 
 interface ModuleListInterface
 {
diff --git a/app/code/Magento/Core/Controller/Request/Http.php b/lib/Magento/App/Request/Http.php
similarity index 82%
rename from app/code/Magento/Core/Controller/Request/Http.php
rename to lib/Magento/App/Request/Http.php
index c740e9f02ba..218f6fdcc2f 100644
--- a/app/code/Magento/Core/Controller/Request/Http.php
+++ b/lib/Magento/App/Request/Http.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Http request
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,21 +20,12 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Request;
 
-
-/**
- * Custom \Zend_Controller_Request_Http class (formally)
- *
- * Allows dispatching before and after events for each controller action
- */
-namespace Magento\Core\Controller\Request;
-
-class Http extends \Zend_Controller_Request_Http
+class Http extends \Zend_Controller_Request_Http implements \Magento\App\RequestInterface
 {
     const DEFAULT_HTTP_PORT = 80;
     const DEFAULT_HTTPS_PORT = 443;
@@ -74,31 +67,31 @@ class Http extends \Zend_Controller_Request_Http
     protected $_beforeForwardInfo = array();
 
     /**
-     * @var \Magento\Backend\Helper\Data
+     * @var \Magento\App\RouterListInterface
      */
-    protected $_helper;
+    protected $_routerList;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var PathInfoProcessorInterface
      */
-    protected $_storeManager;
+    private $_pathInfoProcessor;
 
     /**
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Backend\Helper\Data $helper
-     * @param string|Zend_Uri $uri
+     * @param \Magento\App\RouterListInterface $routerList
+     * @param string $uri
      * @param array $directFrontNames
+     * @param PathInfoProcessorInterface $pathInfoProcessor
      */
     public function __construct(
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Backend\Helper\Data $helper,
+        \Magento\App\RouterListInterface $routerList,
         $uri = null,
-        $directFrontNames = array()
+        $directFrontNames = array(),
+        \Magento\App\Request\PathInfoProcessorInterface $pathInfoProcessor = null
     ) {
-        $this->_helper = $helper;
+        $this->_routerList = $routerList;
         $this->_directFrontNames = $directFrontNames;
-        $this->_storeManager = $storeManager;
         parent::__construct($uri);
+        $this->_pathInfoProcessor = $pathInfoProcessor;
     }
 
     /**
@@ -145,19 +138,8 @@ class Http extends \Zend_Controller_Request_Http
                 $pathInfo = $requestUri;
             }
 
-            $pathParts = explode('/', ltrim($pathInfo, '/'), 2);
-            $storeCode = $pathParts[0];
-
-            if ($this->_isFrontArea($storeCode)) {
-                $stores = $this->_storeManager->getStores(true, true);
-                if (isset($stores[$storeCode]) && $stores[$storeCode]->isUseStoreInUrl()) {
-                    if (!$this->isDirectAccessFrontendName($storeCode)) {
-                        $this->_storeManager->setCurrentStore($storeCode);
-                        $pathInfo = '/'.(isset($pathParts[1]) ? $pathParts[1] : '');
-                    } elseif (!empty($storeCode)) {
-                        $this->setActionName('noRoute');
-                    }
-                }
+            if ($this->_pathInfoProcessor) {
+                $pathInfo = $this->_pathInfoProcessor->process($this, $pathInfo);
             }
 
             $this->_originalPathInfo = (string)$pathInfo;
@@ -169,23 +151,12 @@ class Http extends \Zend_Controller_Request_Http
         return $this;
     }
 
-    /**
-     * Check area by store code
-     *
-     * @param string $storeCode
-     * @return boolean
-     */
-    protected function _isFrontArea($storeCode)
-    {
-        return $storeCode != $this->_helper->getAreaFrontName();
-    }
-
     /**
      * Specify new path info
      * It happen when occur rewrite based on configuration
      *
      * @param   string $pathInfo
-     * @return  \Magento\Core\Controller\Request\Http
+     * @return  \Magento\App\RequestInterface
      */
     public function rewritePathInfo($pathInfo)
     {
@@ -205,18 +176,7 @@ class Http extends \Zend_Controller_Request_Http
      */
     public function isDirectAccessFrontendName($code)
     {
-        $names = $this->getDirectFrontNames();
-        return isset($names[$code]);
-    }
-
-    /**
-     * Get list of front names available with access without store code
-     *
-     * @return array
-     */
-    public function getDirectFrontNames()
-    {
-        return $this->_directFrontNames;
+        return isset($this->_directFrontNames[$code]);
     }
 
     /**
@@ -266,9 +226,7 @@ class Http extends \Zend_Controller_Request_Http
     public function setRouteName($route)
     {
         $this->_route = $route;
-        $router = \Magento\Core\Model\ObjectManager::getInstance()->get('Magento\Core\Model\App')
-            ->getFrontController()
-            ->getRouterList()->getRouterByRoute($route);
+        $router = $this->_routerList->getRouterByRoute($route);
         if (!$router) {
             return $this;
         }
@@ -279,6 +237,17 @@ class Http extends \Zend_Controller_Request_Http
         return $this;
     }
 
+    /**
+     * Retrieve request front name
+     *
+     * @return string|null
+     */
+    public function getFrontName()
+    {
+        $pathParts = explode('/', trim($this->getPathInfo(), '/'));
+        return reset($pathParts);
+    }
+
     public function getRouteName()
     {
         return $this->_route;
@@ -308,7 +277,7 @@ class Http extends \Zend_Controller_Request_Http
      * @param string|array $key
      * @param mixed $value
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function setPost($key, $value = null)
     {
@@ -324,7 +293,7 @@ class Http extends \Zend_Controller_Request_Http
      * Specify module name where was found currently used controller
      *
      * @param   string $module
-     * @return  \Magento\Core\Controller\Request\Http
+     * @return  \Magento\App\RequestInterface
      */
     public function setControllerModule($module)
     {
@@ -415,9 +384,7 @@ class Http extends \Zend_Controller_Request_Http
         if ($this->_requestedRouteName === null) {
             if ($this->_rewritedPathInfo !== null && isset($this->_rewritedPathInfo[0])) {
                 $frontName = $this->_rewritedPathInfo[0];
-                $router = \Magento\Core\Model\ObjectManager::getInstance()->get('Magento\Core\Model\App')
-                    ->getFrontController()
-                    ->getRouterList()->getRouterByFrontName($frontName);
+                $router = $this->_routerList->getRouterByFrontName($frontName);
                 $this->_requestedRouteName = $router->getRouteByFrontName($frontName);
             } else {
                 // no rewritten path found, use default route name
@@ -463,7 +430,7 @@ class Http extends \Zend_Controller_Request_Http
      * Set routing info data
      *
      * @param array $data
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function setRoutingInfo($data)
     {
@@ -477,7 +444,7 @@ class Http extends \Zend_Controller_Request_Http
      * Collect properties changed by _forward in protected storage
      * before _forward was called first time.
      *
-     * @return \Magento\Core\Controller\Varien\Action
+     * @return \Magento\App\ActionInterface
      */
     public function initForward()
     {
@@ -558,7 +525,7 @@ class Http extends \Zend_Controller_Request_Http
             return $_FILES;
         }
 
-        return (isset($_FILES[$key])) ? $_FILES[$key] : $default;
+        return isset($_FILES[$key]) ? $_FILES[$key] : $default;
     }
 
     /**
diff --git a/lib/Magento/App/Request/PathInfoProcessorInterface.php b/lib/Magento/App/Request/PathInfoProcessorInterface.php
new file mode 100644
index 00000000000..aec0609e989
--- /dev/null
+++ b/lib/Magento/App/Request/PathInfoProcessorInterface.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * PATH_INFO processor
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App\Request;
+
+interface PathInfoProcessorInterface
+{
+    /**
+     * Process Request path info
+     *
+     * @param \Magento\App\RequestInterface $request
+     * @param string $pathInfo
+     * @return string
+     */
+    public function process(\Magento\App\RequestInterface $request, $pathInfo);
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/Model/Resource/SetupFactory.php b/lib/Magento/App/RequestFactory.php
similarity index 67%
rename from app/code/Magento/Core/Model/Resource/SetupFactory.php
rename to lib/Magento/App/RequestFactory.php
index 39fa055554a..ec08243681b 100644
--- a/app/code/Magento/Core/Model/Resource/SetupFactory.php
+++ b/lib/Magento/App/RequestFactory.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Setup model factory
+ * Application request factory
  *
  * Magento
  *
@@ -23,10 +23,9 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App;
 
-namespace Magento\Core\Model\Resource;
-
-class SetupFactory
+class RequestFactory
 {
     /**
      * @var \Magento\ObjectManager
@@ -42,19 +41,13 @@ class SetupFactory
     }
 
     /**
-     * Create setup model instance
+     * Create request
      *
-     * @param $className
      * @param array $arguments
-     * @return \Magento\Core\Model\Resource\SetupInterface
-     * @throws \LogicException
+     * @return \Magento\App\RequestInterface
      */
-    public function create($className, array $arguments = array())
+    public function create(array $arguments = array())
     {
-        $object = $this->_objectManager->create($className, $arguments);
-        if (false == ($object instanceof \Magento\Core\Model\Resource\SetupInterface)) {
-            throw new \LogicException($className . ' doesn\'t implement \Magento\Core\Model\Resource\SetupInterface');
-        }
-        return $object;
+        return $this->_objectManager->create('Magento\App\RequestInterface', $arguments);
     }
-}
+}
\ No newline at end of file
diff --git a/lib/Magento/App/RequestInterface.php b/lib/Magento/App/RequestInterface.php
new file mode 100644
index 00000000000..e41af2faf05
--- /dev/null
+++ b/lib/Magento/App/RequestInterface.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Application request
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+interface RequestInterface
+{
+    /**
+     * Retrieve module name
+     *
+     * @return string
+     */
+    public function getModuleName();
+
+    /**
+     * Set Module name
+     *
+     * @param string $name
+     */
+    public function setModuleName($name);
+
+    /**
+     * Retrieve action name
+     *
+     * @return string
+     */
+    public function getActionName();
+
+    /**
+     * Set action name
+     *
+     * @param string $name
+     */
+    public function setActionName($name);
+
+    /**
+     * Retrieve param by key
+     *
+     * @param string $key
+     * @param mixed $defaultValue
+     * @return mixed
+     */
+    public function getParam($key, $defaultValue = null);
+}
\ No newline at end of file
diff --git a/lib/Magento/App/Response/Http.php b/lib/Magento/App/Response/Http.php
new file mode 100644
index 00000000000..01ea81b9d12
--- /dev/null
+++ b/lib/Magento/App/Response/Http.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * HTTP response
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App\Response;
+
+class Http extends \Zend_Controller_Response_Http implements \Magento\App\ResponseInterface
+{
+    /**
+     * Get header value by name.
+     * Returns first found header by passed name.
+     * If header with specified name was not found returns false.
+     *
+     * @param string $name
+     * @return array|bool
+     */
+    public function getHeader($name)
+    {
+        foreach ($this->_headers as $header) {
+            if ($header['name'] == $name) {
+                return $header;
+            }
+        }
+        return false;
+    }
+}
diff --git a/lib/Magento/App/ResponseFactory.php b/lib/Magento/App/ResponseFactory.php
new file mode 100644
index 00000000000..d392b806811
--- /dev/null
+++ b/lib/Magento/App/ResponseFactory.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Application response factory
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+class ResponseFactory
+{
+    /**
+     * @var \Magento\ObjectManager
+     */
+    protected $_objectManager;
+
+    /**
+     * @param \Magento\ObjectManager $objectManager
+     */
+    public function __construct(\Magento\ObjectManager $objectManager)
+    {
+        $this->_objectManager = $objectManager;
+    }
+
+    /**
+     * Create response
+     *
+     * @param array $arguments
+     * @return \Magento\App\ResponseInterface
+     */
+    public function create(array $arguments = array())
+    {
+        return $this->_objectManager->create('Magento\App\ResponseInterface', $arguments);
+    }
+}
\ No newline at end of file
diff --git a/lib/Magento/App/ResponseInterface.php b/lib/Magento/App/ResponseInterface.php
new file mode 100644
index 00000000000..bd12804ea53
--- /dev/null
+++ b/lib/Magento/App/ResponseInterface.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Application response
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+interface ResponseInterface
+{
+    /**
+     * Send response to client
+     */
+    public function sendResponse();
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/Controller/Varien/Router/AbstractRouter.php b/lib/Magento/App/Router/AbstractRouter.php
similarity index 68%
rename from app/code/Magento/Core/Controller/Varien/Router/AbstractRouter.php
rename to lib/Magento/App/Router/AbstractRouter.php
index 66a2bd7080c..12f509a38ae 100644
--- a/app/code/Magento/Core/Controller/Varien/Router/AbstractRouter.php
+++ b/lib/Magento/App/Router/AbstractRouter.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Abstract application router
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,33 +20,31 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Router;
 
-/**
- * Abstract router class
- */
-namespace Magento\Core\Controller\Varien\Router;
+use \Magento\App\FrontControllerInterface,
+    \Magento\App\ActionFactory,
+    \Magento\App\RequestInterface;
 
 abstract class AbstractRouter
 {
     /**
-     * @var \Magento\Core\Controller\Varien\Front
+     * @var \Magento\App\FrontController
      */
     protected $_front;
 
     /**
-     * @var \Magento\Core\Controller\Varien\Action\Factory
+     * @var \Magento\App\ActionFactory
      */
     protected $_controllerFactory;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Factory $controllerFactory
+     * @param \Magento\App\ActionFactory $controllerFactory
      */
-    public function __construct(\Magento\Core\Controller\Varien\Action\Factory $controllerFactory)
+    public function __construct(ActionFactory $controllerFactory)
     {
         $this->_controllerFactory = $controllerFactory;
     }
@@ -52,10 +52,10 @@ abstract class AbstractRouter
     /**
      * Assign front controller instance
      *
-     * @param $front \Magento\Core\Controller\Varien\Front
-     * @return \Magento\Core\Controller\Varien\Router\AbstractRouter
+     * @param $front FrontControllerInterface
+     * @return AbstractRouter
      */
-    public function setFront(\Magento\Core\Controller\Varien\Front $front)
+    public function setFront(FrontControllerInterface $front)
     {
         $this->_front = $front;
         return $this;
@@ -64,7 +64,7 @@ abstract class AbstractRouter
     /**
      * Retrieve front controller instance
      *
-     * @return \Magento\Core\Controller\Varien\Front
+     * @return FrontControllerInterface
      */
     public function getFront()
     {
@@ -96,8 +96,8 @@ abstract class AbstractRouter
     /**
      * Match controller by request
      *
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @return \Magento\Core\Controller\Varien\Action
+     * @param RequestInterface $request
+     * @return \Magento\App\Action\AbstractAction
      */
-    abstract public function match(\Magento\Core\Controller\Request\Http $request);
+    abstract public function match(RequestInterface $request);
 }
diff --git a/app/code/Magento/Core/Controller/Varien/Router/DefaultRouter.php b/lib/Magento/App/Router/DefaultRouter.php
similarity index 69%
rename from app/code/Magento/Core/Controller/Varien/Router/DefaultRouter.php
rename to lib/Magento/App/Router/DefaultRouter.php
index d078b435206..cedd6b063d9 100644
--- a/app/code/Magento/Core/Controller/Varien/Router/DefaultRouter.php
+++ b/lib/Magento/App/Router/DefaultRouter.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Default application router
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,28 +20,28 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Router;
 
-namespace Magento\Core\Controller\Varien\Router;
+use \Magento\App\ActionFactory,
+    \Magento\App\RequestInterface;
 
-class DefaultRouter extends \Magento\Core\Controller\Varien\Router\AbstractRouter
+class DefaultRouter extends AbstractRouter
 {
     /**
-     * @var \Magento\Core\Model\NoRouteHandlerList
+     * @var \Magento\App\Router\NoRouteHandlerList
      */
     protected $_noRouteHandlerList;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Factory $controllerFactory
-     * @param \Magento\Core\Model\NoRouteHandlerList $noRouteHandlerList
+     * @param ActionFactory $controllerFactory
+     * @param \Magento\App\Router\NoRouteHandlerList $noRouteHandlerList
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Factory $controllerFactory,
-        \Magento\Core\Model\NoRouteHandlerList $noRouteHandlerList
+        ActionFactory $controllerFactory,
+        \Magento\App\Router\NoRouteHandlerList $noRouteHandlerList
     ) {
         parent::__construct($controllerFactory);
         $this->_noRouteHandlerList = $noRouteHandlerList;
@@ -48,10 +50,10 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\AbstractRoute
     /**
      * Modify request and set to no-route action
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param RequestInterface $request
      * @return boolean
      */
-    public function match(\Magento\Core\Controller\Request\Http $request)
+    public function match(RequestInterface $request)
     {
         foreach ($this->_noRouteHandlerList->getHandlers() as $noRouteHandler) {
             if ($noRouteHandler->process($request)) {
@@ -59,7 +61,7 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\AbstractRoute
             }
         }
 
-        return $this->_controllerFactory->createController('Magento\Core\Controller\Varien\Action\Forward',
+        return $this->_controllerFactory->createController('Magento\App\Action\Forward',
             array('request' => $request)
         );
     }
diff --git a/app/code/Magento/Core/Model/NoRouteHandlerList.php b/lib/Magento/App/Router/NoRouteHandlerList.php
similarity index 98%
rename from app/code/Magento/Core/Model/NoRouteHandlerList.php
rename to lib/Magento/App/Router/NoRouteHandlerList.php
index 886d3ec7979..e98fc4af890 100644
--- a/app/code/Magento/Core/Model/NoRouteHandlerList.php
+++ b/lib/Magento/App/Router/NoRouteHandlerList.php
@@ -23,8 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-
-namespace Magento\Core\Model;
+namespace Magento\App\Router;
 
 class NoRouteHandlerList
 {
diff --git a/app/code/Magento/Core/Model/RouterList.php b/lib/Magento/App/RouterList.php
similarity index 95%
rename from app/code/Magento/Core/Model/RouterList.php
rename to lib/Magento/App/RouterList.php
index 8606be97429..90781da07b5 100644
--- a/app/code/Magento/Core/Model/RouterList.php
+++ b/lib/Magento/App/RouterList.php
@@ -24,9 +24,11 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model;
+namespace Magento\App;
 
-class RouterList
+use \Magento\App\RouterListInterface;
+
+class RouterList implements RouterListInterface
 {
     /**
      * @var \Magento\ObjectManager
@@ -123,7 +125,7 @@ class RouterList
      * Get router by route
      *
      * @param string $routeId
-     * @return \Magento\Core\Controller\Varien\Router\AbstractRouter
+     * @return \Magento\App\Router\AbstractRouter
      */
     public function getRouterByRoute($routeId)
     {
@@ -162,7 +164,7 @@ class RouterList
      * Get router by frontName
      *
      * @param string $frontName
-     * @return \Magento\Core\Controller\Varien\Router\AbstractRouter
+     * @return \Magento\App\Router\AbstractRouter
      */
     public function getRouterByFrontName($frontName)
     {
diff --git a/lib/Magento/App/RouterListInterface.php b/lib/Magento/App/RouterListInterface.php
new file mode 100644
index 00000000000..0222bf8f932
--- /dev/null
+++ b/lib/Magento/App/RouterListInterface.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Application router list
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+interface RouterListInterface
+{
+    /**
+     * Get list of active routers
+     * sorted by sortOrder
+     *
+     * @return array
+     */
+    public function getRouters();
+
+    /**
+     * Get router by route
+     *
+     * @param string $routeId
+     * @return \Magento\App\Router\AbstractRouter
+     */
+    public function getRouterByRoute($routeId);
+
+    /**
+     * Get router by frontName
+     *
+     * @param string $frontName
+     * @return \Magento\App\Router\AbstractRouter
+     */
+    public function getRouterByFrontName($frontName);
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/Model/App/State.php b/lib/Magento/App/State.php
similarity index 92%
rename from app/code/Magento/Core/Model/App/State.php
rename to lib/Magento/App/State.php
index e7c6cfb8b87..7825ab03b0e 100644
--- a/app/code/Magento/Core/Model/App/State.php
+++ b/lib/Magento/App/State.php
@@ -24,7 +24,9 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model\App;
+namespace Magento\App;
+
+use Zend\Soap\Exception\InvalidArgumentException;
 
 class State
 {
@@ -69,7 +71,7 @@ class State
     /**
      * @param string $installDate
      * @param string $mode
-     * @throws \Magento\Core\Exception
+     * @throws \LogicException
      */
     public function __construct($installDate, $mode = self::MODE_DEFAULT)
     {
@@ -81,7 +83,7 @@ class State
                 $this->_appMode = $mode;
                 break;
             default:
-                throw new \Magento\Core\Exception("Unknown application mode: {$mode}");
+                throw new \InvalidArgumentException("Unknown application mode: {$mode}");
         }
     }
 
@@ -119,6 +121,7 @@ class State
      * Get update mode flag
      *
      * @return bool
+     * @SuppressWarnings(PHPMD.BooleanGetMethodName)
      */
     public function getUpdateMode()
     {
diff --git a/app/code/Magento/Core/Model/Db/Updater.php b/lib/Magento/App/Updater.php
similarity index 59%
rename from app/code/Magento/Core/Model/Db/Updater.php
rename to lib/Magento/App/Updater.php
index 909ae75faea..01fcf8a629e 100644
--- a/app/code/Magento/Core/Model/Db/Updater.php
+++ b/lib/Magento/App/Updater.php
@@ -22,21 +22,14 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model\Db;
+namespace Magento\App;
 
-class Updater implements \Magento\Core\Model\Db\UpdaterInterface
+class Updater implements \Magento\App\UpdaterInterface
 {
-    /**
-     * Default setup class name
-     *
-     * @var string
-     */
-    protected $_defaultClass = 'Magento\Core\Model\Resource\Setup';
-
     /**
      * Setup model factory
      *
-     * @var \Magento\Core\Model\Resource\SetupFactory
+     * @var \Magento\App\Updater\SetupFactory
      */
     protected $_factory;
 
@@ -50,7 +43,7 @@ class Updater implements \Magento\Core\Model\Db\UpdaterInterface
     /**
      * Application state model
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -69,36 +62,38 @@ class Updater implements \Magento\Core\Model\Db\UpdaterInterface
     protected $_resourceList;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleList;
 
     /**
-     * @var \Magento\Core\Model\Module\ResourceResolverInterface
+     * @var \Magento\App\Module\ResourceResolverInterface
      */
     protected $_resourceResolver;
 
     /**
-     * @param \Magento\Core\Model\Resource\SetupFactory $factory
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
-     * @param \Magento\Core\Model\Module\ResourceResolverInterface $resourceResolver
-     * @param array $resourceList
+     * @var Updater\SetupFactory
+     */
+    protected $_setupFactory;
+
+    /**
+     * @param Updater\SetupFactory $setupFactory
+     * @param State $appState
+     * @param ModuleListInterface $moduleList
+     * @param Module\ResourceResolverInterface $resourceResolver
      * @param bool $skipModuleUpdate
      */
     public function __construct(
-        \Magento\Core\Model\Resource\SetupFactory $factory,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
-        \Magento\Core\Model\Module\ResourceResolverInterface $resourceResolver,
-        array $resourceList,
+        \Magento\App\Updater\SetupFactory $setupFactory,
+        \Magento\App\State $appState,
+        \Magento\App\ModuleListInterface $moduleList,
+        \Magento\App\Module\ResourceResolverInterface $resourceResolver,
         $skipModuleUpdate = false
     ) {
-        $this->_factory = $factory;
         $this->_appState = $appState;
         $this->_moduleList = $moduleList;
         $this->_resourceResolver = $resourceResolver;
-        $this->_resourceList = $resourceList;
+        $this->_setupFactory = $setupFactory;
         $this->_skipModuleUpdate = (bool)$skipModuleUpdate;
     }
 
@@ -131,28 +126,18 @@ class Updater implements \Magento\Core\Model\Db\UpdaterInterface
         $afterApplyUpdates = array();
         foreach (array_keys($this->_moduleList->getModules()) as $moduleName) {
             foreach ($this->_resourceResolver->getResourceList($moduleName) as $resourceName) {
-                $className = isset($this->_resourceList[$resourceName])
-                    ? $this->_resourceList[$resourceName]
-                    : $this->_defaultClass;
-
-                $setupClass = $this->_factory->create(
-                    $className,
-                    array(
-                        'resourceName' => $resourceName,
-                        'moduleName' => $moduleName,
-                    )
-                );
-                $setupClass->applyUpdates();
-
-                if ($setupClass->getCallAfterApplyAllUpdates()) {
-                    $afterApplyUpdates[] = $setupClass;
+                $setup = $this->_setupFactory->create($resourceName, $moduleName);
+                $setup->applyUpdates();
+
+                if ($setup->getCallAfterApplyAllUpdates()) {
+                    $afterApplyUpdates[] = $setup;
                 }
             }
         }
 
-        /** @var $setupClass \Magento\Core\Model\Resource\SetupInterface*/
-        foreach ($afterApplyUpdates as $setupClass) {
-            $setupClass->afterApplyAllUpdates();
+        /** @var $setup \Magento\App\Updater\SetupInterface*/
+        foreach ($afterApplyUpdates as $setup) {
+            $setup->afterApplyAllUpdates();
         }
 
         $this->_appState->setUpdateMode(false);
@@ -170,12 +155,7 @@ class Updater implements \Magento\Core\Model\Db\UpdaterInterface
         }
         foreach (array_keys($this->_moduleList->getModules()) as $moduleName) {
             foreach ($this->_resourceResolver->getResourceList($moduleName) as $resourceName) {
-                $className = isset($this->_resourceList[$resourceName])
-                    ? $this->_resourceList[$resourceName]
-                    : $this->_defaultClass;
-                $setupClass = $this->_factory->create($className, array('resourceName' => $resourceName,
-                    'moduleName' => $moduleName,));
-                $setupClass->applyDataUpdates();
+                $this->_setupFactory->create($resourceName, $moduleName)->applyDataUpdates();
             }
         }
     }
diff --git a/lib/Magento/App/Updater/SetupFactory.php b/lib/Magento/App/Updater/SetupFactory.php
new file mode 100644
index 00000000000..3ee75f5409c
--- /dev/null
+++ b/lib/Magento/App/Updater/SetupFactory.php
@@ -0,0 +1,72 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App\Updater;
+use \Magento\ObjectManager;
+
+class SetupFactory
+{
+    const INSTANCE_TYPE = 'Magento\App\Updater\SetupInterface';
+
+    /**
+     * @var ObjectManager
+     */
+    protected $_objectManager;
+
+    /**
+     * @var array
+     */
+    protected $_resourceTypes;
+
+    /**
+     * @param ObjectManager $objectManager
+     * @param array $resourceTypes
+     */
+    public function __construct(ObjectManager $objectManager, array $resourceTypes)
+    {
+        $this->_objectManager = $objectManager;
+        $this->_resourceTypes = $resourceTypes;
+    }
+
+    /**
+     * @param string $resourceName
+     * @param string $moduleName
+     * @return SetupInterface
+     * @throws \LogicException
+     */
+    public function create($resourceName, $moduleName)
+    {
+        $className = isset($this->_resourceTypes[$resourceName])
+            ? $this->_resourceTypes[$resourceName]
+            : 'Magento\App\Updater\SetupInterface';
+
+        if (false == (is_subclass_of($className, self::INSTANCE_TYPE)) && $className !== self::INSTANCE_TYPE) {
+            throw new \LogicException($className . ' is not a \Magento\App\Updater\SetupInterface');
+        }
+
+        return $this->_objectManager->create($className, array(
+            'resourceName' => $resourceName,
+            'moduleName' => $moduleName,
+        ));
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/Model/Resource/SetupInterface.php b/lib/Magento/App/Updater/SetupInterface.php
similarity index 91%
rename from app/code/Magento/Core/Model/Resource/SetupInterface.php
rename to lib/Magento/App/Updater/SetupInterface.php
index 6cfbc210189..cfa2d93739a 100644
--- a/app/code/Magento/Core/Model/Resource/SetupInterface.php
+++ b/lib/Magento/App/Updater/SetupInterface.php
@@ -21,7 +21,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Resource;
+namespace Magento\App\Updater;
 
 interface SetupInterface
 {
@@ -40,7 +40,7 @@ interface SetupInterface
     /**
      * Apply module resource install, upgrade and data scripts
      *
-     * @return \Magento\Core\Model\Resource\SetupInterface
+     * @return \Magento\App\Updater\SetupInterface
      */
     public function applyUpdates();
 
@@ -48,13 +48,14 @@ interface SetupInterface
      * Check call afterApplyAllUpdates method for setup class
      *
      * @return boolean
+     * @SuppressWarnings(PHPMD.BooleanGetMethodName)
      */
     public function getCallAfterApplyAllUpdates();
 
     /**
      * Run each time after applying of all updates,
      *
-     * @return \Magento\Core\Model\Resource\SetupInterface
+     * @return \Magento\App\Updater\SetupInterface
      */
     public function afterApplyAllUpdates();
 
diff --git a/app/code/Magento/Core/Model/Db/UpdaterInterface.php b/lib/Magento/App/UpdaterInterface.php
similarity index 97%
rename from app/code/Magento/Core/Model/Db/UpdaterInterface.php
rename to lib/Magento/App/UpdaterInterface.php
index 645a4b59811..edd9c9441c6 100644
--- a/app/code/Magento/Core/Model/Db/UpdaterInterface.php
+++ b/lib/Magento/App/UpdaterInterface.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Db;
+namespace Magento\App;
 
 interface UpdaterInterface
 {
diff --git a/app/code/Magento/Core/etc/module.xsd b/lib/Magento/App/etc/module.xsd
similarity index 100%
rename from app/code/Magento/Core/etc/module.xsd
rename to lib/Magento/App/etc/module.xsd
diff --git a/app/code/Magento/Core/Model/Router/NoRouteHandlerInterface.php b/lib/Magento/Appl/Router/NoRouteHandlerInterface.php
similarity index 85%
rename from app/code/Magento/Core/Model/Router/NoRouteHandlerInterface.php
rename to lib/Magento/Appl/Router/NoRouteHandlerInterface.php
index 501f3105566..acc2f68b5d7 100644
--- a/app/code/Magento/Core/Model/Router/NoRouteHandlerInterface.php
+++ b/lib/Magento/Appl/Router/NoRouteHandlerInterface.php
@@ -23,15 +23,15 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Router;
+namespace Magento\Appl\Router;
 
 interface NoRouteHandlerInterface
 {
     /**
      * Check and process no route request
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return bool
      */
-    public function process(\Magento\Core\Controller\Request\Http $request);
+    public function process(\Magento\App\RequestInterface $request);
 }
diff --git a/lib/Magento/Backup/Snapshot.php b/lib/Magento/Backup/Snapshot.php
index 33dc089bd3a..eba6efa4907 100644
--- a/lib/Magento/Backup/Snapshot.php
+++ b/lib/Magento/Backup/Snapshot.php
@@ -45,7 +45,7 @@ class Snapshot extends \Magento\Backup\Filesystem
     /**
      * Dirs instance
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -55,11 +55,11 @@ class Snapshot extends \Magento\Backup\Filesystem
     protected $_backupFactory;
 
     /**
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Backup\Factory $backupFactory
      */
     public function __construct(
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Backup\Factory $backupFactory
     ) {
         $this->_dirs = $dirs;
diff --git a/lib/Magento/Code/Generator/Io.php b/lib/Magento/Code/Generator/Io.php
index 1dbc79d508f..b974aabb5fd 100644
--- a/lib/Magento/Code/Generator/Io.php
+++ b/lib/Magento/Code/Generator/Io.php
@@ -30,7 +30,7 @@ class Io
 {
     /**
      * Default code generation directory
-     * Should correspond the value from \Magento\Core\Model\Dir
+     * Should correspond the value from \Magento\App\Dir
      */
     const DEFAULT_DIRECTORY = 'var/generation';
 
diff --git a/app/code/Magento/Core/Model/Config/Scope.php b/lib/Magento/Config/Scope.php
similarity index 73%
rename from app/code/Magento/Core/Model/Config/Scope.php
rename to lib/Magento/Config/Scope.php
index bcdff198e44..7ccff434ce2 100644
--- a/app/code/Magento/Core/Model/Config/Scope.php
+++ b/lib/Magento/Config/Scope.php
@@ -21,10 +21,17 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Config;
+namespace Magento\Config;
 
 class Scope implements \Magento\Config\ScopeInterface
 {
+    /**
+     * Default application scope
+     *
+     * @var string
+     */
+    protected $_defaultScope;
+
     /**
      * Current config scope
      *
@@ -33,18 +40,20 @@ class Scope implements \Magento\Config\ScopeInterface
     protected $_currentScope;
 
     /**
-     * List of all available config scopes
+     * List of all available areas
      *
-     * @var array
+     * @var \Magento\App\AreaList
      */
-    protected $_availableScopes = array('global', 'adminhtml', 'frontend');
+    protected $_areaList;
 
     /**
+     * @param \Magento\App\AreaList $areaList
      * @param string $defaultScope
      */
-    public function __construct($defaultScope = 'global')
+    public function __construct(\Magento\App\AreaList $areaList, $defaultScope = 'global')
     {
-        $this->_currentScope = $defaultScope;
+        $this->_defaultScope = $this->_currentScope = $defaultScope;
+        $this->_areaList = $areaList;
     }
 
     /**
@@ -74,6 +83,8 @@ class Scope implements \Magento\Config\ScopeInterface
      */
     public function getAllScopes()
     {
-        return $this->_availableScopes;
+        $codes = $this->_areaList->getCodes();
+        array_unshift($codes, $this->_defaultScope);
+        return $codes;
     }
 }
diff --git a/lib/Magento/Config/ScopeInterface.php b/lib/Magento/Config/ScopeInterface.php
index 44892a3acd3..327358d0e6d 100644
--- a/lib/Magento/Config/ScopeInterface.php
+++ b/lib/Magento/Config/ScopeInterface.php
@@ -38,4 +38,11 @@ interface ScopeInterface
      * @return array
      */
     public function getAllScopes();
+
+    /**
+     * Set current configuration scope
+     *
+     * @param string $scope
+     */
+    public function setCurrentScope($scope);
 }
diff --git a/lib/Magento/DB/Adapter/Pdo/Mysql.php b/lib/Magento/DB/Adapter/Pdo/Mysql.php
index 71e93675ac4..e37d7b40398 100644
--- a/lib/Magento/DB/Adapter/Pdo/Mysql.php
+++ b/lib/Magento/DB/Adapter/Pdo/Mysql.php
@@ -220,16 +220,16 @@ class Mysql extends \Zend_Db_Adapter_Pdo_Mysql implements \Magento\DB\Adapter\Ad
     /**
      * Dirs instance
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
     /**
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param array $config
      */
     public function __construct(
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         array $config = array()
     ) {
         $this->_dirs = $dirs;
@@ -1411,7 +1411,7 @@ class Mysql extends \Zend_Db_Adapter_Pdo_Mysql implements \Magento\DB\Adapter\Ad
         $str = '## ' . date('Y-m-d H:i:s') . "\r\n" . $str;
         if (!$this->_debugIoAdapter) {
             $this->_debugIoAdapter = new \Magento\Io\File();
-            $dir = $this->_dirs->getDir(\Magento\Core\Model\Dir::ROOT)
+            $dir = $this->_dirs->getDir(\Magento\App\Dir::ROOT)
                 . DS . $this->_debugIoAdapter->dirname($this->_debugFile);
             $this->_debugIoAdapter->checkAndCreateFolder($dir);
             $this->_debugIoAdapter->open(array('path' => $dir));
diff --git a/lib/Magento/Data/Form/Element/AbstractElement.php b/lib/Magento/Data/Form/Element/AbstractElement.php
index 76a692ffdb7..51b4ca27f20 100644
--- a/lib/Magento/Data/Form/Element/AbstractElement.php
+++ b/lib/Magento/Data/Form/Element/AbstractElement.php
@@ -269,7 +269,7 @@ abstract class AbstractElement extends \Magento\Data\Form\AbstractForm
             $html = '<label class="label" for="' . $this->getHtmlId() . $idSuffix . '"' . $this->_getUiId('label')
                 . '><span>'
                 . $this->_escape($this->getLabel())
-                . ($this->getRequired() ? ' <span class="required">*</span>' : '') . '</span></label>' . "\n";
+                . '</span></label>' . "\n";
         } else {
             $html = '';
         }
diff --git a/lib/Magento/Data/Form/Element/Image.php b/lib/Magento/Data/Form/Element/Image.php
index 2a83d18f990..c45dfb96267 100644
--- a/lib/Magento/Data/Form/Element/Image.php
+++ b/lib/Magento/Data/Form/Element/Image.php
@@ -36,21 +36,21 @@ namespace Magento\Data\Form\Element;
 class Image extends \Magento\Data\Form\Element\AbstractElement
 {
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
     /**
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Data\Form\Element\Factory $factoryElement
      * @param \Magento\Data\Form\Element\CollectionFactory $factoryCollection
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param array $attributes
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
         \Magento\Data\Form\Element\Factory $factoryElement,
         \Magento\Data\Form\Element\CollectionFactory $factoryCollection,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         $attributes = array()
     ) {
         $this->_urlBuilder = $urlBuilder;
diff --git a/lib/Magento/Event.php b/lib/Magento/Event.php
index 3fa528fa1a6..f7e2b24abfd 100644
--- a/lib/Magento/Event.php
+++ b/lib/Magento/Event.php
@@ -50,7 +50,7 @@ class Event extends \Magento\Object
      *
      * @param array $data
      */
-    public function __construct(array $data=array())
+    public function __construct(array $data = array())
     {
         $this->_observers = new \Magento\Event\Observer\Collection();
         parent::__construct($data);
diff --git a/app/code/Magento/Core/Model/Event/Config.php b/lib/Magento/Event/Config.php
similarity index 81%
rename from app/code/Magento/Core/Model/Event/Config.php
rename to lib/Magento/Event/Config.php
index 279cceb1804..03f1ef8ff06 100644
--- a/app/code/Magento/Core/Model/Event/Config.php
+++ b/lib/Magento/Event/Config.php
@@ -23,21 +23,21 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event;
+namespace Magento\Event;
 
-class Config implements \Magento\Core\Model\Event\ConfigInterface
+class Config implements \Magento\Event\ConfigInterface
 {
     /**
      * Modules configuration model
      *
-     * @var \Magento\Core\Model\Event\Config\Data
+     * @var \Magento\Event\Config\Data
      */
     protected $_dataContainer;
 
     /**
-     * @param \Magento\Core\Model\Event\Config\Data $dataContainer
+     * @param \Magento\Event\Config\Data $dataContainer
      */
-    public function __construct(\Magento\Core\Model\Event\Config\Data $dataContainer)
+    public function __construct(Config\Data $dataContainer)
     {
         $this->_dataContainer = $dataContainer;
     }
diff --git a/app/code/Magento/Core/Model/Event/Config/Converter.php b/lib/Magento/Event/Config/Converter.php
similarity index 98%
rename from app/code/Magento/Core/Model/Event/Config/Converter.php
rename to lib/Magento/Event/Config/Converter.php
index 20d9fb440b9..96c76113f01 100644
--- a/app/code/Magento/Core/Model/Event/Config/Converter.php
+++ b/lib/Magento/Event/Config/Converter.php
@@ -23,7 +23,7 @@
  * @copyright Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Config;
+namespace Magento\Event\Config;
 
 class Converter implements \Magento\Config\ConverterInterface
 {
diff --git a/app/code/Magento/Core/Model/Event/Config/Data.php b/lib/Magento/Event/Config/Data.php
similarity index 87%
rename from app/code/Magento/Core/Model/Event/Config/Data.php
rename to lib/Magento/Event/Config/Data.php
index 91266ec3923..8a47948f17c 100644
--- a/app/code/Magento/Core/Model/Event/Config/Data.php
+++ b/lib/Magento/Event/Config/Data.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Config;
+namespace Magento\Event\Config;
 
 class Data extends \Magento\Config\Data\Scoped
 {
@@ -35,22 +35,22 @@ class Data extends \Magento\Config\Data\Scoped
     protected $_scopePriorityScheme = array('global');
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
-     * @param \Magento\Core\Model\Event\Config\Reader $reader
+     * @param \Magento\Event\Config\Reader $reader
      * @param \Magento\Config\ScopeInterface $configScope
      * @param \Magento\Config\CacheInterface $cache
      * @param string $cacheId
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      */
     public function __construct(
-        \Magento\Core\Model\Event\Config\Reader $reader,
+        \Magento\Event\Config\Reader $reader,
         \Magento\Config\ScopeInterface $configScope,
         \Magento\Config\CacheInterface $cache,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         $cacheId = 'event_config_cache'
     ) {
         $this->_appState = $appState;
diff --git a/app/code/Magento/Core/Model/Event/Config/Reader.php b/lib/Magento/Event/Config/Reader.php
similarity index 86%
rename from app/code/Magento/Core/Model/Event/Config/Reader.php
rename to lib/Magento/Event/Config/Reader.php
index 8c246608eaf..681ec65a3b3 100644
--- a/app/code/Magento/Core/Model/Event/Config/Reader.php
+++ b/lib/Magento/Event/Config/Reader.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Config;
+namespace Magento\Event\Config;
 
 class Reader extends \Magento\Config\Reader\Filesystem
 {
@@ -39,17 +39,17 @@ class Reader extends \Magento\Config\Reader\Filesystem
 
     /**
      * @param \Magento\Config\FileResolverInterface $fileResolver
-     * @param \Magento\Core\Model\Event\Config\Converter $converter
+     * @param Converter $converter
+     * @param SchemaLocator $schemaLocator
      * @param \Magento\Config\ValidationStateInterface $validationState
-     * @param \Magento\Core\Model\Event\Config\SchemaLocator $schemaLocator
      * @param string $fileName
      * @param array $idAttributes
      * @param string $domDocumentClass
      */
     public function __construct(
         \Magento\Config\FileResolverInterface $fileResolver,
-        \Magento\Core\Model\Event\Config\Converter $converter,
-        \Magento\Core\Model\Event\Config\SchemaLocator $schemaLocator,
+        Converter $converter,
+        SchemaLocator $schemaLocator,
         \Magento\Config\ValidationStateInterface $validationState,
         $fileName = 'events.xml',
         $idAttributes = array(),
diff --git a/lib/Magento/Event/Config/SchemaLocator.php b/lib/Magento/Event/Config/SchemaLocator.php
new file mode 100644
index 00000000000..93c383b59aa
--- /dev/null
+++ b/lib/Magento/Event/Config/SchemaLocator.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Event observers configuration schema locator
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Event\Config;
+
+class SchemaLocator implements \Magento\Config\SchemaLocatorInterface
+{
+    /**
+     * Get path to merged config schema
+     *
+     * @return string
+     */
+    public function getSchema()
+    {
+        return realpath(__DIR__ . '/../etc/events.xsd');
+    }
+
+    /**
+     * Get path to pre file validation schema
+     *
+     * @return string
+     */
+    public function getPerFileSchema()
+    {
+        return $this->getSchema();
+    }
+}
diff --git a/app/code/Magento/Core/Model/Event/ConfigInterface.php b/lib/Magento/Event/ConfigInterface.php
similarity index 96%
rename from app/code/Magento/Core/Model/Event/ConfigInterface.php
rename to lib/Magento/Event/ConfigInterface.php
index aac170632a6..e14dc9dfd1e 100644
--- a/app/code/Magento/Core/Model/Event/ConfigInterface.php
+++ b/lib/Magento/Event/ConfigInterface.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event;
+namespace Magento\Event;
 
 interface ConfigInterface
 {
diff --git a/app/code/Magento/Core/Model/Event/Invoker/InvokerDefault.php b/lib/Magento/Event/Invoker/InvokerDefault.php
similarity index 80%
rename from app/code/Magento/Core/Model/Event/Invoker/InvokerDefault.php
rename to lib/Magento/Event/Invoker/InvokerDefault.php
index 04443104489..a2230ec5cc8 100644
--- a/app/code/Magento/Core/Model/Event/Invoker/InvokerDefault.php
+++ b/lib/Magento/Event/Invoker/InvokerDefault.php
@@ -23,29 +23,29 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Invoker;
+namespace Magento\Event\Invoker;
 
-class InvokerDefault implements \Magento\Core\Model\Event\InvokerInterface
+class InvokerDefault implements \Magento\Event\InvokerInterface
 {
     /**
      * Observer model factory
      *
-     * @var \Magento\Core\Model\ObserverFactory
+     * @var \Magento\Event\ObserverFactory
      */
     protected $_observerFactory;
 
     /**
      * Application state
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
-     * @param \Magento\Core\Model\ObserverFactory $observerFactory
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\Event\ObserverFactory $observerFactory
+     * @param \Magento\App\State $appState
      */
-    public function __construct(\Magento\Core\Model\ObserverFactory $observerFactory, \Magento\Core\Model\App\State $appState)
+    public function __construct(\Magento\Event\ObserverFactory $observerFactory, \Magento\App\State $appState)
     {
         $this->_observerFactory = $observerFactory;
         $this->_appState = $appState;
@@ -78,14 +78,14 @@ class InvokerDefault implements \Magento\Core\Model\Event\InvokerInterface
      * @param object $object
      * @param string $method
      * @param \Magento\Event\Observer $observer
-     * @return \Magento\Core\Model\Event\InvokerInterface
+     * @return \Magento\Event\InvokerInterface
      * @throws \Magento\Core\Exception
      */
     protected function _callObserverMethod($object, $method, $observer)
     {
         if (method_exists($object, $method)) {
             $object->$method($observer);
-        } elseif ($this->_appState->getMode() == \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        } elseif ($this->_appState->getMode() == \Magento\App\State::MODE_DEVELOPER) {
             throw new \Magento\Core\Exception('Method "' . $method . '" is not defined in "' . get_class($object) . '"');
         }
         return $this;
diff --git a/app/code/Magento/Core/Model/Event/InvokerInterface.php b/lib/Magento/Event/InvokerInterface.php
similarity index 97%
rename from app/code/Magento/Core/Model/Event/InvokerInterface.php
rename to lib/Magento/Event/InvokerInterface.php
index aa420f0d040..e5a9545e5a8 100644
--- a/app/code/Magento/Core/Model/Event/InvokerInterface.php
+++ b/lib/Magento/Event/InvokerInterface.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event;
+namespace Magento\Event;
 
 interface InvokerInterface
 {
diff --git a/app/code/Magento/Core/Model/Event/Manager.php b/lib/Magento/Event/Manager.php
similarity index 72%
rename from app/code/Magento/Core/Model/Event/Manager.php
rename to lib/Magento/Event/Manager.php
index 372ab1442b4..019f776dcd9 100644
--- a/app/code/Magento/Core/Model/Event/Manager.php
+++ b/lib/Magento/Event/Manager.php
@@ -24,9 +24,9 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event;
+namespace Magento\Event;
 
-class Manager
+class Manager implements ManagerInterface
 {
     /**
      * Events cache
@@ -38,14 +38,14 @@ class Manager
     /**
      * Event invoker
      *
-     * @var \Magento\Core\Model\Event\InvokerInterface
+     * @var \Magento\Event\InvokerInterface
      */
     protected $_invoker;
 
     /**
      * Event config
      *
-     * @var \Magento\Core\Model\Event\ConfigInterface
+     * @var \Magento\Event\ConfigInterface
      */
     protected $_eventConfig;
 
@@ -59,26 +59,26 @@ class Manager
     /**
      * Magento event observer factory
      *
-     * @var \Magento\Event\ObserverFactory
+     * @var \Magento\Event\WrapperFactory
      */
-    protected $_eventObserverFactory;
+    protected $wrapperFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\InvokerInterface $invoker
-     * @param \Magento\Core\Model\Event\ConfigInterface $eventConfig
+     * @param InvokerInterface $invoker
+     * @param ConfigInterface $eventConfig
      * @param \Magento\EventFactory $eventFactory
-     * @param \Magento\Event\ObserverFactory $eventObserverFactory
+     * @param WrapperFactory $wrapperFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\InvokerInterface $invoker,
-        \Magento\Core\Model\Event\ConfigInterface $eventConfig,
+        \Magento\Event\InvokerInterface $invoker,
+        \Magento\Event\ConfigInterface $eventConfig,
         \Magento\EventFactory $eventFactory,
-        \Magento\Event\ObserverFactory $eventObserverFactory
+        \Magento\Event\WrapperFactory $wrapperFactory
     ) {
         $this->_invoker = $invoker;
         $this->_eventConfig = $eventConfig;
         $this->_eventFactory = $eventFactory;
-        $this->_eventObserverFactory = $eventObserverFactory;
+        $this->wrapperFactory = $wrapperFactory;
     }
 
     /**
@@ -98,12 +98,12 @@ class Manager
             $event = $this->_eventFactory->create(array('data' => $data));
             $event->setName($eventName);
 
-            /** @var $observer \Magento\Event\Observer */
-            $observer = $this->_eventObserverFactory->create();
-            $observer->setData(array_merge(array('event' => $event), $data));
+            /** @var $wrapper \Magento\Event\Observer */
+            $wrapper = $this->wrapperFactory->create();
+            $wrapper->setData(array_merge(array('event' => $event), $data));
 
             \Magento\Profiler::start('OBSERVER:' . $observerConfig['name']);
-            $this->_invoker->dispatch($observerConfig, $observer);
+            $this->_invoker->dispatch($observerConfig, $wrapper);
             \Magento\Profiler::stop('OBSERVER:' .  $observerConfig['name']);
         }
         \Magento\Profiler::stop('EVENT:' . $eventName);
diff --git a/lib/Magento/Event/ManagerInterface.php b/lib/Magento/Event/ManagerInterface.php
new file mode 100644
index 00000000000..df1ffbbd186
--- /dev/null
+++ b/lib/Magento/Event/ManagerInterface.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Event;
+
+interface ManagerInterface
+{
+    /**
+     * Dispatch event
+     *
+     * Calls all observer callbacks registered for this event
+     * and multiple observers matching event name pattern
+     *
+     * @param string $eventName
+     * @param array $data
+     */
+    public function dispatch($eventName, array $data = array());
+}
\ No newline at end of file
diff --git a/lib/Magento/Event/Observer.php b/lib/Magento/Event/Observer.php
index 91773921c4a..2009f2ca3af 100644
--- a/lib/Magento/Event/Observer.php
+++ b/lib/Magento/Event/Observer.php
@@ -24,27 +24,19 @@
  * @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
-/**
- * Event observer object
- *
- * @category   Magento
- * @package    \Magento\Event
- * @author      Magento Core Team <core@magentocommerce.com>
- */
 namespace Magento\Event;
 
 class Observer extends \Magento\Object
 {
     /**
-     * Checkes the observer's event_regex against event's name
+     * Checks the observer's event_regex against event's name
      *
      * @param \Magento\Event $event
      * @return boolean
      */
     public function isValidFor(\Magento\Event $event)
     {
-        return $this->getEventName()===$event->getName();
+        return $this->getEventName() === $event->getName();
     }
 
     /**
diff --git a/app/code/Magento/Core/Model/ObserverFactory.php b/lib/Magento/Event/ObserverFactory.php
similarity index 92%
rename from app/code/Magento/Core/Model/ObserverFactory.php
rename to lib/Magento/Event/ObserverFactory.php
index 88b4a9596fe..337dd0132ae 100644
--- a/app/code/Magento/Core/Model/ObserverFactory.php
+++ b/lib/Magento/Event/ObserverFactory.php
@@ -24,7 +24,7 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model;
+namespace Magento\Event;
 
 class ObserverFactory
 {
@@ -45,7 +45,7 @@ class ObserverFactory
      * Get observer model instance
      *
      * @param string $className
-     * @return \Magento\Core\Model\AbstractModel|bool
+     * @return mixed
      */
     public function get($className)
     {
@@ -57,7 +57,7 @@ class ObserverFactory
      *
      * @param string $className
      * @param array $arguments
-     * @return \Magento\Core\Model\AbstractModel|bool
+     * @return mixed
      */
     public function create($className, array $arguments = array())
     {
diff --git a/lib/Magento/HTTP/HandlerFactory.php b/lib/Magento/Event/WrapperFactory.php
similarity index 79%
rename from lib/Magento/HTTP/HandlerFactory.php
rename to lib/Magento/Event/WrapperFactory.php
index 7f7044d5fd3..fe3b9be61a4 100644
--- a/lib/Magento/HTTP/HandlerFactory.php
+++ b/lib/Magento/Event/WrapperFactory.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Request Handler factory
+ * Observer model factory
  *
  * Magento
  *
@@ -22,15 +22,13 @@
  *
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */ 
-namespace Magento\HTTP;
+ */
 
-class HandlerFactory
-{
+namespace Magento\Event;
 
+class WrapperFactory
+{
     /**
-     * Application object manager
-     *
      * @var \Magento\ObjectManager
      */
     protected $_objectManager;
@@ -44,13 +42,13 @@ class HandlerFactory
     }
 
     /**
-     * Create new http request handler
+     * Create wrapper instance
      *
-     * @param string $name
-     * @return \Magento\HTTP\HandlerInterface
+     * @param array $arguments
+     * @return \Magento\Event\Observer
      */
-    public function create($name)
+    public function create(array $arguments = array())
     {
-        return $this->_objectManager->create($name);
+        return $this->_objectManager->create('Magento\Event\Observer', $arguments);
     }
 }
diff --git a/app/code/Magento/Core/etc/events.xsd b/lib/Magento/Event/etc/events.xsd
similarity index 100%
rename from app/code/Magento/Core/etc/events.xsd
rename to lib/Magento/Event/etc/events.xsd
diff --git a/app/code/Magento/Core/Controller/Varien/DispatchableInterface.php b/lib/Magento/EventFactory.php
similarity index 66%
rename from app/code/Magento/Core/Controller/Varien/DispatchableInterface.php
rename to lib/Magento/EventFactory.php
index 6acab3d8d6f..ea5bf004cd1 100644
--- a/app/code/Magento/Core/Controller/Varien/DispatchableInterface.php
+++ b/lib/Magento/EventFactory.php
@@ -18,30 +18,33 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento;
 
-/**
- * Controller dispatchable interface
- *
- * @category    Magento
- * @package     Magento_Core
- * @author      Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Core\Controller\Varien;
-
-interface DispatchableInterface
+class EventFactory
 {
     /**
-     * Dispatch controller action
-     *
-     * @abstract
-     * @param string $action action name
-     * @return void
+     * @var ObjectManager
+     */
+    protected $_objectManager;
+
+    /**
+     * @param ObjectManager $objectManager
+     */
+    public function __construct(ObjectManager $objectManager)
+    {
+        $this->_objectManager = $objectManager;
+    }
+
+    /**
+     * @param array $arguments
+     * @return Event
      */
-    public function dispatch($action);
-}
+    public function create($arguments = array())
+    {
+        return $this->_objectManager->create('Magento\Event', $arguments);
+    }
+}
\ No newline at end of file
diff --git a/lib/Magento/HTTP/Handler/Composite.php b/lib/Magento/HTTP/Handler/Composite.php
deleted file mode 100644
index 2fc21cb09ce..00000000000
--- a/lib/Magento/HTTP/Handler/Composite.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/**
- * Composite http request handler. Used to apply multiple request handlers
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\HTTP\Handler;
-
-class Composite implements \Magento\HTTP\HandlerInterface
-{
-    /**
-     * Leaf request handlers
-     *
-     * @var \Magento\HTTP\HandlerInterface[]
-     */
-    protected $_children;
-
-    /**
-     * Handler factory
-     *
-     * @var \Magento\HTTP\HandlerFactory
-     */
-    protected $_handlerFactory;
-
-    /**
-     * @param \Magento\HTTP\HandlerFactory $factory
-     * @param array $handlers
-     */
-    public function __construct(\Magento\HTTP\HandlerFactory $factory, array $handlers)
-    {
-        usort($handlers, array($this, '_cmp'));
-        $this->_children = $handlers;
-        $this->_handlerFactory = $factory;
-    }
-
-    /**
-     * Sort handlers
-     *
-     * @param array $handlerA
-     * @param array $handlerB
-     * @return int
-     */
-    protected function _cmp($handlerA, $handlerB)
-    {
-        $sortOrderA = intval($handlerA['sortOrder']);
-        $sortOrderB = intval($handlerB['sortOrder']);
-        if ($sortOrderA == $sortOrderB) {
-            return 0;
-        }
-        return ($sortOrderA < $sortOrderB) ? -1 : 1;
-    }
-
-    /**
-     * Handle http request
-     *
-     * @param \Zend_Controller_Request_Http $request
-     * @param \Zend_Controller_Response_Http $response
-     */
-    public function handle(\Zend_Controller_Request_Http $request, \Zend_Controller_Response_Http $response)
-    {
-        foreach ($this->_children as $handlerConfig) {
-            $this->_handlerFactory->create($handlerConfig['class'])->handle($request, $response);
-            if ($request->isDispatched()) {
-                break;
-            }
-        }
-    }
-}
-
diff --git a/lib/Magento/HTTP/HandlerInterface.php b/lib/Magento/HTTP/HandlerInterface.php
deleted file mode 100644
index 346c29f4471..00000000000
--- a/lib/Magento/HTTP/HandlerInterface.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-/**
- * Http request handler interface
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\HTTP;
-
-interface HandlerInterface
-{
-    /**
-     * Handle http request
-     *
-     * @param \Zend_Controller_Request_Http $request
-     * @param \Zend_Controller_Response_Http $response
-     */
-    public function handle(\Zend_Controller_Request_Http $request, \Zend_Controller_Response_Http $response);
-}
diff --git a/lib/Magento/Interception/PluginList/PluginList.php b/lib/Magento/Interception/PluginList/PluginList.php
index 1213838b55c..bf9037d4e36 100644
--- a/lib/Magento/Interception/PluginList/PluginList.php
+++ b/lib/Magento/Interception/PluginList/PluginList.php
@@ -25,6 +25,8 @@
  */
 namespace Magento\Interception\PluginList;
 
+use Zend\Soap\Exception\InvalidArgumentException;
+
 class PluginList
     extends \Magento\Config\Data\Scoped
     implements \Magento\Interception\PluginList
@@ -139,6 +141,9 @@ class PluginList
                         continue;
                     }
                     $pluginType = $this->_omConfig->getInstanceType($plugin['instance']);
+                    if (!class_exists($pluginType)) {
+                        throw new InvalidArgumentException('Plugin class ' . $pluginType . ' doesn\'t exist');
+                    }
                     foreach ($this->_definitions->getMethodList($pluginType) as $pluginMethod) {
                         $this->_data['processed'][$type][$pluginMethod][] = $plugin['instance'];
                     }
diff --git a/app/code/Magento/Core/Model/UrlInterface.php b/lib/Magento/UrlInterface.php
similarity index 88%
rename from app/code/Magento/Core/Model/UrlInterface.php
rename to lib/Magento/UrlInterface.php
index d46aa032b13..6110c104388 100644
--- a/app/code/Magento/Core/Model/UrlInterface.php
+++ b/lib/Magento/UrlInterface.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model;
+namespace Magento;
 
 interface UrlInterface
 {
@@ -49,7 +49,7 @@ interface UrlInterface
      * Initialize object data from retrieved url
      *
      * @param   string $url
-     * @return  \Magento\Core\Model\UrlInterface
+     * @return  \Magento\UrlInterface
      */
     public function parseUrl($url);
 
@@ -64,7 +64,7 @@ interface UrlInterface
      * Set use_url_cache flag
      *
      * @param boolean $flag
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setUseUrlCache($flag);
 
@@ -72,7 +72,7 @@ interface UrlInterface
      * Set use session rule
      *
      * @param bool $useSession
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setUseSession($useSession);
 
@@ -80,7 +80,7 @@ interface UrlInterface
      * Set route front name
      *
      * @param string $name
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setRouteFrontName($name);
 
@@ -110,15 +110,15 @@ interface UrlInterface
     /**
      * Set request
      *
-     * @param \Zend_Controller_Request_Http $request
-     * @return \Magento\Core\Model\UrlInterface
+     * @param \Magento\App\RequestInterface $request
+     * @return \Magento\UrlInterface
      */
-    public function setRequest(\Zend_Controller_Request_Http $request);
+    public function setRequest(\Magento\App\RequestInterface $request);
 
     /**
      * Zend request object
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest();
 
@@ -140,7 +140,7 @@ interface UrlInterface
      * Set store entity
      *
      * @param mixed $params
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setStore($params);
 
@@ -163,7 +163,7 @@ interface UrlInterface
      * Set Route Parameters
      *
      * @param array $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setRoutePath($data);
 
@@ -186,7 +186,7 @@ interface UrlInterface
      * Set route name
      *
      * @param string $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setRouteName($data);
 
@@ -211,7 +211,7 @@ interface UrlInterface
      * Reset action name and route path if has change
      *
      * @param string $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setControllerName($data);
 
@@ -228,7 +228,7 @@ interface UrlInterface
      * Reseted route path if action name has change
      *
      * @param string $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setActionName($data);
 
@@ -245,7 +245,7 @@ interface UrlInterface
      *
      * @param array $data
      * @param boolean $unsetOldParams
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setRouteParams(array $data, $unsetOldParams = true);
 
@@ -261,7 +261,7 @@ interface UrlInterface
      *
      * @param string $key
      * @param mixed $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setRouteParam($key, $data);
 
@@ -285,14 +285,14 @@ interface UrlInterface
     /**
      * If the host was switched but session cookie won't recognize it - add session id to query
      *
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function checkCookieDomains();
 
     /**
      * Add session param
      *
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function addSessionParam();
 
@@ -300,7 +300,7 @@ interface UrlInterface
      * Set URL query param(s)
      *
      * @param mixed $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setQuery($data);
 
@@ -316,14 +316,14 @@ interface UrlInterface
      * Set query Params as array
      *
      * @param array $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setQueryParams(array $data);
 
     /**
      * Purge Query params array
      *
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function purgeQueryParams();
 
@@ -339,7 +339,7 @@ interface UrlInterface
      *
      * @param string $key
      * @param mixed $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setQueryParam($key, $data);
 
@@ -355,7 +355,7 @@ interface UrlInterface
      * Set fragment to URL
      *
      * @param string $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setFragment($data);
 
diff --git a/lib/Magento/View/ConfigInterface.php b/lib/Magento/View/ConfigInterface.php
new file mode 100644
index 00000000000..59ffb9b33fd
--- /dev/null
+++ b/lib/Magento/View/ConfigInterface.php
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\View;
+
+/**
+ * Config Interface
+ *
+ * @package Magento\View
+ */
+interface ConfigInterface
+{
+    /**
+     * Render view config object for current package and theme
+     *
+     * @param array $params
+     * @return \Magento\Config\View
+     */
+    public function getViewConfig(array $params = array());
+}
diff --git a/app/code/Magento/Core/Model/ThemeInterface.php b/lib/Magento/View/Design/ThemeInterface.php
similarity index 88%
rename from app/code/Magento/Core/Model/ThemeInterface.php
rename to lib/Magento/View/Design/ThemeInterface.php
index dfb9d2ab861..5097da60462 100644
--- a/app/code/Magento/Core/Model/ThemeInterface.php
+++ b/lib/Magento/View/Design/ThemeInterface.php
@@ -18,17 +18,17 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento\View\Design;
+
 /**
- * Minimal required interface a theme has to implement
+ * Theme Interface
+ *
+ * @package Magento\View\Design
  */
-namespace Magento\Core\Model;
-
 interface ThemeInterface
 {
     /**
@@ -65,7 +65,7 @@ interface ThemeInterface
     /**
      * Retrieve parent theme instance
      *
-     * @return \Magento\Core\Model\ThemeInterface|null
+     * @return ThemeInterface|null
      */
     public function getParentTheme();
 
@@ -75,4 +75,11 @@ interface ThemeInterface
      * @return string
      */
     public function getCode();
+
+    /**
+     * Check if theme is physical
+     *
+     * @return bool
+     */
+    public function isPhysical();
 }
diff --git a/app/code/Magento/Core/Model/View/DesignInterface.php b/lib/Magento/View/DesignInterface.php
similarity index 84%
rename from app/code/Magento/Core/Model/View/DesignInterface.php
rename to lib/Magento/View/DesignInterface.php
index 438fdb47c9a..b5be26f55ff 100644
--- a/app/code/Magento/Core/Model/View/DesignInterface.php
+++ b/lib/Magento/View/DesignInterface.php
@@ -18,14 +18,17 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model\View;
+namespace Magento\View;
 
+/**
+ * Design Interface
+ *
+ * @package Magento\View
+ */
 interface DesignInterface
 {
     /**
@@ -37,7 +40,7 @@ interface DesignInterface
      * Set package area
      *
      * @param string $area
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return DesignInterface
      */
     public function setArea($area);
 
@@ -51,9 +54,9 @@ interface DesignInterface
     /**
      * Set theme path
      *
-     * @param \Magento\Core\Model\Theme|int|string $theme
+     * @param Design\ThemeInterface|int|string $theme
      * @param string $area
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return DesignInterface
      */
     public function setDesignTheme($theme, $area = null);
 
@@ -69,14 +72,14 @@ interface DesignInterface
     /**
      * Set default design theme
      *
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return DesignInterface
      */
     public function setDefaultDesignTheme();
 
     /**
      * Design theme model getter
      *
-     * @return \Magento\Core\Model\Theme
+     * @return Design\ThemeInterface
      */
     public function getDesignTheme();
 
diff --git a/app/code/Magento/Core/Block.php b/lib/Magento/View/Element/BlockInterface.php
similarity index 88%
rename from app/code/Magento/Core/Block.php
rename to lib/Magento/View/Element/BlockInterface.php
index 795cbacacd5..94de53510da 100644
--- a/app/code/Magento/Core/Block.php
+++ b/lib/Magento/View/Element/BlockInterface.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Magento Block. Used to present information to user
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,18 +20,15 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\View\Element;
 
 /**
- * Magento Block interface
+ * @package Magento\View
  */
-namespace Magento\Core;
-
-interface Block
+interface BlockInterface
 {
     /**
      * Produce and return block's html output
diff --git a/app/code/Magento/Core/Model/Layout/Element.php b/lib/Magento/View/Layout/Element.php
similarity index 63%
rename from app/code/Magento/Core/Model/Layout/Element.php
rename to lib/Magento/View/Layout/Element.php
index c3b2d5c2b1f..92245142838 100644
--- a/app/code/Magento/Core/Model/Layout/Element.php
+++ b/lib/Magento/View/Layout/Element.php
@@ -18,42 +18,53 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
-namespace Magento\Core\Model\Layout;
+namespace Magento\View\Layout;
 
 class Element extends \Magento\Simplexml\Element
 {
-    public function prepare($args)
+    /**#@+
+     * Supported layout directives
+     */
+    const TYPE_BLOCK = 'block';
+    const TYPE_CONTAINER = 'container';
+    const TYPE_ACTION = 'action';
+    const TYPE_ARGUMENTS = 'arguments';
+    const TYPE_ARGUMENT = 'argument';
+    const TYPE_REFERENCE_BLOCK = 'referenceBlock';
+    const TYPE_REFERENCE_CONTAINER = 'referenceContainer';
+    const TYPE_REMOVE = 'remove';
+    const TYPE_MOVE = 'move';
+    /**#@-*/
+
+    public function prepare()
     {
         switch ($this->getName()) {
-            case \Magento\Core\Model\Layout::TYPE_BLOCK:
-                $this->prepareBlock($args);
+            case self::TYPE_BLOCK:
+                $this->prepareBlock();
                 break;
 
-            case \Magento\Core\Model\Layout::TYPE_REFERENCE_BLOCK:
-            case \Magento\Core\Model\Layout::TYPE_REFERENCE_CONTAINER:
-                $this->prepareReference($args);
+            case self::TYPE_REFERENCE_BLOCK:
+            case self::TYPE_REFERENCE_CONTAINER:
+                $this->prepareReference();
                 break;
 
-            case \Magento\Core\Model\Layout::TYPE_ACTION:
-                $this->prepareAction($args);
+            case self::TYPE_ACTION:
+                $this->prepareAction();
                 break;
 
-            case \Magento\Core\Model\Layout::TYPE_ARGUMENT:
-                $this->prepareActionArgument($args);
+            case self::TYPE_ARGUMENT:
+                $this->prepareActionArgument();
                 break;
 
             default:
                 break;
         }
         foreach ($this as $child) {
-            $child->prepare($args);
+            $child->prepare();
         }
         return $this;
     }
@@ -62,8 +73,8 @@ class Element extends \Magento\Simplexml\Element
     {
         $tagName = (string)$this->getName();
         if (empty($this['name']) || !in_array($tagName, array(
-                \Magento\Core\Model\Layout::TYPE_BLOCK,
-                \Magento\Core\Model\Layout::TYPE_REFERENCE_BLOCK,
+                self::TYPE_BLOCK,
+                self::TYPE_REFERENCE_BLOCK,
         ))) {
             return false;
         }
@@ -81,10 +92,10 @@ class Element extends \Magento\Simplexml\Element
     {
         $tagName = $this->getName();
         if (!in_array($tagName, array(
-            \Magento\Core\Model\Layout::TYPE_BLOCK,
-            \Magento\Core\Model\Layout::TYPE_REFERENCE_BLOCK,
-            \Magento\Core\Model\Layout::TYPE_CONTAINER,
-            \Magento\Core\Model\Layout::TYPE_REFERENCE_CONTAINER
+            self::TYPE_BLOCK,
+            self::TYPE_REFERENCE_BLOCK,
+            self::TYPE_CONTAINER,
+            self::TYPE_REFERENCE_CONTAINER
         ))) {
             return false;
         }
@@ -108,7 +119,12 @@ class Element extends \Magento\Simplexml\Element
         return $sibling;
     }
 
-    public function prepareBlock($args)
+    /**
+     * Add parent element name to parent attribute
+     *
+     * @return Element
+     */
+    public function prepareBlock()
     {
         $parent = $this->getParent();
         if (isset($parent['name']) && !isset($this['parent'])) {
@@ -118,12 +134,20 @@ class Element extends \Magento\Simplexml\Element
         return $this;
     }
 
-    public function prepareReference($args)
+    /**
+     * @return Element
+     */
+    public function prepareReference()
     {
         return $this;
     }
 
-    public function prepareAction($args)
+    /**
+     * Add parent element name to block attribute
+     *
+     * @return Element
+     */
+    public function prepareAction()
     {
         $parent = $this->getParent();
         $this->addAttribute('block', (string)$parent['name']);
@@ -131,7 +155,10 @@ class Element extends \Magento\Simplexml\Element
         return $this;
     }
 
-    public function prepareActionArgument($args)
+    /**
+     * @return Element
+     */
+    public function prepareActionArgument()
     {
         return $this;
     }
diff --git a/lib/Magento/View/Layout/ProcessorFactory.php b/lib/Magento/View/Layout/ProcessorFactory.php
new file mode 100644
index 00000000000..5aa72ffe51b
--- /dev/null
+++ b/lib/Magento/View/Layout/ProcessorFactory.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\View\Layout;
+
+/**
+ * Factory class for Processor
+ */
+class ProcessorFactory
+{
+    /**
+     * Object Manager instance
+     *
+     * @var \Magento\ObjectManager
+     */
+    protected $_objectManager = null;
+
+    /**
+     * Instance name to create
+     *
+     * @var string
+     */
+    protected $_instanceName = null;
+
+    /**
+     * Factory constructor
+     *
+     * @param \Magento\ObjectManager $objectManager
+     * @param string $instanceName
+     */
+    public function __construct(
+        \Magento\ObjectManager $objectManager,
+        $instanceName = 'Magento\View\Layout\ProcessorInterface'
+    ) {
+        $this->_objectManager = $objectManager;
+        $this->_instanceName = $instanceName;
+    }
+
+    /**
+     * Create class instance with specified parameters
+     *
+     * @param array $data
+     * @return ProcessorInterface
+     */
+    public function create(array $data = array())
+    {
+        return $this->_objectManager->create($this->_instanceName, $data);
+    }
+}
\ No newline at end of file
diff --git a/lib/Magento/View/Layout/ProcessorInterface.php b/lib/Magento/View/Layout/ProcessorInterface.php
new file mode 100644
index 00000000000..b6fc393a04c
--- /dev/null
+++ b/lib/Magento/View/Layout/ProcessorInterface.php
@@ -0,0 +1,145 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\View\Layout;
+
+interface ProcessorInterface
+{
+    /**
+     * Add XML update instruction
+     *
+     * @param string $update
+     * @return ProcessorInterface
+     */
+    public function addUpdate($update);
+
+    /**
+     * Get all registered updates as array
+     *
+     * @return array
+     */
+    public function asArray();
+
+    /**
+     * Get all registered updates as string
+     *
+     * @return string
+     */
+    public function asString();
+
+    /**
+     * Add handle(s) to update
+     *
+     * @param array|string $handleName
+     * @return ProcessorInterface
+     */
+    public function addHandle($handleName);
+
+    /**
+     * Remove handle from update
+     *
+     * @param string $handleName
+     * @return ProcessorInterface
+     */
+    public function removeHandle($handleName);
+
+    /**
+     * Get handle names array
+     *
+     * @return array
+     */
+    public function getHandles();
+
+    /**
+     * Add the first existing (declared in layout updates) page handle along with all parents to the update.
+     * Return whether any page handles have been added or not.
+     *
+     * @param array $handlesToTry
+     * @return ProcessorInterface
+     */
+    public function addPageHandles(array $handlesToTry);
+
+    /**
+     * Retrieve full hierarchy of types and fragment types in the system
+     *
+     * Result format:
+     * array(
+     *     'handle_name_1' => array(
+     *         'name'     => 'handle_name_1',
+     *         'label'    => 'Handle Name 1',
+     *         'children' => array(
+     *             'handle_name_2' => array(
+     *                 'name'     => 'handle_name_2',
+     *                 'label'    => 'Handle Name 2',
+     *                 'type'     => self::TYPE_PAGE or self::TYPE_FRAGMENT,
+     *                 'children' => array(
+     *                     // ...
+     *                 )
+     *             ),
+     *             // ...
+     *         )
+     *     ),
+     *     // ...
+     * )
+     *
+     * @return array
+     */
+    public function getPageHandlesHierarchy();
+
+    /**
+     * Load layout updates by handles
+     *
+     * @param array|string $handles
+     * @throws \Magento\Exception
+     * @return ProcessorInterface
+     */
+    public function load($handles = array());
+
+    /**
+     * Get layout updates as \Magento\View\Layout\Element object
+     *
+     * @return \SimpleXMLElement
+     */
+    public function asSimplexml();
+
+    /**
+     * Retrieve already merged layout updates from files for specified area/theme/package/store
+     *
+     * @return \Magento\View\Layout\Element
+     */
+    public function getFileLayoutUpdatesXml();
+
+    /**
+     * Retrieve containers from the update handles that have been already loaded
+     *
+     * Result format:
+     * array(
+     *     'container_name' => 'Container Label',
+     *     // ...
+     * )
+     *
+     * @return array
+     */
+    public function getContainers();
+}
diff --git a/lib/Magento/View/LayoutFactory.php b/lib/Magento/View/LayoutFactory.php
new file mode 100644
index 00000000000..f1484630742
--- /dev/null
+++ b/lib/Magento/View/LayoutFactory.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\View;
+
+/**
+ * Factory class for Layout
+ */
+class LayoutFactory
+{
+    /**
+     * Object Manager instance
+     *
+     * @var \Magento\ObjectManager
+     */
+    protected $_objectManager = null;
+
+    /**
+     * Instance name to create
+     *
+     * @var string
+     */
+    protected $_instanceName = null;
+
+    /**
+     * Factory constructor
+     *
+     * @param \Magento\ObjectManager $objectManager
+     * @param string $instanceName
+     */
+    public function __construct(
+        \Magento\ObjectManager $objectManager,
+        $instanceName = 'Magento\View\LayoutInterface'
+    ) {
+        $this->_objectManager = $objectManager;
+        $this->_instanceName = $instanceName;
+    }
+
+    /**
+     * Create class instance with specified parameters
+     *
+     * @param array $data
+     * @return LayoutInterface
+     */
+    public function create(array $data = array())
+    {
+        return $this->_objectManager->create($this->_instanceName, $data);
+    }
+}
\ No newline at end of file
diff --git a/lib/Magento/View/LayoutInterface.php b/lib/Magento/View/LayoutInterface.php
new file mode 100644
index 00000000000..db3dfbacbec
--- /dev/null
+++ b/lib/Magento/View/LayoutInterface.php
@@ -0,0 +1,333 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\View;
+
+interface LayoutInterface
+{
+    /**
+     * Retrieve the layout processor
+     *
+     * @return Layout\ProcessorInterface
+     */
+    public function getUpdate();
+
+    /**
+     * Layout xml generation
+     *
+     * @return LayoutInterface
+     */
+    public function generateXml();
+
+    /**
+     * Create structure of elements from the loaded XML configuration
+     */
+    public function generateElements();
+
+    /**
+     * Find an element in layout, render it and return string with its output
+     *
+     * @param string $name
+     * @param bool $useCache
+     * @return string
+     */
+    public function renderElement($name, $useCache = true);
+
+    /**
+     * Add an element to output
+     *
+     * @param string $name
+     * @return LayoutInterface
+     */
+    public function addOutputElement($name);
+
+    /**
+     * Get all blocks marked for output
+     *
+     * @return string
+     */
+    public function getOutput();
+
+    /**
+     * Check if element exists in layout structure
+     *
+     * @param string $name
+     * @return bool
+     */
+    public function hasElement($name);
+
+    /**
+     * Remove block from registry
+     *
+     * @param string $name
+     * @return LayoutInterface
+     */
+    public function unsetElement($name);
+
+    /**
+     * Retrieve all blocks from registry as array
+     *
+     * @return array
+     */
+    public function getAllBlocks();
+
+    /**
+     * Get block object by name
+     *
+     * @param string $name
+     * @return Element\BlockInterface|bool
+     */
+    public function getBlock($name);
+
+    /**
+     * Get child block if exists
+     *
+     * @param string $parentName
+     * @param string $alias
+     * @return null
+     */
+    public function getChildBlock($parentName, $alias);
+
+    /**
+     * Set child element into layout structure
+     *
+     * @param string $parentName
+     * @param string $elementName
+     * @param string $alias
+     * @return LayoutInterface
+     */
+    public function setChild($parentName, $elementName, $alias);
+
+    /**
+     * Reorder a child of a specified element
+     *
+     * If $offsetOrSibling is null, it will put the element to the end
+     * If $offsetOrSibling is numeric (integer) value, it will put the element after/before specified position
+     * Otherwise -- after/before specified sibling
+     *
+     * @param string $parentName
+     * @param string $childName
+     * @param string|int|null $offsetOrSibling
+     * @param bool $after
+     */
+    public function reorderChild($parentName, $childName, $offsetOrSibling, $after = true);
+
+    /**
+     * Remove child element from parent
+     *
+     * @param string $parentName
+     * @param string $alias
+     * @return LayoutInterface
+     */
+    public function unsetChild($parentName, $alias);
+
+    /**
+     * Get list of child names
+     *
+     * @param string $parentName
+     * @return array
+     */
+    public function getChildNames($parentName);
+
+    /**
+     * Get list of child blocks
+     *
+     * Returns associative array of <alias> => <block instance>
+     *
+     * @param string $parentName
+     * @return array
+     */
+    public function getChildBlocks($parentName);
+
+    /**
+     * Get child name by alias
+     *
+     * @param string $parentName
+     * @param string $alias
+     * @return bool|string
+     */
+    public function getChildName($parentName, $alias);
+
+    /**
+     * Add element to parent group
+     *
+     * @param string $blockName
+     * @param string $parentGroupName
+     * @return bool
+     */
+    public function addToParentGroup($blockName, $parentGroupName);
+
+    /**
+     * Get element names for specified group
+     *
+     * @param string $blockName
+     * @param string $groupName
+     * @return array
+     */
+    public function getGroupChildNames($blockName, $groupName);
+
+    /**
+     * Gets parent name of an element with specified name
+     *
+     * @param string $childName
+     * @return bool|string
+     */
+    public function getParentName($childName);
+
+    /**
+     * Block Factory
+     *
+     * @param  string $type
+     * @param  string $name
+     * @param  array $attributes
+     * @return Element\BlockInterface
+     */
+    public function createBlock($type, $name = '', array $attributes = array());
+
+    /**
+     * Add a block to registry, create new object if needed
+     *
+     * @param string|Element\BlockInterface $block
+     * @param string $name
+     * @param string $parent
+     * @param string $alias
+     * @return Element\BlockInterface
+     */
+    public function addBlock($block, $name = '', $parent = '', $alias = '');
+
+    /**
+     * Insert container into layout structure
+     *
+     * @param string $name
+     * @param string $label
+     * @param array $options
+     * @param string $parent
+     * @param string $alias
+     */
+    public function addContainer($name, $label, array $options = array(), $parent = '', $alias = '');
+
+    /**
+     * Rename element in layout and layout structure
+     *
+     * @param string $oldName
+     * @param string $newName
+     * @return bool
+     */
+    public function renameElement($oldName, $newName);
+
+    /**
+     * Get element alias by name
+     *
+     * @param string $name
+     * @return bool|string
+     */
+    public function getElementAlias($name);
+
+    /**
+     * Remove an element from output
+     *
+     * @param string $name
+     * @return LayoutInterface
+     */
+    public function removeOutputElement($name);
+
+    /**
+     * Retrieve messages block
+     *
+     * @return \Magento\Core\Block\Messages
+     */
+    public function getMessagesBlock();
+
+    /**
+     * Get block singleton
+     *
+     * @param string $type
+     * @return Element\BlockInterface
+     */
+    public function getBlockSingleton($type);
+
+    /**
+     * Retrieve block factory
+     *
+     * @return \Magento\Core\Model\BlockFactory
+     */
+    public function getBlockFactory();
+
+    /**
+     * Retrieve layout area
+     *
+     * @return string
+     */
+    public function getArea();
+
+    /**
+     * Set layout area
+     *
+     * @param $area
+     * @return LayoutInterface
+     */
+    public function setArea($area);
+
+    /**
+     * Get property value of an element
+     *
+     * @param string $name
+     * @param string $attribute
+     * @return mixed
+     */
+    public function getElementProperty($name, $attribute);
+
+    /**
+     * Whether specified element is a block
+     *
+     * @param string $name
+     * @return bool
+     */
+    public function isBlock($name);
+
+    /**
+     * Checks if element with specified name is container
+     *
+     * @param string $name
+     * @return bool
+     */
+    public function isContainer($name);
+
+    /**
+     * Whether the specified element may be manipulated externally
+     *
+     * @param string $name
+     * @return bool
+     */
+    public function isManipulationAllowed($name);
+
+    /**
+     * Save block in blocks registry
+     *
+     * @param string $name
+     * @param  Element\BlockInterface $block
+     * @return LayoutInterface
+     */
+    public function setBlock($name, $block);
+}
diff --git a/lib/Twig/AUTHORS b/lib/Twig/AUTHORS
deleted file mode 100644
index eb5db0516b3..00000000000
--- a/lib/Twig/AUTHORS
+++ /dev/null
@@ -1,9 +0,0 @@
-Twig is written and maintained by the Twig Team:
-
-Lead Developer:
-
-- Fabien Potencier <fabien.potencier@symfony-project.org>
-
-Project Founder:
-
-- Armin Ronacher <armin.ronacher@active-4.com>
diff --git a/lib/Twig/Autoloader.php b/lib/Twig/Autoloader.php
deleted file mode 100644
index 7007d3157c5..00000000000
--- a/lib/Twig/Autoloader.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Autoloads Twig classes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Autoloader
-{
-    /**
-     * Registers Twig_Autoloader as an SPL autoloader.
-     *
-     * @param Boolean $prepend Whether to prepend the autoloader or not.
-     */
-    public static function register($prepend = false)
-    {
-        if (version_compare(phpversion(), '5.3.0', '>=')) {
-            spl_autoload_register(array(new self, 'autoload'), true, $prepend);
-        } else {
-            spl_autoload_register(array(new self, 'autoload'));
-        }
-    }
-
-    /**
-     * Handles autoloading of classes.
-     *
-     * @param string $class A class name.
-     */
-    public static function autoload($class)
-    {
-        if (0 !== strpos($class, 'Twig')) {
-            return;
-        }
-
-        if (is_file($file = dirname(__FILE__).'/../'.str_replace(array('_', "\0"), array('/', ''), $class).'.php')) {
-            require $file;
-        }
-    }
-}
diff --git a/lib/Twig/Compiler.php b/lib/Twig/Compiler.php
deleted file mode 100644
index 99aecbcca57..00000000000
--- a/lib/Twig/Compiler.php
+++ /dev/null
@@ -1,267 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Compiles a node to PHP code.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Compiler implements Twig_CompilerInterface
-{
-    protected $lastLine;
-    protected $source;
-    protected $indentation;
-    protected $env;
-    protected $debugInfo;
-    protected $sourceOffset;
-    protected $sourceLine;
-    protected $filename;
-
-    /**
-     * Constructor.
-     *
-     * @param Twig_Environment $env The twig environment instance
-     */
-    public function __construct(Twig_Environment $env)
-    {
-        $this->env = $env;
-        $this->debugInfo = array();
-    }
-
-    public function getFilename()
-    {
-        return $this->filename;
-    }
-
-    /**
-     * Returns the environment instance related to this compiler.
-     *
-     * @return Twig_Environment The environment instance
-     */
-    public function getEnvironment()
-    {
-        return $this->env;
-    }
-
-    /**
-     * Gets the current PHP code after compilation.
-     *
-     * @return string The PHP code
-     */
-    public function getSource()
-    {
-        return $this->source;
-    }
-
-    /**
-     * Compiles a node.
-     *
-     * @param Twig_NodeInterface $node        The node to compile
-     * @param integer            $indentation The current indentation
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function compile(Twig_NodeInterface $node, $indentation = 0)
-    {
-        $this->lastLine = null;
-        $this->source = '';
-        $this->sourceOffset = 0;
-        // source code starts at 1 (as we then increment it when we encounter new lines)
-        $this->sourceLine = 1;
-        $this->indentation = $indentation;
-
-        if ($node instanceof Twig_Node_Module) {
-            $this->filename = $node->getAttribute('filename');
-        }
-
-        $node->compile($this);
-
-        return $this;
-    }
-
-    public function subcompile(Twig_NodeInterface $node, $raw = true)
-    {
-        if (false === $raw) {
-            $this->addIndentation();
-        }
-
-        $node->compile($this);
-
-        return $this;
-    }
-
-    /**
-     * Adds a raw string to the compiled code.
-     *
-     * @param string $string The string
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function raw($string)
-    {
-        $this->source .= $string;
-
-        return $this;
-    }
-
-    /**
-     * Writes a string to the compiled code by adding indentation.
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function write()
-    {
-        $strings = func_get_args();
-        foreach ($strings as $string) {
-            $this->addIndentation();
-            $this->source .= $string;
-        }
-
-        return $this;
-    }
-
-    /**
-     * Appends an indentation to the current PHP code after compilation.
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function addIndentation()
-    {
-        $this->source .= str_repeat(' ', $this->indentation * 4);
-
-        return $this;
-    }
-
-    /**
-     * Adds a quoted string to the compiled code.
-     *
-     * @param string $value The string
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function string($value)
-    {
-        $this->source .= sprintf('"%s"', addcslashes($value, "\0\t\"\$\\"));
-
-        return $this;
-    }
-
-    /**
-     * Returns a PHP representation of a given value.
-     *
-     * @param mixed $value The value to convert
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function repr($value)
-    {
-        if (is_int($value) || is_float($value)) {
-            if (false !== $locale = setlocale(LC_NUMERIC, 0)) {
-                setlocale(LC_NUMERIC, 'C');
-            }
-
-            $this->raw($value);
-
-            if (false !== $locale) {
-                setlocale(LC_NUMERIC, $locale);
-            }
-        } elseif (null === $value) {
-            $this->raw('null');
-        } elseif (is_bool($value)) {
-            $this->raw($value ? 'true' : 'false');
-        } elseif (is_array($value)) {
-            $this->raw('array(');
-            $i = 0;
-            foreach ($value as $key => $value) {
-                if ($i++) {
-                    $this->raw(', ');
-                }
-                $this->repr($key);
-                $this->raw(' => ');
-                $this->repr($value);
-            }
-            $this->raw(')');
-        } else {
-            $this->string($value);
-        }
-
-        return $this;
-    }
-
-    /**
-     * Adds debugging information.
-     *
-     * @param Twig_NodeInterface $node The related twig node
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function addDebugInfo(Twig_NodeInterface $node)
-    {
-        if ($node->getLine() != $this->lastLine) {
-            $this->write("// line {$node->getLine()}\n");
-
-            // when mbstring.func_overload is set to 2
-            // mb_substr_count() replaces substr_count()
-            // but they have different signatures!
-            if (((int) ini_get('mbstring.func_overload')) & 2) {
-                // this is much slower than the "right" version
-                $this->sourceLine += mb_substr_count(mb_substr($this->source, $this->sourceOffset), "\n");
-            } else {
-                $this->sourceLine += substr_count($this->source, "\n", $this->sourceOffset);
-            }
-            $this->sourceOffset = strlen($this->source);
-            $this->debugInfo[$this->sourceLine] = $node->getLine();
-
-            $this->lastLine = $node->getLine();
-        }
-
-        return $this;
-    }
-
-    public function getDebugInfo()
-    {
-        return $this->debugInfo;
-    }
-
-    /**
-     * Indents the generated code.
-     *
-     * @param integer $step The number of indentation to add
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function indent($step = 1)
-    {
-        $this->indentation += $step;
-
-        return $this;
-    }
-
-    /**
-     * Outdents the generated code.
-     *
-     * @param integer $step The number of indentation to remove
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function outdent($step = 1)
-    {
-        // can't outdent by more steps than the current indentation level
-        if ($this->indentation < $step) {
-            throw new LogicException('Unable to call outdent() as the indentation would become negative');
-        }
-
-        $this->indentation -= $step;
-
-        return $this;
-    }
-}
diff --git a/lib/Twig/CompilerInterface.php b/lib/Twig/CompilerInterface.php
deleted file mode 100644
index e293ec9113b..00000000000
--- a/lib/Twig/CompilerInterface.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface implemented by compiler classes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_CompilerInterface
-{
-    /**
-     * Compiles a node.
-     *
-     * @param Twig_NodeInterface $node The node to compile
-     *
-     * @return Twig_CompilerInterface The current compiler instance
-     */
-    public function compile(Twig_NodeInterface $node);
-
-    /**
-     * Gets the current PHP code after compilation.
-     *
-     * @return string The PHP code
-     */
-    public function getSource();
-}
diff --git a/lib/Twig/Environment.php b/lib/Twig/Environment.php
deleted file mode 100644
index 47e00740bf0..00000000000
--- a/lib/Twig/Environment.php
+++ /dev/null
@@ -1,1224 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Stores the Twig configuration.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Environment
-{
-    const VERSION = '1.13.0';
-
-    protected $charset;
-    protected $loader;
-    protected $debug;
-    protected $autoReload;
-    protected $cache;
-    protected $lexer;
-    protected $parser;
-    protected $compiler;
-    protected $baseTemplateClass;
-    protected $extensions;
-    protected $parsers;
-    protected $visitors;
-    protected $filters;
-    protected $tests;
-    protected $functions;
-    protected $globals;
-    protected $runtimeInitialized;
-    protected $extensionInitialized;
-    protected $loadedTemplates;
-    protected $strictVariables;
-    protected $unaryOperators;
-    protected $binaryOperators;
-    protected $templateClassPrefix = '__TwigTemplate_';
-    protected $functionCallbacks;
-    protected $filterCallbacks;
-    protected $staging;
-
-    /**
-     * Constructor.
-     *
-     * Available options:
-     *
-     *  * debug: When set to true, it automatically set "auto_reload" to true as
-     *           well (default to false).
-     *
-     *  * charset: The charset used by the templates (default to UTF-8).
-     *
-     *  * base_template_class: The base template class to use for generated
-     *                         templates (default to Twig_Template).
-     *
-     *  * cache: An absolute path where to store the compiled templates, or
-     *           false to disable compilation cache (default).
-     *
-     *  * auto_reload: Whether to reload the template is the original source changed.
-     *                 If you don't provide the auto_reload option, it will be
-     *                 determined automatically base on the debug value.
-     *
-     *  * strict_variables: Whether to ignore invalid variables in templates
-     *                      (default to false).
-     *
-     *  * autoescape: Whether to enable auto-escaping (default to html):
-     *                  * false: disable auto-escaping
-     *                  * true: equivalent to html
-     *                  * html, js: set the autoescaping to one of the supported strategies
-     *                  * PHP callback: a PHP callback that returns an escaping strategy based on the template "filename"
-     *
-     *  * optimizations: A flag that indicates which optimizations to apply
-     *                   (default to -1 which means that all optimizations are enabled;
-     *                   set it to 0 to disable).
-     *
-     * @param Twig_LoaderInterface $loader  A Twig_LoaderInterface instance
-     * @param array                $options An array of options
-     */
-    public function __construct(Twig_LoaderInterface $loader = null, $options = array())
-    {
-        if (null !== $loader) {
-            $this->setLoader($loader);
-        }
-
-        $options = array_merge(array(
-            'debug'               => false,
-            'charset'             => 'UTF-8',
-            'base_template_class' => 'Twig_Template',
-            'strict_variables'    => false,
-            'autoescape'          => 'html',
-            'cache'               => false,
-            'auto_reload'         => null,
-            'optimizations'       => -1,
-        ), $options);
-
-        $this->debug              = (bool) $options['debug'];
-        $this->charset            = strtoupper($options['charset']);
-        $this->baseTemplateClass  = $options['base_template_class'];
-        $this->autoReload         = null === $options['auto_reload'] ? $this->debug : (bool) $options['auto_reload'];
-        $this->strictVariables    = (bool) $options['strict_variables'];
-        $this->runtimeInitialized = false;
-        $this->setCache($options['cache']);
-        $this->functionCallbacks = array();
-        $this->filterCallbacks = array();
-
-        $this->addExtension(new Twig_Extension_Core());
-        $this->addExtension(new Twig_Extension_Escaper($options['autoescape']));
-        $this->addExtension(new Twig_Extension_Optimizer($options['optimizations']));
-        $this->extensionInitialized = false;
-        $this->staging = new Twig_Extension_Staging();
-    }
-
-    /**
-     * Gets the base template class for compiled templates.
-     *
-     * @return string The base template class name
-     */
-    public function getBaseTemplateClass()
-    {
-        return $this->baseTemplateClass;
-    }
-
-    /**
-     * Sets the base template class for compiled templates.
-     *
-     * @param string $class The base template class name
-     */
-    public function setBaseTemplateClass($class)
-    {
-        $this->baseTemplateClass = $class;
-    }
-
-    /**
-     * Enables debugging mode.
-     */
-    public function enableDebug()
-    {
-        $this->debug = true;
-    }
-
-    /**
-     * Disables debugging mode.
-     */
-    public function disableDebug()
-    {
-        $this->debug = false;
-    }
-
-    /**
-     * Checks if debug mode is enabled.
-     *
-     * @return Boolean true if debug mode is enabled, false otherwise
-     */
-    public function isDebug()
-    {
-        return $this->debug;
-    }
-
-    /**
-     * Enables the auto_reload option.
-     */
-    public function enableAutoReload()
-    {
-        $this->autoReload = true;
-    }
-
-    /**
-     * Disables the auto_reload option.
-     */
-    public function disableAutoReload()
-    {
-        $this->autoReload = false;
-    }
-
-    /**
-     * Checks if the auto_reload option is enabled.
-     *
-     * @return Boolean true if auto_reload is enabled, false otherwise
-     */
-    public function isAutoReload()
-    {
-        return $this->autoReload;
-    }
-
-    /**
-     * Enables the strict_variables option.
-     */
-    public function enableStrictVariables()
-    {
-        $this->strictVariables = true;
-    }
-
-    /**
-     * Disables the strict_variables option.
-     */
-    public function disableStrictVariables()
-    {
-        $this->strictVariables = false;
-    }
-
-    /**
-     * Checks if the strict_variables option is enabled.
-     *
-     * @return Boolean true if strict_variables is enabled, false otherwise
-     */
-    public function isStrictVariables()
-    {
-        return $this->strictVariables;
-    }
-
-    /**
-     * Gets the cache directory or false if cache is disabled.
-     *
-     * @return string|false
-     */
-    public function getCache()
-    {
-        return $this->cache;
-    }
-
-     /**
-      * Sets the cache directory or false if cache is disabled.
-      *
-      * @param string|false $cache The absolute path to the compiled templates,
-      *                            or false to disable cache
-      */
-    public function setCache($cache)
-    {
-        $this->cache = $cache ? $cache : false;
-    }
-
-    /**
-     * Gets the cache filename for a given template.
-     *
-     * @param string $name The template name
-     *
-     * @return string The cache file name
-     */
-    public function getCacheFilename($name)
-    {
-        if (false === $this->cache) {
-            return false;
-        }
-
-        $class = substr($this->getTemplateClass($name), strlen($this->templateClassPrefix));
-
-        return $this->getCache().'/'.substr($class, 0, 2).'/'.substr($class, 2, 2).'/'.substr($class, 4).'.php';
-    }
-
-    /**
-     * Gets the template class associated with the given string.
-     *
-     * @param string  $name  The name for which to calculate the template class name
-     * @param integer $index The index if it is an embedded template
-     *
-     * @return string The template class name
-     */
-    public function getTemplateClass($name, $index = null)
-    {
-        return $this->templateClassPrefix.md5($this->getLoader()->getCacheKey($name)).(null === $index ? '' : '_'.$index);
-    }
-
-    /**
-     * Gets the template class prefix.
-     *
-     * @return string The template class prefix
-     */
-    public function getTemplateClassPrefix()
-    {
-        return $this->templateClassPrefix;
-    }
-
-    /**
-     * Renders a template.
-     *
-     * @param string $name    The template name
-     * @param array  $context An array of parameters to pass to the template
-     *
-     * @return string The rendered template
-     */
-    public function render($name, array $context = array())
-    {
-        return $this->loadTemplate($name)->render($context);
-    }
-
-    /**
-     * Displays a template.
-     *
-     * @param string $name    The template name
-     * @param array  $context An array of parameters to pass to the template
-     */
-    public function display($name, array $context = array())
-    {
-        $this->loadTemplate($name)->display($context);
-    }
-
-    /**
-     * Loads a template by name.
-     *
-     * @param string  $name  The template name
-     * @param integer $index The index if it is an embedded template
-     *
-     * @return Twig_TemplateInterface A template instance representing the given template name
-     */
-    public function loadTemplate($name, $index = null)
-    {
-        $cls = $this->getTemplateClass($name, $index);
-
-        if (isset($this->loadedTemplates[$cls])) {
-            return $this->loadedTemplates[$cls];
-        }
-
-        if (!class_exists($cls, false)) {
-            if (false === $cache = $this->getCacheFilename($name)) {
-                eval('?>'.$this->compileSource($this->getLoader()->getSource($name), $name));
-            } else {
-                if (!is_file($cache) || ($this->isAutoReload() && !$this->isTemplateFresh($name, filemtime($cache)))) {
-                    $this->writeCacheFile($cache, $this->compileSource($this->getLoader()->getSource($name), $name));
-                }
-
-                require_once $cache;
-            }
-        }
-
-        if (!$this->runtimeInitialized) {
-            $this->initRuntime();
-        }
-
-        return $this->loadedTemplates[$cls] = new $cls($this);
-    }
-
-    /**
-     * Returns true if the template is still fresh.
-     *
-     * Besides checking the loader for freshness information,
-     * this method also checks if the enabled extensions have
-     * not changed.
-     *
-     * @param string    $name The template name
-     * @param timestamp $time The last modification time of the cached template
-     *
-     * @return Boolean true if the template is fresh, false otherwise
-     */
-    public function isTemplateFresh($name, $time)
-    {
-        foreach ($this->extensions as $extension) {
-            $r = new ReflectionObject($extension);
-            if (filemtime($r->getFileName()) > $time) {
-                return false;
-            }
-        }
-
-        return $this->getLoader()->isFresh($name, $time);
-    }
-
-    public function resolveTemplate($names)
-    {
-        if (!is_array($names)) {
-            $names = array($names);
-        }
-
-        foreach ($names as $name) {
-            if ($name instanceof Twig_Template) {
-                return $name;
-            }
-
-            try {
-                return $this->loadTemplate($name);
-            } catch (Twig_Error_Loader $e) {
-            }
-        }
-
-        if (1 === count($names)) {
-            throw $e;
-        }
-
-        throw new Twig_Error_Loader(sprintf('Unable to find one of the following templates: "%s".', implode('", "', $names)));
-    }
-
-    /**
-     * Clears the internal template cache.
-     */
-    public function clearTemplateCache()
-    {
-        $this->loadedTemplates = array();
-    }
-
-    /**
-     * Clears the template cache files on the filesystem.
-     */
-    public function clearCacheFiles()
-    {
-        if (false === $this->cache) {
-            return;
-        }
-
-        foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($this->cache), RecursiveIteratorIterator::LEAVES_ONLY) as $file) {
-            if ($file->isFile()) {
-                @unlink($file->getPathname());
-            }
-        }
-    }
-
-    /**
-     * Gets the Lexer instance.
-     *
-     * @return Twig_LexerInterface A Twig_LexerInterface instance
-     */
-    public function getLexer()
-    {
-        if (null === $this->lexer) {
-            $this->lexer = new Twig_Lexer($this);
-        }
-
-        return $this->lexer;
-    }
-
-    /**
-     * Sets the Lexer instance.
-     *
-     * @param Twig_LexerInterface A Twig_LexerInterface instance
-     */
-    public function setLexer(Twig_LexerInterface $lexer)
-    {
-        $this->lexer = $lexer;
-    }
-
-    /**
-     * Tokenizes a source code.
-     *
-     * @param string $source The template source code
-     * @param string $name   The template name
-     *
-     * @return Twig_TokenStream A Twig_TokenStream instance
-     */
-    public function tokenize($source, $name = null)
-    {
-        return $this->getLexer()->tokenize($source, $name);
-    }
-
-    /**
-     * Gets the Parser instance.
-     *
-     * @return Twig_ParserInterface A Twig_ParserInterface instance
-     */
-    public function getParser()
-    {
-        if (null === $this->parser) {
-            $this->parser = new Twig_Parser($this);
-        }
-
-        return $this->parser;
-    }
-
-    /**
-     * Sets the Parser instance.
-     *
-     * @param Twig_ParserInterface A Twig_ParserInterface instance
-     */
-    public function setParser(Twig_ParserInterface $parser)
-    {
-        $this->parser = $parser;
-    }
-
-    /**
-     * Parses a token stream.
-     *
-     * @param Twig_TokenStream $tokens A Twig_TokenStream instance
-     *
-     * @return Twig_Node_Module A Node tree
-     */
-    public function parse(Twig_TokenStream $tokens)
-    {
-        return $this->getParser()->parse($tokens);
-    }
-
-    /**
-     * Gets the Compiler instance.
-     *
-     * @return Twig_CompilerInterface A Twig_CompilerInterface instance
-     */
-    public function getCompiler()
-    {
-        if (null === $this->compiler) {
-            $this->compiler = new Twig_Compiler($this);
-        }
-
-        return $this->compiler;
-    }
-
-    /**
-     * Sets the Compiler instance.
-     *
-     * @param Twig_CompilerInterface $compiler A Twig_CompilerInterface instance
-     */
-    public function setCompiler(Twig_CompilerInterface $compiler)
-    {
-        $this->compiler = $compiler;
-    }
-
-    /**
-     * Compiles a Node.
-     *
-     * @param Twig_NodeInterface $node A Twig_NodeInterface instance
-     *
-     * @return string The compiled PHP source code
-     */
-    public function compile(Twig_NodeInterface $node)
-    {
-        return $this->getCompiler()->compile($node)->getSource();
-    }
-
-    /**
-     * Compiles a template source code.
-     *
-     * @param string $source The template source code
-     * @param string $name   The template name
-     *
-     * @return string The compiled PHP source code
-     */
-    public function compileSource($source, $name = null)
-    {
-        try {
-            return $this->compile($this->parse($this->tokenize($source, $name)));
-        } catch (Twig_Error $e) {
-            $e->setTemplateFile($name);
-            throw $e;
-        } catch (Exception $e) {
-            throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the compilation of a template ("%s").', $e->getMessage()), -1, $name, $e);
-        }
-    }
-
-    /**
-     * Sets the Loader instance.
-     *
-     * @param Twig_LoaderInterface $loader A Twig_LoaderInterface instance
-     */
-    public function setLoader(Twig_LoaderInterface $loader)
-    {
-        $this->loader = $loader;
-    }
-
-    /**
-     * Gets the Loader instance.
-     *
-     * @return Twig_LoaderInterface A Twig_LoaderInterface instance
-     */
-    public function getLoader()
-    {
-        if (null === $this->loader) {
-            throw new LogicException('You must set a loader first.');
-        }
-
-        return $this->loader;
-    }
-
-    /**
-     * Sets the default template charset.
-     *
-     * @param string $charset The default charset
-     */
-    public function setCharset($charset)
-    {
-        $this->charset = strtoupper($charset);
-    }
-
-    /**
-     * Gets the default template charset.
-     *
-     * @return string The default charset
-     */
-    public function getCharset()
-    {
-        return $this->charset;
-    }
-
-    /**
-     * Initializes the runtime environment.
-     */
-    public function initRuntime()
-    {
-        $this->runtimeInitialized = true;
-
-        foreach ($this->getExtensions() as $extension) {
-            $extension->initRuntime($this);
-        }
-    }
-
-    /**
-     * Returns true if the given extension is registered.
-     *
-     * @param string $name The extension name
-     *
-     * @return Boolean Whether the extension is registered or not
-     */
-    public function hasExtension($name)
-    {
-        return isset($this->extensions[$name]);
-    }
-
-    /**
-     * Gets an extension by name.
-     *
-     * @param string $name The extension name
-     *
-     * @return Twig_ExtensionInterface A Twig_ExtensionInterface instance
-     */
-    public function getExtension($name)
-    {
-        if (!isset($this->extensions[$name])) {
-            throw new Twig_Error_Runtime(sprintf('The "%s" extension is not enabled.', $name));
-        }
-
-        return $this->extensions[$name];
-    }
-
-    /**
-     * Registers an extension.
-     *
-     * @param Twig_ExtensionInterface $extension A Twig_ExtensionInterface instance
-     */
-    public function addExtension(Twig_ExtensionInterface $extension)
-    {
-        if ($this->extensionInitialized) {
-            throw new LogicException(sprintf('Unable to register extension "%s" as extensions have already been initialized.', $extension->getName()));
-        }
-
-        $this->extensions[$extension->getName()] = $extension;
-    }
-
-    /**
-     * Removes an extension by name.
-     *
-     * This method is deprecated and you should not use it.
-     *
-     * @param string $name The extension name
-     *
-     * @deprecated since 1.12 (to be removed in 2.0)
-     */
-    public function removeExtension($name)
-    {
-        if ($this->extensionInitialized) {
-            throw new LogicException(sprintf('Unable to remove extension "%s" as extensions have already been initialized.', $name));
-        }
-
-        unset($this->extensions[$name]);
-    }
-
-    /**
-     * Registers an array of extensions.
-     *
-     * @param array $extensions An array of extensions
-     */
-    public function setExtensions(array $extensions)
-    {
-        foreach ($extensions as $extension) {
-            $this->addExtension($extension);
-        }
-    }
-
-    /**
-     * Returns all registered extensions.
-     *
-     * @return array An array of extensions
-     */
-    public function getExtensions()
-    {
-        return $this->extensions;
-    }
-
-    /**
-     * Registers a Token Parser.
-     *
-     * @param Twig_TokenParserInterface $parser A Twig_TokenParserInterface instance
-     */
-    public function addTokenParser(Twig_TokenParserInterface $parser)
-    {
-        if ($this->extensionInitialized) {
-            throw new LogicException('Unable to add a token parser as extensions have already been initialized.');
-        }
-
-        $this->staging->addTokenParser($parser);
-    }
-
-    /**
-     * Gets the registered Token Parsers.
-     *
-     * @return Twig_TokenParserBrokerInterface A broker containing token parsers
-     */
-    public function getTokenParsers()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->parsers;
-    }
-
-    /**
-     * Gets registered tags.
-     *
-     * Be warned that this method cannot return tags defined by Twig_TokenParserBrokerInterface classes.
-     *
-     * @return Twig_TokenParserInterface[] An array of Twig_TokenParserInterface instances
-     */
-    public function getTags()
-    {
-        $tags = array();
-        foreach ($this->getTokenParsers()->getParsers() as $parser) {
-            if ($parser instanceof Twig_TokenParserInterface) {
-                $tags[$parser->getTag()] = $parser;
-            }
-        }
-
-        return $tags;
-    }
-
-    /**
-     * Registers a Node Visitor.
-     *
-     * @param Twig_NodeVisitorInterface $visitor A Twig_NodeVisitorInterface instance
-     */
-    public function addNodeVisitor(Twig_NodeVisitorInterface $visitor)
-    {
-        if ($this->extensionInitialized) {
-            throw new LogicException('Unable to add a node visitor as extensions have already been initialized.', $extension->getName());
-        }
-
-        $this->staging->addNodeVisitor($visitor);
-    }
-
-    /**
-     * Gets the registered Node Visitors.
-     *
-     * @return Twig_NodeVisitorInterface[] An array of Twig_NodeVisitorInterface instances
-     */
-    public function getNodeVisitors()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->visitors;
-    }
-
-    /**
-     * Registers a Filter.
-     *
-     * @param string|Twig_SimpleFilter               $name   The filter name or a Twig_SimpleFilter instance
-     * @param Twig_FilterInterface|Twig_SimpleFilter $filter A Twig_FilterInterface instance or a Twig_SimpleFilter instance
-     */
-    public function addFilter($name, $filter = null)
-    {
-        if (!$name instanceof Twig_SimpleFilter && !($filter instanceof Twig_SimpleFilter || $filter instanceof Twig_FilterInterface)) {
-            throw new LogicException('A filter must be an instance of Twig_FilterInterface or Twig_SimpleFilter');
-        }
-
-        if ($name instanceof Twig_SimpleFilter) {
-            $filter = $name;
-            $name = $filter->getName();
-        }
-        
-        if ($this->extensionInitialized) {
-            throw new LogicException(sprintf('Unable to add filter "%s" as extensions have already been initialized.', $name));
-        }
-        
-        $this->staging->addFilter($name, $filter);
-    }
-
-    /**
-     * Get a filter by name.
-     *
-     * Subclasses may override this method and load filters differently;
-     * so no list of filters is available.
-     *
-     * @param string $name The filter name
-     *
-     * @return Twig_Filter|false A Twig_Filter instance or false if the filter does not exist
-     */
-    public function getFilter($name)
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        if (isset($this->filters[$name])) {
-            return $this->filters[$name];
-        }
-
-        foreach ($this->filters as $pattern => $filter) {
-            $pattern = str_replace('\\*', '(.*?)', preg_quote($pattern, '#'), $count);
-
-            if ($count) {
-                if (preg_match('#^'.$pattern.'$#', $name, $matches)) {
-                    array_shift($matches);
-                    $filter->setArguments($matches);
-
-                    return $filter;
-                }
-            }
-        }
-
-        foreach ($this->filterCallbacks as $callback) {
-            if (false !== $filter = call_user_func($callback, $name)) {
-                return $filter;
-            }
-        }
-
-        return false;
-    }
-
-    public function registerUndefinedFilterCallback($callable)
-    {
-        $this->filterCallbacks[] = $callable;
-    }
-
-    /**
-     * Gets the registered Filters.
-     *
-     * Be warned that this method cannot return filters defined with registerUndefinedFunctionCallback.
-     *
-     * @return Twig_FilterInterface[] An array of Twig_FilterInterface instances
-     *
-     * @see registerUndefinedFilterCallback
-     */
-    public function getFilters()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->filters;
-    }
-
-    /**
-     * Registers a Test.
-     *
-     * @param string|Twig_SimpleTest             $name The test name or a Twig_SimpleTest instance
-     * @param Twig_TestInterface|Twig_SimpleTest $test A Twig_TestInterface instance or a Twig_SimpleTest instance
-     */
-    public function addTest($name, $test = null)
-    {
-        if (!$name instanceof Twig_SimpleTest && !($test instanceof Twig_SimpleTest || $test instanceof Twig_TestInterface)) {
-            throw new LogicException('A test must be an instance of Twig_TestInterface or Twig_SimpleTest');
-        }
-
-        if ($name instanceof Twig_SimpleTest) {
-            $test = $name;
-            $name = $test->getName();
-        }
-        
-        if ($this->extensionInitialized) {
-            throw new LogicException(sprintf('Unable to add test "%s" as extensions have already been initialized.', $name));
-        }
-
-        $this->staging->addTest($name, $test);
-    }
-
-    /**
-     * Gets the registered Tests.
-     *
-     * @return Twig_TestInterface[] An array of Twig_TestInterface instances
-     */
-    public function getTests()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->tests;
-    }
-
-    /**
-     * Gets a test by name.
-     *
-     * @param string $name The test name
-     *
-     * @return Twig_Test|false A Twig_Test instance or false if the test does not exist
-     */
-    public function getTest($name)
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        if (isset($this->tests[$name])) {
-            return $this->tests[$name];
-        }
-
-        return false;
-    }
-
-    /**
-     * Registers a Function.
-     *
-     * @param string|Twig_SimpleFunction                 $name     The function name or a Twig_SimpleFunction instance
-     * @param Twig_FunctionInterface|Twig_SimpleFunction $function A Twig_FunctionInterface instance or a Twig_SimpleFunction instance
-     */
-    public function addFunction($name, $function = null)
-    {
-        if (!$name instanceof Twig_SimpleFunction && !($function instanceof Twig_SimpleFunction || $function instanceof Twig_FunctionInterface)) {
-            throw new LogicException('A function must be an instance of Twig_FunctionInterface or Twig_SimpleFunction');
-        }
-
-        if ($name instanceof Twig_SimpleFunction) {
-            $function = $name;
-            $name = $function->getName();
-        }
-        
-        if ($this->extensionInitialized) {
-            throw new LogicException(sprintf('Unable to add function "%s" as extensions have already been initialized.', $name));
-        }
-        
-        $this->staging->addFunction($name, $function);
-    }
-
-    /**
-     * Get a function by name.
-     *
-     * Subclasses may override this method and load functions differently;
-     * so no list of functions is available.
-     *
-     * @param string $name function name
-     *
-     * @return Twig_Function|false A Twig_Function instance or false if the function does not exist
-     */
-    public function getFunction($name)
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        if (isset($this->functions[$name])) {
-            return $this->functions[$name];
-        }
-
-        foreach ($this->functions as $pattern => $function) {
-            $pattern = str_replace('\\*', '(.*?)', preg_quote($pattern, '#'), $count);
-
-            if ($count) {
-                if (preg_match('#^'.$pattern.'$#', $name, $matches)) {
-                    array_shift($matches);
-                    $function->setArguments($matches);
-
-                    return $function;
-                }
-            }
-        }
-
-        foreach ($this->functionCallbacks as $callback) {
-            if (false !== $function = call_user_func($callback, $name)) {
-                return $function;
-            }
-        }
-
-        return false;
-    }
-
-    public function registerUndefinedFunctionCallback($callable)
-    {
-        $this->functionCallbacks[] = $callable;
-    }
-
-    /**
-     * Gets registered functions.
-     *
-     * Be warned that this method cannot return functions defined with registerUndefinedFunctionCallback.
-     *
-     * @return Twig_FunctionInterface[] An array of Twig_FunctionInterface instances
-     *
-     * @see registerUndefinedFunctionCallback
-     */
-    public function getFunctions()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->functions;
-    }
-
-    /**
-     * Registers a Global.
-     *
-     * New globals can be added before compiling or rendering a template;
-     * but after, you can only update existing globals.
-     *
-     * @param string $name  The global name
-     * @param mixed  $value The global value
-     */
-    public function addGlobal($name, $value)
-    {
-        if ($this->extensionInitialized || $this->runtimeInitialized) {
-            if (null === $this->globals) {
-                $this->globals = $this->initGlobals();
-            }
-
-            /* This condition must be uncommented in Twig 2.0
-            if (!array_key_exists($name, $this->globals)) {
-                throw new LogicException(sprintf('Unable to add global "%s" as the runtime or the extensions have already been initialized.', $name));
-            }
-            */
-        }
-
-        if ($this->extensionInitialized || $this->runtimeInitialized) {
-            // update the value
-            $this->globals[$name] = $value;
-        } else {
-            $this->staging->addGlobal($name, $value);
-        }
-    }
-
-    /**
-     * Gets the registered Globals.
-     *
-     * @return array An array of globals
-     */
-    public function getGlobals()
-    {
-        if (!$this->runtimeInitialized && !$this->extensionInitialized) {
-            return $this->initGlobals();
-        }
-
-        if (null === $this->globals) {
-            $this->globals = $this->initGlobals();
-        }
-
-        return $this->globals;
-    }
-
-    /**
-     * Merges a context with the defined globals.
-     *
-     * @param array $context An array representing the context
-     *
-     * @return array The context merged with the globals
-     */
-    public function mergeGlobals(array $context)
-    {
-        // we don't use array_merge as the context being generally
-        // bigger than globals, this code is faster.
-        foreach ($this->getGlobals() as $key => $value) {
-            if (!array_key_exists($key, $context)) {
-                $context[$key] = $value;
-            }
-        }
-
-        return $context;
-    }
-
-    /**
-     * Gets the registered unary Operators.
-     *
-     * @return array An array of unary operators
-     */
-    public function getUnaryOperators()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->unaryOperators;
-    }
-
-    /**
-     * Gets the registered binary Operators.
-     *
-     * @return array An array of binary operators
-     */
-    public function getBinaryOperators()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->binaryOperators;
-    }
-
-    public function computeAlternatives($name, $items)
-    {
-        $alternatives = array();
-        foreach ($items as $item) {
-            $lev = levenshtein($name, $item);
-            if ($lev <= strlen($name) / 3 || false !== strpos($item, $name)) {
-                $alternatives[$item] = $lev;
-            }
-        }
-        asort($alternatives);
-
-        return array_keys($alternatives);
-    }
-
-    protected function initGlobals()
-    {
-        $globals = array();
-        foreach ($this->extensions as $extension) {
-            $extGlob = $extension->getGlobals();
-            if (!is_array($extGlob)) {
-                throw new UnexpectedValueException(sprintf('"%s::getGlobals()" must return an array of globals.', get_class($extension)));
-            }
-
-            $globals[] = $extGlob;
-        }
-
-        $globals[] = $this->staging->getGlobals();
-
-        return call_user_func_array('array_merge', $globals);
-    }
-
-    protected function initExtensions()
-    {
-        if ($this->extensionInitialized) {
-            return;
-        }
-
-        $this->extensionInitialized = true;
-        $this->parsers = new Twig_TokenParserBroker();
-        $this->filters = array();
-        $this->functions = array();
-        $this->tests = array();
-        $this->visitors = array();
-        $this->unaryOperators = array();
-        $this->binaryOperators = array();
-
-        foreach ($this->extensions as $extension) {
-            $this->initExtension($extension);
-        }
-        $this->initExtension($this->staging);
-    }
-
-    protected function initExtension(Twig_ExtensionInterface $extension)
-    {
-        // filters
-        foreach ($extension->getFilters() as $name => $filter) {
-            if ($name instanceof Twig_SimpleFilter) {
-                $filter = $name;
-                $name = $filter->getName();
-            } elseif ($filter instanceof Twig_SimpleFilter) {
-                $name = $filter->getName();
-            }
-
-            $this->filters[$name] = $filter;
-        }
-
-        // functions
-        foreach ($extension->getFunctions() as $name => $function) {
-            if ($name instanceof Twig_SimpleFunction) {
-                $function = $name;
-                $name = $function->getName();
-            } elseif ($function instanceof Twig_SimpleFunction) {
-                $name = $function->getName();
-            }
-
-            $this->functions[$name] = $function;
-        }
-
-        // tests
-        foreach ($extension->getTests() as $name => $test) {
-            if ($name instanceof Twig_SimpleTest) {
-                $test = $name;
-                $name = $test->getName();
-            } elseif ($test instanceof Twig_SimpleTest) {
-                $name = $test->getName();
-            }
-
-            $this->tests[$name] = $test;
-        }
-
-        // token parsers
-        foreach ($extension->getTokenParsers() as $parser) {
-            if ($parser instanceof Twig_TokenParserInterface) {
-                $this->parsers->addTokenParser($parser);
-            } elseif ($parser instanceof Twig_TokenParserBrokerInterface) {
-                $this->parsers->addTokenParserBroker($parser);
-            } else {
-                throw new LogicException('getTokenParsers() must return an array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances');
-            }
-        }
-
-        // node visitors
-        foreach ($extension->getNodeVisitors() as $visitor) {
-            $this->visitors[] = $visitor;
-        }
-
-        // operators
-        if ($operators = $extension->getOperators()) {
-            if (2 !== count($operators)) {
-                throw new InvalidArgumentException(sprintf('"%s::getOperators()" does not return a valid operators array.', get_class($extension)));
-            }
-
-            $this->unaryOperators = array_merge($this->unaryOperators, $operators[0]);
-            $this->binaryOperators = array_merge($this->binaryOperators, $operators[1]);
-        }
-    }
-
-    protected function writeCacheFile($file, $content)
-    {
-        $dir = dirname($file);
-        if (!is_dir($dir)) {
-            if (false === @mkdir($dir, 0777, true) && !is_dir($dir)) {
-                throw new RuntimeException(sprintf("Unable to create the cache directory (%s).", $dir));
-            }
-        } elseif (!is_writable($dir)) {
-            throw new RuntimeException(sprintf("Unable to write in the cache directory (%s).", $dir));
-        }
-
-        $tmpFile = tempnam(dirname($file), basename($file));
-        if (false !== @file_put_contents($tmpFile, $content)) {
-            // rename does not work on Win32 before 5.2.6
-            if (@rename($tmpFile, $file) || (@copy($tmpFile, $file) && unlink($tmpFile))) {
-                @chmod($file, 0666 & ~umask());
-
-                return;
-            }
-        }
-
-        throw new RuntimeException(sprintf('Failed to write cache file "%s".', $file));
-    }
-}
diff --git a/lib/Twig/Error.php b/lib/Twig/Error.php
deleted file mode 100644
index e77ec98d75d..00000000000
--- a/lib/Twig/Error.php
+++ /dev/null
@@ -1,232 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Twig base exception.
- *
- * This exception class and its children must only be used when
- * an error occurs during the loading of a template, when a syntax error
- * is detected in a template, or when rendering a template. Other
- * errors must use regular PHP exception classes (like when the template
- * cache directory is not writable for instance).
- *
- * To help debugging template issues, this class tracks the original template
- * name and line where the error occurred.
- *
- * Whenever possible, you must set these information (original template name
- * and line number) yourself by passing them to the constructor. If some or all
- * these information are not available from where you throw the exception, then
- * this class will guess them automatically (when the line number is set to -1
- * and/or the filename is set to null). As this is a costly operation, this
- * can be disabled by passing false for both the filename and the line number
- * when creating a new instance of this class.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Error extends Exception
-{
-    protected $lineno;
-    protected $filename;
-    protected $rawMessage;
-    protected $previous;
-
-    /**
-     * Constructor.
-     *
-     * Set both the line number and the filename to false to
-     * disable automatic guessing of the original template name
-     * and line number.
-     *
-     * Set the line number to -1 to enable its automatic guessing.
-     * Set the filename to null to enable its automatic guessing.
-     *
-     * By default, automatic guessing is enabled.
-     *
-     * @param string    $message  The error message
-     * @param integer   $lineno   The template line where the error occurred
-     * @param string    $filename The template file name where the error occurred
-     * @param Exception $previous The previous exception
-     */
-    public function __construct($message, $lineno = -1, $filename = null, Exception $previous = null)
-    {
-        if (version_compare(PHP_VERSION, '5.3.0', '<')) {
-            $this->previous = $previous;
-            parent::__construct('');
-        } else {
-            parent::__construct('', 0, $previous);
-        }
-
-        $this->lineno = $lineno;
-        $this->filename = $filename;
-
-        if (-1 === $this->lineno || null === $this->filename) {
-            $this->guessTemplateInfo();
-        }
-
-        $this->rawMessage = $message;
-
-        $this->updateRepr();
-    }
-
-    /**
-     * Gets the raw message.
-     *
-     * @return string The raw message
-     */
-    public function getRawMessage()
-    {
-        return $this->rawMessage;
-    }
-
-    /**
-     * Gets the filename where the error occurred.
-     *
-     * @return string The filename
-     */
-    public function getTemplateFile()
-    {
-        return $this->filename;
-    }
-
-    /**
-     * Sets the filename where the error occurred.
-     *
-     * @param string $filename The filename
-     */
-    public function setTemplateFile($filename)
-    {
-        $this->filename = $filename;
-
-        $this->updateRepr();
-    }
-
-    /**
-     * Gets the template line where the error occurred.
-     *
-     * @return integer The template line
-     */
-    public function getTemplateLine()
-    {
-        return $this->lineno;
-    }
-
-    /**
-     * Sets the template line where the error occurred.
-     *
-     * @param integer $lineno The template line
-     */
-    public function setTemplateLine($lineno)
-    {
-        $this->lineno = $lineno;
-
-        $this->updateRepr();
-    }
-
-    public function guess()
-    {
-        $this->guessTemplateInfo();
-        $this->updateRepr();
-    }
-
-    /**
-     * For PHP < 5.3.0, provides access to the getPrevious() method.
-     *
-     * @param string $method    The method name
-     * @param array  $arguments The parameters to be passed to the method
-     *
-     * @return Exception The previous exception or null
-     *
-     * @throws BadMethodCallException
-     */
-    public function __call($method, $arguments)
-    {
-        if ('getprevious' == strtolower($method)) {
-            return $this->previous;
-        }
-
-        throw new BadMethodCallException(sprintf('Method "Twig_Error::%s()" does not exist.', $method));
-    }
-
-    protected function updateRepr()
-    {
-        $this->message = $this->rawMessage;
-
-        $dot = false;
-        if ('.' === substr($this->message, -1)) {
-            $this->message = substr($this->message, 0, -1);
-            $dot = true;
-        }
-
-        if ($this->filename) {
-            if (is_string($this->filename) || (is_object($this->filename) && method_exists($this->filename, '__toString'))) {
-                $filename = sprintf('"%s"', $this->filename);
-            } else {
-                $filename = json_encode($this->filename);
-            }
-            $this->message .= sprintf(' in %s', $filename);
-        }
-
-        if ($this->lineno && $this->lineno >= 0) {
-            $this->message .= sprintf(' at line %d', $this->lineno);
-        }
-
-        if ($dot) {
-            $this->message .= '.';
-        }
-    }
-
-    protected function guessTemplateInfo()
-    {
-        $template = null;
-        foreach (debug_backtrace() as $trace) {
-            if (isset($trace['object']) && $trace['object'] instanceof Twig_Template && 'Twig_Template' !== get_class($trace['object'])) {
-                if (null === $this->filename || $this->filename == $trace['object']->getTemplateName()) {
-                    $template = $trace['object'];
-                }
-            }
-        }
-
-        // update template filename
-        if (null !== $template && null === $this->filename) {
-            $this->filename = $template->getTemplateName();
-        }
-
-        if (null === $template || $this->lineno > -1) {
-            return;
-        }
-
-        $r = new ReflectionObject($template);
-        $file = $r->getFileName();
-
-        $exceptions = array($e = $this);
-        while (($e instanceof self || method_exists($e, 'getPrevious')) && $e = $e->getPrevious()) {
-            $exceptions[] = $e;
-        }
-
-        while ($e = array_pop($exceptions)) {
-            $traces = $e->getTrace();
-            while ($trace = array_shift($traces)) {
-                if (!isset($trace['file']) || !isset($trace['line']) || $file != $trace['file']) {
-                    continue;
-                }
-
-                foreach ($template->getDebugInfo() as $codeLine => $templateLine) {
-                    if ($codeLine <= $trace['line']) {
-                        // update template line
-                        $this->lineno = $templateLine;
-
-                        return;
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/lib/Twig/Error/Loader.php b/lib/Twig/Error/Loader.php
deleted file mode 100644
index 68efb574a1e..00000000000
--- a/lib/Twig/Error/Loader.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Exception thrown when an error occurs during template loading.
- *
- * Automatic template information guessing is always turned off as
- * if a template cannot be loaded, there is nothing to guess.
- * However, when a template is loaded from another one, then, we need
- * to find the current context and this is automatically done by
- * Twig_Template::displayWithErrorHandling().
- *
- * This strategy makes Twig_Environment::resolveTemplate() much faster.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Error_Loader extends Twig_Error
-{
-    public function __construct($message, $lineno = -1, $filename = null, Exception $previous = null)
-    {
-        parent::__construct($message, false, false, $previous);
-    }
-}
diff --git a/lib/Twig/Error/Runtime.php b/lib/Twig/Error/Runtime.php
deleted file mode 100644
index 8b6ceddb9d8..00000000000
--- a/lib/Twig/Error/Runtime.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Exception thrown when an error occurs at runtime.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Error_Runtime extends Twig_Error
-{
-}
diff --git a/lib/Twig/Error/Syntax.php b/lib/Twig/Error/Syntax.php
deleted file mode 100644
index 0f5c5792883..00000000000
--- a/lib/Twig/Error/Syntax.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Exception thrown when a syntax error occurs during lexing or parsing of a template.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Error_Syntax extends Twig_Error
-{
-}
diff --git a/lib/Twig/ExistsLoaderInterface.php b/lib/Twig/ExistsLoaderInterface.php
deleted file mode 100644
index ce434765507..00000000000
--- a/lib/Twig/ExistsLoaderInterface.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Adds an exists() method for loaders.
- *
- * @author Florin Patan <florinpatan@gmail.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_ExistsLoaderInterface
-{
-    /**
-     * Check if we have the source code of a template, given its name.
-     *
-     * @param string $name The name of the template to check if we can load
-     *
-     * @return boolean If the template source code is handled by this loader or not
-     */
-    public function exists($name);
-}
diff --git a/lib/Twig/ExpressionParser.php b/lib/Twig/ExpressionParser.php
deleted file mode 100644
index 9cf193449f6..00000000000
--- a/lib/Twig/ExpressionParser.php
+++ /dev/null
@@ -1,600 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Parses expressions.
- *
- * This parser implements a "Precedence climbing" algorithm.
- *
- * @see http://www.engr.mun.ca/~theo/Misc/exp_parsing.htm
- * @see http://en.wikipedia.org/wiki/Operator-precedence_parser
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_ExpressionParser
-{
-    const OPERATOR_LEFT = 1;
-    const OPERATOR_RIGHT = 2;
-
-    protected $parser;
-    protected $unaryOperators;
-    protected $binaryOperators;
-
-    public function __construct(Twig_Parser $parser, array $unaryOperators, array $binaryOperators)
-    {
-        $this->parser = $parser;
-        $this->unaryOperators = $unaryOperators;
-        $this->binaryOperators = $binaryOperators;
-    }
-
-    public function parseExpression($precedence = 0)
-    {
-        $expr = $this->getPrimary();
-        $token = $this->parser->getCurrentToken();
-        while ($this->isBinary($token) && $this->binaryOperators[$token->getValue()]['precedence'] >= $precedence) {
-            $op = $this->binaryOperators[$token->getValue()];
-            $this->parser->getStream()->next();
-
-            if (isset($op['callable'])) {
-                $expr = call_user_func($op['callable'], $this->parser, $expr);
-            } else {
-                $expr1 = $this->parseExpression(self::OPERATOR_LEFT === $op['associativity'] ? $op['precedence'] + 1 : $op['precedence']);
-                $class = $op['class'];
-                $expr = new $class($expr, $expr1, $token->getLine());
-            }
-
-            $token = $this->parser->getCurrentToken();
-        }
-
-        if (0 === $precedence) {
-            return $this->parseConditionalExpression($expr);
-        }
-
-        return $expr;
-    }
-
-    protected function getPrimary()
-    {
-        $token = $this->parser->getCurrentToken();
-
-        if ($this->isUnary($token)) {
-            $operator = $this->unaryOperators[$token->getValue()];
-            $this->parser->getStream()->next();
-            $expr = $this->parseExpression($operator['precedence']);
-            $class = $operator['class'];
-
-            return $this->parsePostfixExpression(new $class($expr, $token->getLine()));
-        } elseif ($token->test(Twig_Token::PUNCTUATION_TYPE, '(')) {
-            $this->parser->getStream()->next();
-            $expr = $this->parseExpression();
-            $this->parser->getStream()->expect(Twig_Token::PUNCTUATION_TYPE, ')', 'An opened parenthesis is not properly closed');
-
-            return $this->parsePostfixExpression($expr);
-        }
-
-        return $this->parsePrimaryExpression();
-    }
-
-    protected function parseConditionalExpression($expr)
-    {
-        while ($this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, '?')) {
-            $this->parser->getStream()->next();
-            if (!$this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, ':')) {
-                $expr2 = $this->parseExpression();
-                if ($this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, ':')) {
-                    $this->parser->getStream()->next();
-                    $expr3 = $this->parseExpression();
-                } else {
-                    $expr3 = new Twig_Node_Expression_Constant('', $this->parser->getCurrentToken()->getLine());
-                }
-            } else {
-                $this->parser->getStream()->next();
-                $expr2 = $expr;
-                $expr3 = $this->parseExpression();
-            }
-
-            $expr = new Twig_Node_Expression_Conditional($expr, $expr2, $expr3, $this->parser->getCurrentToken()->getLine());
-        }
-
-        return $expr;
-    }
-
-    protected function isUnary(Twig_Token $token)
-    {
-        return $token->test(Twig_Token::OPERATOR_TYPE) && isset($this->unaryOperators[$token->getValue()]);
-    }
-
-    protected function isBinary(Twig_Token $token)
-    {
-        return $token->test(Twig_Token::OPERATOR_TYPE) && isset($this->binaryOperators[$token->getValue()]);
-    }
-
-    public function parsePrimaryExpression()
-    {
-        $token = $this->parser->getCurrentToken();
-        switch ($token->getType()) {
-            case Twig_Token::NAME_TYPE:
-                $this->parser->getStream()->next();
-                switch ($token->getValue()) {
-                    case 'true':
-                    case 'TRUE':
-                        $node = new Twig_Node_Expression_Constant(true, $token->getLine());
-                        break;
-
-                    case 'false':
-                    case 'FALSE':
-                        $node = new Twig_Node_Expression_Constant(false, $token->getLine());
-                        break;
-
-                    case 'none':
-                    case 'NONE':
-                    case 'null':
-                    case 'NULL':
-                        $node = new Twig_Node_Expression_Constant(null, $token->getLine());
-                        break;
-
-                    default:
-                        if ('(' === $this->parser->getCurrentToken()->getValue()) {
-                            $node = $this->getFunctionNode($token->getValue(), $token->getLine());
-                        } else {
-                            $node = new Twig_Node_Expression_Name($token->getValue(), $token->getLine());
-                        }
-                }
-                break;
-
-            case Twig_Token::NUMBER_TYPE:
-                $this->parser->getStream()->next();
-                $node = new Twig_Node_Expression_Constant($token->getValue(), $token->getLine());
-                break;
-
-            case Twig_Token::STRING_TYPE:
-            case Twig_Token::INTERPOLATION_START_TYPE:
-                $node = $this->parseStringExpression();
-                break;
-
-            default:
-                if ($token->test(Twig_Token::PUNCTUATION_TYPE, '[')) {
-                    $node = $this->parseArrayExpression();
-                } elseif ($token->test(Twig_Token::PUNCTUATION_TYPE, '{')) {
-                    $node = $this->parseHashExpression();
-                } else {
-                    throw new Twig_Error_Syntax(sprintf('Unexpected token "%s" of value "%s"', Twig_Token::typeToEnglish($token->getType(), $token->getLine()), $token->getValue()), $token->getLine(), $this->parser->getFilename());
-                }
-        }
-
-        return $this->parsePostfixExpression($node);
-    }
-
-    public function parseStringExpression()
-    {
-        $stream = $this->parser->getStream();
-
-        $nodes = array();
-        // a string cannot be followed by another string in a single expression
-        $nextCanBeString = true;
-        while (true) {
-            if ($stream->test(Twig_Token::STRING_TYPE) && $nextCanBeString) {
-                $token = $stream->next();
-                $nodes[] = new Twig_Node_Expression_Constant($token->getValue(), $token->getLine());
-                $nextCanBeString = false;
-            } elseif ($stream->test(Twig_Token::INTERPOLATION_START_TYPE)) {
-                $stream->next();
-                $nodes[] = $this->parseExpression();
-                $stream->expect(Twig_Token::INTERPOLATION_END_TYPE);
-                $nextCanBeString = true;
-            } else {
-                break;
-            }
-        }
-
-        $expr = array_shift($nodes);
-        foreach ($nodes as $node) {
-            $expr = new Twig_Node_Expression_Binary_Concat($expr, $node, $node->getLine());
-        }
-
-        return $expr;
-    }
-
-    public function parseArrayExpression()
-    {
-        $stream = $this->parser->getStream();
-        $stream->expect(Twig_Token::PUNCTUATION_TYPE, '[', 'An array element was expected');
-
-        $node = new Twig_Node_Expression_Array(array(), $stream->getCurrent()->getLine());
-        $first = true;
-        while (!$stream->test(Twig_Token::PUNCTUATION_TYPE, ']')) {
-            if (!$first) {
-                $stream->expect(Twig_Token::PUNCTUATION_TYPE, ',', 'An array element must be followed by a comma');
-
-                // trailing ,?
-                if ($stream->test(Twig_Token::PUNCTUATION_TYPE, ']')) {
-                    break;
-                }
-            }
-            $first = false;
-
-            $node->addElement($this->parseExpression());
-        }
-        $stream->expect(Twig_Token::PUNCTUATION_TYPE, ']', 'An opened array is not properly closed');
-
-        return $node;
-    }
-
-    public function parseHashExpression()
-    {
-        $stream = $this->parser->getStream();
-        $stream->expect(Twig_Token::PUNCTUATION_TYPE, '{', 'A hash element was expected');
-
-        $node = new Twig_Node_Expression_Array(array(), $stream->getCurrent()->getLine());
-        $first = true;
-        while (!$stream->test(Twig_Token::PUNCTUATION_TYPE, '}')) {
-            if (!$first) {
-                $stream->expect(Twig_Token::PUNCTUATION_TYPE, ',', 'A hash value must be followed by a comma');
-
-                // trailing ,?
-                if ($stream->test(Twig_Token::PUNCTUATION_TYPE, '}')) {
-                    break;
-                }
-            }
-            $first = false;
-
-            // a hash key can be:
-            //
-            //  * a number -- 12
-            //  * a string -- 'a'
-            //  * a name, which is equivalent to a string -- a
-            //  * an expression, which must be enclosed in parentheses -- (1 + 2)
-            if ($stream->test(Twig_Token::STRING_TYPE) || $stream->test(Twig_Token::NAME_TYPE) || $stream->test(Twig_Token::NUMBER_TYPE)) {
-                $token = $stream->next();
-                $key = new Twig_Node_Expression_Constant($token->getValue(), $token->getLine());
-            } elseif ($stream->test(Twig_Token::PUNCTUATION_TYPE, '(')) {
-                $key = $this->parseExpression();
-            } else {
-                $current = $stream->getCurrent();
-
-                throw new Twig_Error_Syntax(sprintf('A hash key must be a quoted string, a number, a name, or an expression enclosed in parentheses (unexpected token "%s" of value "%s"', Twig_Token::typeToEnglish($current->getType(), $current->getLine()), $current->getValue()), $current->getLine(), $this->parser->getFilename());
-            }
-
-            $stream->expect(Twig_Token::PUNCTUATION_TYPE, ':', 'A hash key must be followed by a colon (:)');
-            $value = $this->parseExpression();
-
-            $node->addElement($value, $key);
-        }
-        $stream->expect(Twig_Token::PUNCTUATION_TYPE, '}', 'An opened hash is not properly closed');
-
-        return $node;
-    }
-
-    public function parsePostfixExpression($node)
-    {
-        while (true) {
-            $token = $this->parser->getCurrentToken();
-            if ($token->getType() == Twig_Token::PUNCTUATION_TYPE) {
-                if ('.' == $token->getValue() || '[' == $token->getValue()) {
-                    $node = $this->parseSubscriptExpression($node);
-                } elseif ('|' == $token->getValue()) {
-                    $node = $this->parseFilterExpression($node);
-                } else {
-                    break;
-                }
-            } else {
-                break;
-            }
-        }
-
-        return $node;
-    }
-
-    public function getFunctionNode($name, $line)
-    {
-        switch ($name) {
-            case 'parent':
-                $args = $this->parseArguments();
-                if (!count($this->parser->getBlockStack())) {
-                    throw new Twig_Error_Syntax('Calling "parent" outside a block is forbidden', $line, $this->parser->getFilename());
-                }
-
-                if (!$this->parser->getParent() && !$this->parser->hasTraits()) {
-                    throw new Twig_Error_Syntax('Calling "parent" on a template that does not extend nor "use" another template is forbidden', $line, $this->parser->getFilename());
-                }
-
-                return new Twig_Node_Expression_Parent($this->parser->peekBlockStack(), $line);
-            case 'block':
-                return new Twig_Node_Expression_BlockReference($this->parseArguments()->getNode(0), false, $line);
-            case 'attribute':
-                $args = $this->parseArguments();
-                if (count($args) < 2) {
-                    throw new Twig_Error_Syntax('The "attribute" function takes at least two arguments (the variable and the attributes)', $line, $this->parser->getFilename());
-                }
-
-                return new Twig_Node_Expression_GetAttr($args->getNode(0), $args->getNode(1), count($args) > 2 ? $args->getNode(2) : new Twig_Node_Expression_Array(array(), $line), Twig_TemplateInterface::ANY_CALL, $line);
-            default:
-                if (null !== $alias = $this->parser->getImportedSymbol('function', $name)) {
-                    $arguments = new Twig_Node_Expression_Array(array(), $line);
-                    foreach ($this->parseArguments() as $n) {
-                        $arguments->addElement($n);
-                    }
-
-                    $node = new Twig_Node_Expression_MethodCall($alias['node'], $alias['name'], $arguments, $line);
-                    $node->setAttribute('safe', true);
-
-                    return $node;
-                }
-
-                $args = $this->parseArguments(true);
-                $class = $this->getFunctionNodeClass($name, $line);
-
-                return new $class($name, $args, $line);
-        }
-    }
-
-    public function parseSubscriptExpression($node)
-    {
-        $stream = $this->parser->getStream();
-        $token = $stream->next();
-        $lineno = $token->getLine();
-        $arguments = new Twig_Node_Expression_Array(array(), $lineno);
-        $type = Twig_TemplateInterface::ANY_CALL;
-        if ($token->getValue() == '.') {
-            $token = $stream->next();
-            if (
-                $token->getType() == Twig_Token::NAME_TYPE
-                ||
-                $token->getType() == Twig_Token::NUMBER_TYPE
-                ||
-                ($token->getType() == Twig_Token::OPERATOR_TYPE && preg_match(Twig_Lexer::REGEX_NAME, $token->getValue()))
-            ) {
-                $arg = new Twig_Node_Expression_Constant($token->getValue(), $lineno);
-
-                if ($stream->test(Twig_Token::PUNCTUATION_TYPE, '(')) {
-                    $type = Twig_TemplateInterface::METHOD_CALL;
-                    foreach ($this->parseArguments() as $n) {
-                        $arguments->addElement($n);
-                    }
-                }
-            } else {
-                throw new Twig_Error_Syntax('Expected name or number', $lineno, $this->parser->getFilename());
-            }
-
-            if ($node instanceof Twig_Node_Expression_Name && null !== $this->parser->getImportedSymbol('template', $node->getAttribute('name'))) {
-                if (!$arg instanceof Twig_Node_Expression_Constant) {
-                    throw new Twig_Error_Syntax(sprintf('Dynamic macro names are not supported (called on "%s")', $node->getAttribute('name')), $token->getLine(), $this->parser->getFilename());
-                }
-
-                $node = new Twig_Node_Expression_MethodCall($node, 'get'.$arg->getAttribute('value'), $arguments, $lineno);
-                $node->setAttribute('safe', true);
-
-                return $node;
-            }
-        } else {
-            $type = Twig_TemplateInterface::ARRAY_CALL;
-
-            // slice?
-            $slice = false;
-            if ($stream->test(Twig_Token::PUNCTUATION_TYPE, ':')) {
-                $slice = true;
-                $arg = new Twig_Node_Expression_Constant(0, $token->getLine());
-            } else {
-                $arg = $this->parseExpression();
-            }
-
-            if ($stream->test(Twig_Token::PUNCTUATION_TYPE, ':')) {
-                $slice = true;
-                $stream->next();
-            }
-
-            if ($slice) {
-                if ($stream->test(Twig_Token::PUNCTUATION_TYPE, ']')) {
-                    $length = new Twig_Node_Expression_Constant(null, $token->getLine());
-                } else {
-                    $length = $this->parseExpression();
-                }
-
-                $class = $this->getFilterNodeClass('slice', $token->getLine());
-                $arguments = new Twig_Node(array($arg, $length));
-                $filter = new $class($node, new Twig_Node_Expression_Constant('slice', $token->getLine()), $arguments, $token->getLine());
-
-                $stream->expect(Twig_Token::PUNCTUATION_TYPE, ']');
-
-                return $filter;
-            }
-
-            $stream->expect(Twig_Token::PUNCTUATION_TYPE, ']');
-        }
-
-        return new Twig_Node_Expression_GetAttr($node, $arg, $arguments, $type, $lineno);
-    }
-
-    public function parseFilterExpression($node)
-    {
-        $this->parser->getStream()->next();
-
-        return $this->parseFilterExpressionRaw($node);
-    }
-
-    public function parseFilterExpressionRaw($node, $tag = null)
-    {
-        while (true) {
-            $token = $this->parser->getStream()->expect(Twig_Token::NAME_TYPE);
-
-            $name = new Twig_Node_Expression_Constant($token->getValue(), $token->getLine());
-            if (!$this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, '(')) {
-                $arguments = new Twig_Node();
-            } else {
-                $arguments = $this->parseArguments(true);
-            }
-
-            $class = $this->getFilterNodeClass($name->getAttribute('value'), $token->getLine());
-
-            $node = new $class($node, $name, $arguments, $token->getLine(), $tag);
-
-            if (!$this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, '|')) {
-                break;
-            }
-
-            $this->parser->getStream()->next();
-        }
-
-        return $node;
-    }
-
-    /**
-     * Parses arguments.
-     *
-     * @param Boolean $namedArguments Whether to allow named arguments or not
-     * @param Boolean $definition     Whether we are parsing arguments for a function definition
-     */
-    public function parseArguments($namedArguments = false, $definition = false)
-    {
-        $args = array();
-        $stream = $this->parser->getStream();
-
-        $stream->expect(Twig_Token::PUNCTUATION_TYPE, '(', 'A list of arguments must begin with an opening parenthesis');
-        while (!$stream->test(Twig_Token::PUNCTUATION_TYPE, ')')) {
-            if (!empty($args)) {
-                $stream->expect(Twig_Token::PUNCTUATION_TYPE, ',', 'Arguments must be separated by a comma');
-            }
-
-            if ($definition) {
-                $token = $stream->expect(Twig_Token::NAME_TYPE, null, 'An argument must be a name');
-                $value = new Twig_Node_Expression_Name($token->getValue(), $this->parser->getCurrentToken()->getLine());
-            } else {
-                $value = $this->parseExpression();
-            }
-
-            $name = null;
-            if ($namedArguments && $stream->test(Twig_Token::OPERATOR_TYPE, '=')) {
-                $token = $stream->next();
-                if (!$value instanceof Twig_Node_Expression_Name) {
-                    throw new Twig_Error_Syntax(sprintf('A parameter name must be a string, "%s" given', get_class($value)), $token->getLine(), $this->parser->getFilename());
-                }
-                $name = $value->getAttribute('name');
-
-                if ($definition) {
-                    $value = $this->parsePrimaryExpression();
-
-                    if (!$this->checkConstantExpression($value)) {
-                        throw new Twig_Error_Syntax(sprintf('A default value for an argument must be a constant (a boolean, a string, a number, or an array).'), $token->getLine(), $this->parser->getFilename());
-                    }
-                } else {
-                    $value = $this->parseExpression();
-                }
-            }
-
-            if ($definition) {
-                if (null === $name) {
-                    $name = $value->getAttribute('name');
-                    $value = new Twig_Node_Expression_Constant(null, $this->parser->getCurrentToken()->getLine());
-                }
-                $args[$name] = $value;
-            } else {
-                if (null === $name) {
-                    $args[] = $value;
-                } else {
-                    $args[$name] = $value;
-                }
-            }
-        }
-        $stream->expect(Twig_Token::PUNCTUATION_TYPE, ')', 'A list of arguments must be closed by a parenthesis');
-
-        return new Twig_Node($args);
-    }
-
-    public function parseAssignmentExpression()
-    {
-        $targets = array();
-        while (true) {
-            $token = $this->parser->getStream()->expect(Twig_Token::NAME_TYPE, null, 'Only variables can be assigned to');
-            if (in_array($token->getValue(), array('true', 'false', 'none'))) {
-                throw new Twig_Error_Syntax(sprintf('You cannot assign a value to "%s"', $token->getValue()), $token->getLine(), $this->parser->getFilename());
-            }
-            $targets[] = new Twig_Node_Expression_AssignName($token->getValue(), $token->getLine());
-
-            if (!$this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, ',')) {
-                break;
-            }
-            $this->parser->getStream()->next();
-        }
-
-        return new Twig_Node($targets);
-    }
-
-    public function parseMultitargetExpression()
-    {
-        $targets = array();
-        while (true) {
-            $targets[] = $this->parseExpression();
-            if (!$this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, ',')) {
-                break;
-            }
-            $this->parser->getStream()->next();
-        }
-
-        return new Twig_Node($targets);
-    }
-
-    protected function getFunctionNodeClass($name, $line)
-    {
-        $env = $this->parser->getEnvironment();
-
-        if (false === $function = $env->getFunction($name)) {
-            $message = sprintf('The function "%s" does not exist', $name);
-            if ($alternatives = $env->computeAlternatives($name, array_keys($env->getFunctions()))) {
-                $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
-            }
-
-            throw new Twig_Error_Syntax($message, $line, $this->parser->getFilename());
-        }
-
-        if ($function instanceof Twig_SimpleFunction) {
-            return $function->getNodeClass();
-        }
-
-        return $function instanceof Twig_Function_Node ? $function->getClass() : 'Twig_Node_Expression_Function';
-    }
-
-    protected function getFilterNodeClass($name, $line)
-    {
-        $env = $this->parser->getEnvironment();
-
-        if (false === $filter = $env->getFilter($name)) {
-            $message = sprintf('The filter "%s" does not exist', $name);
-            if ($alternatives = $env->computeAlternatives($name, array_keys($env->getFilters()))) {
-                $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
-            }
-
-            throw new Twig_Error_Syntax($message, $line, $this->parser->getFilename());
-        }
-
-        if ($filter instanceof Twig_SimpleFilter) {
-            return $filter->getNodeClass();
-        }
-
-        return $filter instanceof Twig_Filter_Node ? $filter->getClass() : 'Twig_Node_Expression_Filter';
-    }
-
-    // checks that the node only contains "constant" elements
-    protected function checkConstantExpression(Twig_NodeInterface $node)
-    {
-        if (!($node instanceof Twig_Node_Expression_Constant || $node instanceof Twig_Node_Expression_Array)) {
-            return false;
-        }
-
-        foreach ($node as $n) {
-            if (!$this->checkConstantExpression($n)) {
-                return false;
-            }
-        }
-
-        return true;
-    }
-}
diff --git a/lib/Twig/Extension.php b/lib/Twig/Extension.php
deleted file mode 100644
index 931fc0338ca..00000000000
--- a/lib/Twig/Extension.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-abstract class Twig_Extension implements Twig_ExtensionInterface
-{
-    /**
-     * Initializes the runtime environment.
-     *
-     * This is where you can load some file that contains filter functions for instance.
-     *
-     * @param Twig_Environment $environment The current Twig_Environment instance
-     */
-    public function initRuntime(Twig_Environment $environment)
-    {
-    }
-
-    /**
-     * Returns the token parser instances to add to the existing list.
-     *
-     * @return array An array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances
-     */
-    public function getTokenParsers()
-    {
-        return array();
-    }
-
-    /**
-     * Returns the node visitor instances to add to the existing list.
-     *
-     * @return array An array of Twig_NodeVisitorInterface instances
-     */
-    public function getNodeVisitors()
-    {
-        return array();
-    }
-
-    /**
-     * Returns a list of filters to add to the existing list.
-     *
-     * @return array An array of filters
-     */
-    public function getFilters()
-    {
-        return array();
-    }
-
-    /**
-     * Returns a list of tests to add to the existing list.
-     *
-     * @return array An array of tests
-     */
-    public function getTests()
-    {
-        return array();
-    }
-
-    /**
-     * Returns a list of functions to add to the existing list.
-     *
-     * @return array An array of functions
-     */
-    public function getFunctions()
-    {
-        return array();
-    }
-
-    /**
-     * Returns a list of operators to add to the existing list.
-     *
-     * @return array An array of operators
-     */
-    public function getOperators()
-    {
-        return array();
-    }
-
-    /**
-     * Returns a list of global variables to add to the existing list.
-     *
-     * @return array An array of global variables
-     */
-    public function getGlobals()
-    {
-        return array();
-    }
-}
diff --git a/lib/Twig/Extension/Core.php b/lib/Twig/Extension/Core.php
deleted file mode 100644
index c3ca51a1ec7..00000000000
--- a/lib/Twig/Extension/Core.php
+++ /dev/null
@@ -1,1355 +0,0 @@
-<?php
-
-if (!defined('ENT_SUBSTITUTE')) {
-    define('ENT_SUBSTITUTE', 8);
-}
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Extension_Core extends Twig_Extension
-{
-    protected $dateFormats = array('F j, Y H:i', '%d days');
-    protected $numberFormat = array(0, '.', ',');
-    protected $timezone = null;
-
-    /**
-     * Sets the default format to be used by the date filter.
-     *
-     * @param string $format             The default date format string
-     * @param string $dateIntervalFormat The default date interval format string
-     */
-    public function setDateFormat($format = null, $dateIntervalFormat = null)
-    {
-        if (null !== $format) {
-            $this->dateFormats[0] = $format;
-        }
-
-        if (null !== $dateIntervalFormat) {
-            $this->dateFormats[1] = $dateIntervalFormat;
-        }
-    }
-
-    /**
-     * Gets the default format to be used by the date filter.
-     *
-     * @return array The default date format string and the default date interval format string
-     */
-    public function getDateFormat()
-    {
-        return $this->dateFormats;
-    }
-
-    /**
-     * Sets the default timezone to be used by the date filter.
-     *
-     * @param DateTimeZone|string $timezone The default timezone string or a DateTimeZone object
-     */
-    public function setTimezone($timezone)
-    {
-        $this->timezone = $timezone instanceof DateTimeZone ? $timezone : new DateTimeZone($timezone);
-    }
-
-    /**
-     * Gets the default timezone to be used by the date filter.
-     *
-     * @return DateTimeZone The default timezone currently in use
-     */
-    public function getTimezone()
-    {
-        if (null === $this->timezone) {
-            $this->timezone = new DateTimeZone(date_default_timezone_get());
-        }
-
-        return $this->timezone;
-    }
-
-    /**
-     * Sets the default format to be used by the number_format filter.
-     *
-     * @param integer $decimal      The number of decimal places to use.
-     * @param string  $decimalPoint The character(s) to use for the decimal point.
-     * @param string  $thousandSep  The character(s) to use for the thousands separator.
-     */
-    public function setNumberFormat($decimal, $decimalPoint, $thousandSep)
-    {
-        $this->numberFormat = array($decimal, $decimalPoint, $thousandSep);
-    }
-
-    /**
-     * Get the default format used by the number_format filter.
-     *
-     * @return array The arguments for number_format()
-     */
-    public function getNumberFormat()
-    {
-        return $this->numberFormat;
-    }
-
-    /**
-     * Returns the token parser instance to add to the existing list.
-     *
-     * @return array An array of Twig_TokenParser instances
-     */
-    public function getTokenParsers()
-    {
-        return array(
-            new Twig_TokenParser_For(),
-            new Twig_TokenParser_If(),
-            new Twig_TokenParser_Extends(),
-            new Twig_TokenParser_Include(),
-            new Twig_TokenParser_Block(),
-            new Twig_TokenParser_Use(),
-            new Twig_TokenParser_Filter(),
-            new Twig_TokenParser_Macro(),
-            new Twig_TokenParser_Import(),
-            new Twig_TokenParser_From(),
-            new Twig_TokenParser_Set(),
-            new Twig_TokenParser_Spaceless(),
-            new Twig_TokenParser_Flush(),
-            new Twig_TokenParser_Do(),
-            new Twig_TokenParser_Embed(),
-        );
-    }
-
-    /**
-     * Returns a list of filters to add to the existing list.
-     *
-     * @return array An array of filters
-     */
-    public function getFilters()
-    {
-        $filters = array(
-            // formatting filters
-            new Twig_SimpleFilter('date', 'twig_date_format_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('date_modify', 'twig_date_modify_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('format', 'sprintf'),
-            new Twig_SimpleFilter('replace', 'strtr'),
-            new Twig_SimpleFilter('number_format', 'twig_number_format_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('abs', 'abs'),
-
-            // encoding
-            new Twig_SimpleFilter('url_encode', 'twig_urlencode_filter'),
-            new Twig_SimpleFilter('json_encode', 'twig_jsonencode_filter'),
-            new Twig_SimpleFilter('convert_encoding', 'twig_convert_encoding'),
-
-            // string filters
-            new Twig_SimpleFilter('title', 'twig_title_string_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('capitalize', 'twig_capitalize_string_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('upper', 'strtoupper'),
-            new Twig_SimpleFilter('lower', 'strtolower'),
-            new Twig_SimpleFilter('striptags', 'strip_tags'),
-            new Twig_SimpleFilter('trim', 'trim'),
-            new Twig_SimpleFilter('nl2br', 'nl2br', array('pre_escape' => 'html', 'is_safe' => array('html'))),
-
-            // array helpers
-            new Twig_SimpleFilter('join', 'twig_join_filter'),
-            new Twig_SimpleFilter('split', 'twig_split_filter'),
-            new Twig_SimpleFilter('sort', 'twig_sort_filter'),
-            new Twig_SimpleFilter('merge', 'twig_array_merge'),
-            new Twig_SimpleFilter('batch', 'twig_array_batch'),
-
-            // string/array filters
-            new Twig_SimpleFilter('reverse', 'twig_reverse_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('length', 'twig_length_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('slice', 'twig_slice', array('needs_environment' => true)),
-            new Twig_SimpleFilter('first', 'twig_first', array('needs_environment' => true)),
-            new Twig_SimpleFilter('last', 'twig_last', array('needs_environment' => true)),
-
-            // iteration and runtime
-            new Twig_SimpleFilter('default', '_twig_default_filter', array('node_class' => 'Twig_Node_Expression_Filter_Default')),
-            new Twig_SimpleFilter('keys', 'twig_get_array_keys_filter'),
-
-            // escaping
-            new Twig_SimpleFilter('escape', 'twig_escape_filter', array('needs_environment' => true, 'is_safe_callback' => 'twig_escape_filter_is_safe')),
-            new Twig_SimpleFilter('e', 'twig_escape_filter', array('needs_environment' => true, 'is_safe_callback' => 'twig_escape_filter_is_safe')),
-        );
-
-        if (function_exists('mb_get_info')) {
-            $filters[] = new Twig_SimpleFilter('upper', 'twig_upper_filter', array('needs_environment' => true));
-            $filters[] = new Twig_SimpleFilter('lower', 'twig_lower_filter', array('needs_environment' => true));
-        }
-
-        return $filters;
-    }
-
-    /**
-     * Returns a list of global functions to add to the existing list.
-     *
-     * @return array An array of global functions
-     */
-    public function getFunctions()
-    {
-        return array(
-            new Twig_SimpleFunction('range', 'range'),
-            new Twig_SimpleFunction('constant', 'twig_constant'),
-            new Twig_SimpleFunction('cycle', 'twig_cycle'),
-            new Twig_SimpleFunction('random', 'twig_random', array('needs_environment' => true)),
-            new Twig_SimpleFunction('date', 'twig_date_converter', array('needs_environment' => true)),
-            new Twig_SimpleFunction('include', 'twig_include', array('needs_environment' => true, 'needs_context' => true)),
-        );
-    }
-
-    /**
-     * Returns a list of tests to add to the existing list.
-     *
-     * @return array An array of tests
-     */
-    public function getTests()
-    {
-        return array(
-            new Twig_SimpleTest('even', null, array('node_class' => 'Twig_Node_Expression_Test_Even')),
-            new Twig_SimpleTest('odd', null, array('node_class' => 'Twig_Node_Expression_Test_Odd')),
-            new Twig_SimpleTest('defined', null, array('node_class' => 'Twig_Node_Expression_Test_Defined')),
-            new Twig_SimpleTest('sameas', null, array('node_class' => 'Twig_Node_Expression_Test_Sameas')),
-            new Twig_SimpleTest('none', null, array('node_class' => 'Twig_Node_Expression_Test_Null')),
-            new Twig_SimpleTest('null', null, array('node_class' => 'Twig_Node_Expression_Test_Null')),
-            new Twig_SimpleTest('divisibleby', null, array('node_class' => 'Twig_Node_Expression_Test_Divisibleby')),
-            new Twig_SimpleTest('constant', null, array('node_class' => 'Twig_Node_Expression_Test_Constant')),
-            new Twig_SimpleTest('empty', 'twig_test_empty'),
-            new Twig_SimpleTest('iterable', 'twig_test_iterable'),
-        );
-    }
-
-    /**
-     * Returns a list of operators to add to the existing list.
-     *
-     * @return array An array of operators
-     */
-    public function getOperators()
-    {
-        return array(
-            array(
-                'not' => array('precedence' => 50, 'class' => 'Twig_Node_Expression_Unary_Not'),
-                '-'   => array('precedence' => 500, 'class' => 'Twig_Node_Expression_Unary_Neg'),
-                '+'   => array('precedence' => 500, 'class' => 'Twig_Node_Expression_Unary_Pos'),
-            ),
-            array(
-                'or'     => array('precedence' => 10, 'class' => 'Twig_Node_Expression_Binary_Or', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'and'    => array('precedence' => 15, 'class' => 'Twig_Node_Expression_Binary_And', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'b-or'   => array('precedence' => 16, 'class' => 'Twig_Node_Expression_Binary_BitwiseOr', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'b-xor'  => array('precedence' => 17, 'class' => 'Twig_Node_Expression_Binary_BitwiseXor', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'b-and'  => array('precedence' => 18, 'class' => 'Twig_Node_Expression_Binary_BitwiseAnd', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '=='     => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_Equal', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '!='     => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_NotEqual', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '<'      => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_Less', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '>'      => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_Greater', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '>='     => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_GreaterEqual', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '<='     => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_LessEqual', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'not in' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_NotIn', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'in'     => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_In', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '..'     => array('precedence' => 25, 'class' => 'Twig_Node_Expression_Binary_Range', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '+'      => array('precedence' => 30, 'class' => 'Twig_Node_Expression_Binary_Add', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '-'      => array('precedence' => 30, 'class' => 'Twig_Node_Expression_Binary_Sub', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '~'      => array('precedence' => 40, 'class' => 'Twig_Node_Expression_Binary_Concat', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '*'      => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_Mul', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '/'      => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_Div', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '//'     => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_FloorDiv', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '%'      => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_Mod', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'is'     => array('precedence' => 100, 'callable' => array($this, 'parseTestExpression'), 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'is not' => array('precedence' => 100, 'callable' => array($this, 'parseNotTestExpression'), 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '**'     => array('precedence' => 200, 'class' => 'Twig_Node_Expression_Binary_Power', 'associativity' => Twig_ExpressionParser::OPERATOR_RIGHT),
-            ),
-        );
-    }
-
-    public function parseNotTestExpression(Twig_Parser $parser, $node)
-    {
-        return new Twig_Node_Expression_Unary_Not($this->parseTestExpression($parser, $node), $parser->getCurrentToken()->getLine());
-    }
-
-    public function parseTestExpression(Twig_Parser $parser, $node)
-    {
-        $stream = $parser->getStream();
-        $name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
-        $arguments = null;
-        if ($stream->test(Twig_Token::PUNCTUATION_TYPE, '(')) {
-            $arguments = $parser->getExpressionParser()->parseArguments(true);
-        }
-
-        $class = $this->getTestNodeClass($parser, $name, $node->getLine());
-
-        return new $class($node, $name, $arguments, $parser->getCurrentToken()->getLine());
-    }
-
-    protected function getTestNodeClass(Twig_Parser $parser, $name, $line)
-    {
-        $env = $parser->getEnvironment();
-        $testMap = $env->getTests();
-        if (!isset($testMap[$name])) {
-            $message = sprintf('The test "%s" does not exist', $name);
-            if ($alternatives = $env->computeAlternatives($name, array_keys($env->getTests()))) {
-                $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
-            }
-
-            throw new Twig_Error_Syntax($message, $line, $parser->getFilename());
-        }
-
-        if ($testMap[$name] instanceof Twig_SimpleTest) {
-            return $testMap[$name]->getNodeClass();
-        }
-
-        return $testMap[$name] instanceof Twig_Test_Node ? $testMap[$name]->getClass() : 'Twig_Node_Expression_Test';
-    }
-
-    /**
-     * Returns the name of the extension.
-     *
-     * @return string The extension name
-     */
-    public function getName()
-    {
-        return 'core';
-    }
-}
-
-/**
- * Cycles over a value.
- *
- * @param ArrayAccess|array $values   An array or an ArrayAccess instance
- * @param integer           $position The cycle position
- *
- * @return string The next value in the cycle
- */
-function twig_cycle($values, $position)
-{
-    if (!is_array($values) && !$values instanceof ArrayAccess) {
-        return $values;
-    }
-
-    return $values[$position % count($values)];
-}
-
-/**
- * Returns a random value depending on the supplied parameter type:
- * - a random item from a Traversable or array
- * - a random character from a string
- * - a random integer between 0 and the integer parameter
- *
- * @param Twig_Environment                 $env    A Twig_Environment instance
- * @param Traversable|array|integer|string $values The values to pick a random item from
- *
- * @throws Twig_Error_Runtime When $values is an empty array (does not apply to an empty string which is returned as is).
- *
- * @return mixed A random value from the given sequence
- */
-function twig_random(Twig_Environment $env, $values = null)
-{
-    if (null === $values) {
-        return mt_rand();
-    }
-
-    if (is_int($values) || is_float($values)) {
-        return $values < 0 ? mt_rand($values, 0) : mt_rand(0, $values);
-    }
-
-    if ($values instanceof Traversable) {
-        $values = iterator_to_array($values);
-    } elseif (is_string($values)) {
-        if ('' === $values) {
-            return '';
-        }
-        if (null !== $charset = $env->getCharset()) {
-            if ('UTF-8' != $charset) {
-                $values = twig_convert_encoding($values, 'UTF-8', $charset);
-            }
-
-            // unicode version of str_split()
-            // split at all positions, but not after the start and not before the end
-            $values = preg_split('/(?<!^)(?!$)/u', $values);
-
-            if ('UTF-8' != $charset) {
-                foreach ($values as $i => $value) {
-                    $values[$i] = twig_convert_encoding($value, $charset, 'UTF-8');
-                }
-            }
-        } else {
-            return $values[mt_rand(0, strlen($values) - 1)];
-        }
-    }
-
-    if (!is_array($values)) {
-        return $values;
-    }
-
-    if (0 === count($values)) {
-        throw new Twig_Error_Runtime('The random function cannot pick from an empty array.');
-    }
-
-    return $values[array_rand($values, 1)];
-}
-
-/**
- * Converts a date to the given format.
- *
- * <pre>
- *   {{ post.published_at|date("m/d/Y") }}
- * </pre>
- *
- * @param Twig_Environment             $env      A Twig_Environment instance
- * @param DateTime|DateInterval|string $date     A date
- * @param string                       $format   A format
- * @param DateTimeZone|string          $timezone A timezone
- *
- * @return string The formatted date
- */
-function twig_date_format_filter(Twig_Environment $env, $date, $format = null, $timezone = null)
-{
-    if (null === $format) {
-        $formats = $env->getExtension('core')->getDateFormat();
-        $format = $date instanceof DateInterval ? $formats[1] : $formats[0];
-    }
-
-    if ($date instanceof DateInterval) {
-        return $date->format($format);
-    }
-
-    return twig_date_converter($env, $date, $timezone)->format($format);
-}
-
-/**
- * Returns a new date object modified
- *
- * <pre>
- *   {{ post.published_at|date_modify("-1day")|date("m/d/Y") }}
- * </pre>
- *
- * @param Twig_Environment  $env      A Twig_Environment instance
- * @param DateTime|string   $date     A date
- * @param string            $modifier A modifier string
- *
- * @return DateTime A new date object
- */
-function twig_date_modify_filter(Twig_Environment $env, $date, $modifier)
-{
-    $date = twig_date_converter($env, $date, false);
-    $date->modify($modifier);
-
-    return $date;
-}
-
-/**
- * Converts an input to a DateTime instance.
- *
- * <pre>
- *    {% if date(user.created_at) < date('+2days') %}
- *      {# do something #}
- *    {% endif %}
- * </pre>
- *
- * @param Twig_Environment    $env      A Twig_Environment instance
- * @param DateTime|string     $date     A date
- * @param DateTimeZone|string $timezone A timezone
- *
- * @return DateTime A DateTime instance
- */
-function twig_date_converter(Twig_Environment $env, $date = null, $timezone = null)
-{
-    // determine the timezone
-    if (!$timezone) {
-        $defaultTimezone = $env->getExtension('core')->getTimezone();
-    } elseif (!$timezone instanceof DateTimeZone) {
-        $defaultTimezone = new DateTimeZone($timezone);
-    } else {
-        $defaultTimezone = $timezone;
-    }
-
-    if ($date instanceof DateTime) {
-        $date = clone $date;
-        if (false !== $timezone) {
-            $date->setTimezone($defaultTimezone);
-        }
-
-        return $date;
-    }
-
-    $asString = (string) $date;
-    if (ctype_digit($asString) || (!empty($asString) && '-' === $asString[0] && ctype_digit(substr($asString, 1)))) {
-        $date = '@'.$date;
-    }
-
-    $date = new DateTime($date, $defaultTimezone);
-    if (false !== $timezone) {
-        $date->setTimezone($defaultTimezone);
-    }
-
-    return $date;
-}
-
-/**
- * Number format filter.
- *
- * All of the formatting options can be left null, in that case the defaults will
- * be used.  Supplying any of the parameters will override the defaults set in the
- * environment object.
- *
- * @param Twig_Environment    $env          A Twig_Environment instance
- * @param mixed               $number       A float/int/string of the number to format
- * @param integer             $decimal      The number of decimal points to display.
- * @param string              $decimalPoint The character(s) to use for the decimal point.
- * @param string              $thousandSep  The character(s) to use for the thousands separator.
- *
- * @return string The formatted number
- */
-function twig_number_format_filter(Twig_Environment $env, $number, $decimal = null, $decimalPoint = null, $thousandSep = null)
-{
-    $defaults = $env->getExtension('core')->getNumberFormat();
-    if (null === $decimal) {
-        $decimal = $defaults[0];
-    }
-
-    if (null === $decimalPoint) {
-        $decimalPoint = $defaults[1];
-    }
-
-    if (null === $thousandSep) {
-        $thousandSep = $defaults[2];
-    }
-
-    return number_format((float) $number, $decimal, $decimalPoint, $thousandSep);
-}
-
-/**
- * URL encodes a string as a path segment or an array as a query string.
- *
- * @param string|array $url A URL or an array of query parameters
- * @param bool         $raw true to use rawurlencode() instead of urlencode
- *
- * @return string The URL encoded value
- */
-function twig_urlencode_filter($url, $raw = false)
-{
-    if (is_array($url)) {
-        return http_build_query($url, '', '&');
-    }
-
-    if ($raw) {
-        return rawurlencode($url);
-    }
-
-    return urlencode($url);
-}
-
-if (version_compare(PHP_VERSION, '5.3.0', '<')) {
-    /**
-     * JSON encodes a variable.
-     *
-     * @param mixed   $value   The value to encode.
-     * @param integer $options Not used on PHP 5.2.x
-     *
-     * @return mixed The JSON encoded value
-     */
-    function twig_jsonencode_filter($value, $options = 0)
-    {
-        if ($value instanceof Twig_Markup) {
-            $value = (string) $value;
-        } elseif (is_array($value)) {
-            array_walk_recursive($value, '_twig_markup2string');
-        }
-
-        return json_encode($value);
-    }
-} else {
-    /**
-     * JSON encodes a variable.
-     *
-     * @param mixed   $value   The value to encode.
-     * @param integer $options Bitmask consisting of JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT
-     *
-     * @return mixed The JSON encoded value
-     */
-    function twig_jsonencode_filter($value, $options = 0)
-    {
-        if ($value instanceof Twig_Markup) {
-            $value = (string) $value;
-        } elseif (is_array($value)) {
-            array_walk_recursive($value, '_twig_markup2string');
-        }
-
-        return json_encode($value, $options);
-    }
-}
-
-function _twig_markup2string(&$value)
-{
-    if ($value instanceof Twig_Markup) {
-        $value = (string) $value;
-    }
-}
-
-/**
- * Merges an array with another one.
- *
- * <pre>
- *  {% set items = { 'apple': 'fruit', 'orange': 'fruit' } %}
- *
- *  {% set items = items|merge({ 'peugeot': 'car' }) %}
- *
- *  {# items now contains { 'apple': 'fruit', 'orange': 'fruit', 'peugeot': 'car' } #}
- * </pre>
- *
- * @param array $arr1 An array
- * @param array $arr2 An array
- *
- * @return array The merged array
- */
-function twig_array_merge($arr1, $arr2)
-{
-    if (!is_array($arr1) || !is_array($arr2)) {
-        throw new Twig_Error_Runtime('The merge filter only works with arrays or hashes.');
-    }
-
-    return array_merge($arr1, $arr2);
-}
-
-/**
- * Slices a variable.
- *
- * @param Twig_Environment $env          A Twig_Environment instance
- * @param mixed            $item         A variable
- * @param integer          $start        Start of the slice
- * @param integer          $length       Size of the slice
- * @param Boolean          $preserveKeys Whether to preserve key or not (when the input is an array)
- *
- * @return mixed The sliced variable
- */
-function twig_slice(Twig_Environment $env, $item, $start, $length = null, $preserveKeys = false)
-{
-    if ($item instanceof Traversable) {
-        $item = iterator_to_array($item, false);
-    }
-
-    if (is_array($item)) {
-        return array_slice($item, $start, $length, $preserveKeys);
-    }
-
-    $item = (string) $item;
-
-    if (function_exists('mb_get_info') && null !== $charset = $env->getCharset()) {
-        return mb_substr($item, $start, null === $length ? mb_strlen($item, $charset) - $start : $length, $charset);
-    }
-
-    return null === $length ? substr($item, $start) : substr($item, $start, $length);
-}
-
-/**
- * Returns the first element of the item.
- *
- * @param Twig_Environment $env  A Twig_Environment instance
- * @param mixed            $item A variable
- *
- * @return mixed The first element of the item
- */
-function twig_first(Twig_Environment $env, $item)
-{
-    $elements = twig_slice($env, $item, 0, 1, false);
-
-    return is_string($elements) ? $elements[0] : current($elements);
-}
-
-/**
- * Returns the last element of the item.
- *
- * @param Twig_Environment $env  A Twig_Environment instance
- * @param mixed            $item A variable
- *
- * @return mixed The last element of the item
- */
-function twig_last(Twig_Environment $env, $item)
-{
-    $elements = twig_slice($env, $item, -1, 1, false);
-
-    return is_string($elements) ? $elements[0] : current($elements);
-}
-
-/**
- * Joins the values to a string.
- *
- * The separator between elements is an empty string per default, you can define it with the optional parameter.
- *
- * <pre>
- *  {{ [1, 2, 3]|join('|') }}
- *  {# returns 1|2|3 #}
- *
- *  {{ [1, 2, 3]|join }}
- *  {# returns 123 #}
- * </pre>
- *
- * @param array  $value An array
- * @param string $glue  The separator
- *
- * @return string The concatenated string
- */
-function twig_join_filter($value, $glue = '')
-{
-    if ($value instanceof Traversable) {
-        $value = iterator_to_array($value, false);
-    }
-
-    return implode($glue, (array) $value);
-}
-
-/**
- * Splits the string into an array.
- *
- * <pre>
- *  {{ "one,two,three"|split(',') }}
- *  {# returns [one, two, three] #}
- *
- *  {{ "one,two,three,four,five"|split(',', 3) }}
- *  {# returns [one, two, "three,four,five"] #}
- *
- *  {{ "123"|split('') }}
- *  {# returns [1, 2, 3] #}
- *
- *  {{ "aabbcc"|split('', 2) }}
- *  {# returns [aa, bb, cc] #}
- * </pre>
- *
- * @param string  $value     A string
- * @param string  $delimiter The delimiter
- * @param integer $limit     The limit
- *
- * @return array The split string as an array
- */
-function twig_split_filter($value, $delimiter, $limit = null)
-{
-    if (empty($delimiter)) {
-        return str_split($value, null === $limit ? 1 : $limit);
-    }
-
-    return null === $limit ? explode($delimiter, $value) : explode($delimiter, $value, $limit);
-}
-
-// The '_default' filter is used internally to avoid using the ternary operator
-// which costs a lot for big contexts (before PHP 5.4). So, on average,
-// a function call is cheaper.
-function _twig_default_filter($value, $default = '')
-{
-    if (twig_test_empty($value)) {
-        return $default;
-    }
-
-    return $value;
-}
-
-/**
- * Returns the keys for the given array.
- *
- * It is useful when you want to iterate over the keys of an array:
- *
- * <pre>
- *  {% for key in array|keys %}
- *      {# ... #}
- *  {% endfor %}
- * </pre>
- *
- * @param array $array An array
- *
- * @return array The keys
- */
-function twig_get_array_keys_filter($array)
-{
-    if (is_object($array) && $array instanceof Traversable) {
-        return array_keys(iterator_to_array($array));
-    }
-
-    if (!is_array($array)) {
-        return array();
-    }
-
-    return array_keys($array);
-}
-
-/**
- * Reverses a variable.
- *
- * @param Twig_Environment         $env          A Twig_Environment instance
- * @param array|Traversable|string $item         An array, a Traversable instance, or a string
- * @param Boolean                  $preserveKeys Whether to preserve key or not
- *
- * @return mixed The reversed input
- */
-function twig_reverse_filter(Twig_Environment $env, $item, $preserveKeys = false)
-{
-    if (is_object($item) && $item instanceof Traversable) {
-        return array_reverse(iterator_to_array($item), $preserveKeys);
-    }
-
-    if (is_array($item)) {
-        return array_reverse($item, $preserveKeys);
-    }
-
-    if (null !== $charset = $env->getCharset()) {
-        $string = (string) $item;
-
-        if ('UTF-8' != $charset) {
-            $item = twig_convert_encoding($string, 'UTF-8', $charset);
-        }
-
-        preg_match_all('/./us', $item, $matches);
-
-        $string = implode('', array_reverse($matches[0]));
-
-        if ('UTF-8' != $charset) {
-            $string = twig_convert_encoding($string, $charset, 'UTF-8');
-        }
-
-        return $string;
-    }
-
-    return strrev((string) $item);
-}
-
-/**
- * Sorts an array.
- *
- * @param array $array An array
- */
-function twig_sort_filter($array)
-{
-    asort($array);
-
-    return $array;
-}
-
-/* used internally */
-function twig_in_filter($value, $compare)
-{
-    if (is_array($compare)) {
-        return in_array($value, $compare, is_object($value));
-    } elseif (is_string($compare)) {
-        if (!strlen($value)) {
-            return empty($compare);
-        }
-
-        return false !== strpos($compare, (string) $value);
-    } elseif ($compare instanceof Traversable) {
-        return in_array($value, iterator_to_array($compare, false), is_object($value));
-    }
-
-    return false;
-}
-
-/**
- * Escapes a string.
- *
- * @param Twig_Environment $env        A Twig_Environment instance
- * @param string           $string     The value to be escaped
- * @param string           $strategy   The escaping strategy
- * @param string           $charset    The charset
- * @param Boolean          $autoescape Whether the function is called by the auto-escaping feature (true) or by the developer (false)
- */
-function twig_escape_filter(Twig_Environment $env, $string, $strategy = 'html', $charset = null, $autoescape = false)
-{
-    if ($autoescape && $string instanceof Twig_Markup) {
-        return $string;
-    }
-
-    if (!is_string($string)) {
-        if (is_object($string) && method_exists($string, '__toString')) {
-            $string = (string) $string;
-        } else {
-            return $string;
-        }
-    }
-
-    if (null === $charset) {
-        $charset = $env->getCharset();
-    }
-
-    switch ($strategy) {
-        case 'html':
-            // see http://php.net/htmlspecialchars
-
-            // Using a static variable to avoid initializing the array
-            // each time the function is called. Moving the declaration on the
-            // top of the function slow downs other escaping strategies.
-            static $htmlspecialcharsCharsets = array(
-                'ISO-8859-1' => true, 'ISO8859-1' => true,
-                'ISO-8859-15' => true, 'ISO8859-15' => true,
-                'utf-8' => true, 'UTF-8' => true,
-                'CP866' => true, 'IBM866' => true, '866' => true,
-                'CP1251' => true, 'WINDOWS-1251' => true, 'WIN-1251' => true,
-                '1251' => true,
-                'CP1252' => true, 'WINDOWS-1252' => true, '1252' => true,
-                'KOI8-R' => true, 'KOI8-RU' => true, 'KOI8R' => true,
-                'BIG5' => true, '950' => true,
-                'GB2312' => true, '936' => true,
-                'BIG5-HKSCS' => true,
-                'SHIFT_JIS' => true, 'SJIS' => true, '932' => true,
-                'EUC-JP' => true, 'EUCJP' => true,
-                'ISO8859-5' => true, 'ISO-8859-5' => true, 'MACROMAN' => true,
-            );
-
-            if (isset($htmlspecialcharsCharsets[$charset])) {
-                return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, $charset);
-            }
-
-            if (isset($htmlspecialcharsCharsets[strtoupper($charset)])) {
-                // cache the lowercase variant for future iterations
-                $htmlspecialcharsCharsets[$charset] = true;
-
-                return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, $charset);
-            }
-
-            $string = twig_convert_encoding($string, 'UTF-8', $charset);
-            $string = htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
-
-            return twig_convert_encoding($string, $charset, 'UTF-8');
-
-        case 'js':
-            // escape all non-alphanumeric characters
-            // into their \xHH or \uHHHH representations
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, 'UTF-8', $charset);
-            }
-
-            if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) {
-                throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.');
-            }
-
-            $string = preg_replace_callback('#[^a-zA-Z0-9,\._]#Su', '_twig_escape_js_callback', $string);
-
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, $charset, 'UTF-8');
-            }
-
-            return $string;
-
-        case 'css':
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, 'UTF-8', $charset);
-            }
-
-            if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) {
-                throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.');
-            }
-
-            $string = preg_replace_callback('#[^a-zA-Z0-9]#Su', '_twig_escape_css_callback', $string);
-
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, $charset, 'UTF-8');
-            }
-
-            return $string;
-
-        case 'html_attr':
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, 'UTF-8', $charset);
-            }
-
-            if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) {
-                throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.');
-            }
-
-            $string = preg_replace_callback('#[^a-zA-Z0-9,\.\-_]#Su', '_twig_escape_html_attr_callback', $string);
-
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, $charset, 'UTF-8');
-            }
-
-            return $string;
-
-        case 'url':
-            // hackish test to avoid version_compare that is much slower, this works unless PHP releases a 5.10.*
-            // at that point however PHP 5.2.* support can be removed
-            if (PHP_VERSION < '5.3.0') {
-                return str_replace('%7E', '~', rawurlencode($string));
-            }
-
-            return rawurlencode($string);
-
-        default:
-            throw new Twig_Error_Runtime(sprintf('Invalid escaping strategy "%s" (valid ones: html, js, url, css, and html_attr).', $strategy));
-    }
-}
-
-/* used internally */
-function twig_escape_filter_is_safe(Twig_Node $filterArgs)
-{
-    foreach ($filterArgs as $arg) {
-        if ($arg instanceof Twig_Node_Expression_Constant) {
-            return array($arg->getAttribute('value'));
-        }
-
-        return array();
-    }
-
-    return array('html');
-}
-
-if (function_exists('mb_convert_encoding')) {
-    function twig_convert_encoding($string, $to, $from)
-    {
-        return mb_convert_encoding($string, $to, $from);
-    }
-} elseif (function_exists('iconv')) {
-    function twig_convert_encoding($string, $to, $from)
-    {
-        return iconv($from, $to, $string);
-    }
-} else {
-    function twig_convert_encoding($string, $to, $from)
-    {
-        throw new Twig_Error_Runtime('No suitable convert encoding function (use UTF-8 as your encoding or install the iconv or mbstring extension).');
-    }
-}
-
-function _twig_escape_js_callback($matches)
-{
-    $char = $matches[0];
-
-    // \xHH
-    if (!isset($char[1])) {
-        return '\\x'.strtoupper(substr('00'.bin2hex($char), -2));
-    }
-
-    // \uHHHH
-    $char = twig_convert_encoding($char, 'UTF-16BE', 'UTF-8');
-
-    return '\\u'.strtoupper(substr('0000'.bin2hex($char), -4));
-}
-
-function _twig_escape_css_callback($matches)
-{
-    $char = $matches[0];
-
-    // \xHH
-    if (!isset($char[1])) {
-        $hex = ltrim(strtoupper(bin2hex($char)), '0');
-        if (0 === strlen($hex)) {
-            $hex = '0';
-        }
-
-        return '\\'.$hex.' ';
-    }
-
-    // \uHHHH
-    $char = twig_convert_encoding($char, 'UTF-16BE', 'UTF-8');
-
-    return '\\'.ltrim(strtoupper(bin2hex($char)), '0').' ';
-}
-
-/**
- * This function is adapted from code coming from Zend Framework.
- *
- * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-function _twig_escape_html_attr_callback($matches)
-{
-    /*
-     * While HTML supports far more named entities, the lowest common denominator
-     * has become HTML5's XML Serialisation which is restricted to the those named
-     * entities that XML supports. Using HTML entities would result in this error:
-     *     XML Parsing Error: undefined entity
-     */
-    static $entityMap = array(
-        34 => 'quot', /* quotation mark */
-        38 => 'amp',  /* ampersand */
-        60 => 'lt',   /* less-than sign */
-        62 => 'gt',   /* greater-than sign */
-    );
-
-    $chr = $matches[0];
-    $ord = ord($chr);
-
-    /**
-     * The following replaces characters undefined in HTML with the
-     * hex entity for the Unicode replacement character.
-     */
-    if (($ord <= 0x1f && $chr != "\t" && $chr != "\n" && $chr != "\r") || ($ord >= 0x7f && $ord <= 0x9f)) {
-        return '&#xFFFD;';
-    }
-
-    /**
-     * Check if the current character to escape has a name entity we should
-     * replace it with while grabbing the hex value of the character.
-     */
-    if (strlen($chr) == 1) {
-        $hex = strtoupper(substr('00'.bin2hex($chr), -2));
-    } else {
-        $chr = twig_convert_encoding($chr, 'UTF-16BE', 'UTF-8');
-        $hex = strtoupper(substr('0000'.bin2hex($chr), -4));
-    }
-
-    $int = hexdec($hex);
-    if (array_key_exists($int, $entityMap)) {
-        return sprintf('&%s;', $entityMap[$int]);
-    }
-
-    /**
-     * Per OWASP recommendations, we'll use hex entities for any other
-     * characters where a named entity does not exist.
-     */
-
-    return sprintf('&#x%s;', $hex);
-}
-
-// add multibyte extensions if possible
-if (function_exists('mb_get_info')) {
-    /**
-     * Returns the length of a variable.
-     *
-     * @param Twig_Environment $env   A Twig_Environment instance
-     * @param mixed            $thing A variable
-     *
-     * @return integer The length of the value
-     */
-    function twig_length_filter(Twig_Environment $env, $thing)
-    {
-        return is_scalar($thing) ? mb_strlen($thing, $env->getCharset()) : count($thing);
-    }
-
-    /**
-     * Converts a string to uppercase.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The uppercased string
-     */
-    function twig_upper_filter(Twig_Environment $env, $string)
-    {
-        if (null !== ($charset = $env->getCharset())) {
-            return mb_strtoupper($string, $charset);
-        }
-
-        return strtoupper($string);
-    }
-
-    /**
-     * Converts a string to lowercase.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The lowercased string
-     */
-    function twig_lower_filter(Twig_Environment $env, $string)
-    {
-        if (null !== ($charset = $env->getCharset())) {
-            return mb_strtolower($string, $charset);
-        }
-
-        return strtolower($string);
-    }
-
-    /**
-     * Returns a titlecased string.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The titlecased string
-     */
-    function twig_title_string_filter(Twig_Environment $env, $string)
-    {
-        if (null !== ($charset = $env->getCharset())) {
-            return mb_convert_case($string, MB_CASE_TITLE, $charset);
-        }
-
-        return ucwords(strtolower($string));
-    }
-
-    /**
-     * Returns a capitalized string.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The capitalized string
-     */
-    function twig_capitalize_string_filter(Twig_Environment $env, $string)
-    {
-        if (null !== ($charset = $env->getCharset())) {
-            return mb_strtoupper(mb_substr($string, 0, 1, $charset), $charset).
-                         mb_strtolower(mb_substr($string, 1, mb_strlen($string, $charset), $charset), $charset);
-        }
-
-        return ucfirst(strtolower($string));
-    }
-}
-// and byte fallback
-else {
-    /**
-     * Returns the length of a variable.
-     *
-     * @param Twig_Environment $env   A Twig_Environment instance
-     * @param mixed            $thing A variable
-     *
-     * @return integer The length of the value
-     */
-    function twig_length_filter(Twig_Environment $env, $thing)
-    {
-        return is_scalar($thing) ? strlen($thing) : count($thing);
-    }
-
-    /**
-     * Returns a titlecased string.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The titlecased string
-     */
-    function twig_title_string_filter(Twig_Environment $env, $string)
-    {
-        return ucwords(strtolower($string));
-    }
-
-    /**
-     * Returns a capitalized string.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The capitalized string
-     */
-    function twig_capitalize_string_filter(Twig_Environment $env, $string)
-    {
-        return ucfirst(strtolower($string));
-    }
-}
-
-/* used internally */
-function twig_ensure_traversable($seq)
-{
-    if ($seq instanceof Traversable || is_array($seq)) {
-        return $seq;
-    }
-
-    return array();
-}
-
-/**
- * Checks if a variable is empty.
- *
- * <pre>
- * {# evaluates to true if the foo variable is null, false, or the empty string #}
- * {% if foo is empty %}
- *     {# ... #}
- * {% endif %}
- * </pre>
- *
- * @param mixed $value A variable
- *
- * @return Boolean true if the value is empty, false otherwise
- */
-function twig_test_empty($value)
-{
-    if ($value instanceof Countable) {
-        return 0 == count($value);
-    }
-
-    return '' === $value || false === $value || null === $value || array() === $value;
-}
-
-/**
- * Checks if a variable is traversable.
- *
- * <pre>
- * {# evaluates to true if the foo variable is an array or a traversable object #}
- * {% if foo is traversable %}
- *     {# ... #}
- * {% endif %}
- * </pre>
- *
- * @param mixed $value A variable
- *
- * @return Boolean true if the value is traversable
- */
-function twig_test_iterable($value)
-{
-    return $value instanceof Traversable || is_array($value);
-}
-
-/**
- * Renders a template.
- *
- * @param string  template       The template to render
- * @param array   variables      The variables to pass to the template
- * @param Boolean with_context   Whether to pass the current context variables or not
- * @param Boolean ignore_missing Whether to ignore missing templates or not
- * @param Boolean sandboxed      Whether to sandbox the template or not
- *
- * @return string The rendered template
- */
-function twig_include(Twig_Environment $env, $context, $template, $variables = array(), $withContext = true, $ignoreMissing = false, $sandboxed = false)
-{
-    if ($withContext) {
-        $variables = array_merge($context, $variables);
-    }
-
-    if ($isSandboxed = $sandboxed && $env->hasExtension('sandbox')) {
-        $sandbox = $env->getExtension('sandbox');
-        if (!$alreadySandboxed = $sandbox->isSandboxed()) {
-            $sandbox->enableSandbox();
-        }
-    }
-
-    try {
-        return $env->resolveTemplate($template)->display($variables);
-    } catch (Twig_Error_Loader $e) {
-        if (!$ignoreMissing) {
-            throw $e;
-        }
-    }
-
-    if ($isSandboxed && !$alreadySandboxed) {
-        $sandbox->disableSandbox();
-    }
-}
-
-/**
- * Provides the ability to get constants from instances as well as class/global constants.
- *
- * @param string      $constant The name of the constant
- * @param null|object $object   The object to get the constant from
- *
- * @return string
- */
-function twig_constant($constant, $object = null)
-{
-    if (null !== $object) {
-        $constant = get_class($object).'::'.$constant;
-    }
-
-    return constant($constant);
-}
-
-/**
- * Batches item.
- *
- * @param array   $items An array of items
- * @param integer $size  The size of the batch
- * @param string  $fill  A string to fill missing items
- *
- * @return array
- */
-function twig_array_batch($items, $size, $fill = null)
-{
-    if ($items instanceof Traversable) {
-        $items = iterator_to_array($items, false);
-    }
-
-    $size = ceil($size);
-
-    $result = array_chunk($items, $size, true);
-
-    if (null !== $fill) {
-        $last = count($result) - 1;
-        $result[$last] = array_merge(
-            $result[$last],
-            array_fill(0, $size - count($result[$last]), $fill)
-        );
-    }
-
-    return $result;
-}
diff --git a/lib/Twig/Extension/Debug.php b/lib/Twig/Extension/Debug.php
deleted file mode 100644
index e3a85bfe8e2..00000000000
--- a/lib/Twig/Extension/Debug.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Extension_Debug extends Twig_Extension
-{
-    /**
-     * Returns a list of global functions to add to the existing list.
-     *
-     * @return array An array of global functions
-     */
-    public function getFunctions()
-    {
-        // dump is safe if var_dump is overridden by xdebug
-        $isDumpOutputHtmlSafe = extension_loaded('xdebug')
-            // false means that it was not set (and the default is on) or it explicitly enabled
-            && (false === ini_get('xdebug.overload_var_dump') || ini_get('xdebug.overload_var_dump'))
-            // false means that it was not set (and the default is on) or it explicitly enabled
-            // xdebug.overload_var_dump produces HTML only when html_errors is also enabled
-            && (false === ini_get('html_errors') || ini_get('html_errors'))
-            || 'cli' === php_sapi_name()
-        ;
-
-        return array(
-            new Twig_SimpleFunction('dump', 'twig_var_dump', array('is_safe' => $isDumpOutputHtmlSafe ? array('html') : array(), 'needs_context' => true, 'needs_environment' => true)),
-        );
-    }
-
-    /**
-     * Returns the name of the extension.
-     *
-     * @return string The extension name
-     */
-    public function getName()
-    {
-        return 'debug';
-    }
-}
-
-function twig_var_dump(Twig_Environment $env, $context)
-{
-    if (!$env->isDebug()) {
-        return;
-    }
-
-    ob_start();
-
-    $count = func_num_args();
-    if (2 === $count) {
-        $vars = array();
-        foreach ($context as $key => $value) {
-            if (!$value instanceof Twig_Template) {
-                $vars[$key] = $value;
-            }
-        }
-
-        var_dump($vars);
-    } else {
-        for ($i = 2; $i < $count; $i++) {
-            var_dump(func_get_arg($i));
-        }
-    }
-
-    return ob_get_clean();
-}
diff --git a/lib/Twig/Extension/Escaper.php b/lib/Twig/Extension/Escaper.php
deleted file mode 100644
index c9a7f68e783..00000000000
--- a/lib/Twig/Extension/Escaper.php
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Extension_Escaper extends Twig_Extension
-{
-    protected $defaultStrategy;
-
-    public function __construct($defaultStrategy = 'html')
-    {
-        $this->setDefaultStrategy($defaultStrategy);
-    }
-
-    /**
-     * Returns the token parser instances to add to the existing list.
-     *
-     * @return array An array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances
-     */
-    public function getTokenParsers()
-    {
-        return array(new Twig_TokenParser_AutoEscape());
-    }
-
-    /**
-     * Returns the node visitor instances to add to the existing list.
-     *
-     * @return array An array of Twig_NodeVisitorInterface instances
-     */
-    public function getNodeVisitors()
-    {
-        return array(new Twig_NodeVisitor_Escaper());
-    }
-
-    /**
-     * Returns a list of filters to add to the existing list.
-     *
-     * @return array An array of filters
-     */
-    public function getFilters()
-    {
-        return array(
-            new Twig_SimpleFilter('raw', 'twig_raw_filter', array('is_safe' => array('all'))),
-        );
-    }
-
-    /**
-     * Sets the default strategy to use when not defined by the user.
-     *
-     * The strategy can be a valid PHP callback that takes the template
-     * "filename" as an argument and returns the strategy to use.
-     *
-     * @param mixed $defaultStrategy An escaping strategy
-     */
-    public function setDefaultStrategy($defaultStrategy)
-    {
-        // for BC
-        if (true === $defaultStrategy) {
-            $defaultStrategy = 'html';
-        }
-
-        $this->defaultStrategy = $defaultStrategy;
-    }
-
-    /**
-     * Gets the default strategy to use when not defined by the user.
-     *
-     * @param string $filename The template "filename"
-     *
-     * @return string The default strategy to use for the template
-     */
-    public function getDefaultStrategy($filename)
-    {
-        // disable string callables to avoid calling a function named html or js,
-        // or any other upcoming escaping strategy
-        if (!is_string($this->defaultStrategy) && is_callable($this->defaultStrategy)) {
-            return call_user_func($this->defaultStrategy, $filename);
-        }
-
-        return $this->defaultStrategy;
-    }
-
-    /**
-     * Returns the name of the extension.
-     *
-     * @return string The extension name
-     */
-    public function getName()
-    {
-        return 'escaper';
-    }
-}
-
-/**
- * Marks a variable as being safe.
- *
- * @param string $string A PHP variable
- */
-function twig_raw_filter($string)
-{
-    return $string;
-}
diff --git a/lib/Twig/Extension/Optimizer.php b/lib/Twig/Extension/Optimizer.php
deleted file mode 100644
index 013fcb62584..00000000000
--- a/lib/Twig/Extension/Optimizer.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Extension_Optimizer extends Twig_Extension
-{
-    protected $optimizers;
-
-    public function __construct($optimizers = -1)
-    {
-        $this->optimizers = $optimizers;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getNodeVisitors()
-    {
-        return array(new Twig_NodeVisitor_Optimizer($this->optimizers));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'optimizer';
-    }
-}
diff --git a/lib/Twig/Extension/Sandbox.php b/lib/Twig/Extension/Sandbox.php
deleted file mode 100644
index bf76c11a985..00000000000
--- a/lib/Twig/Extension/Sandbox.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Extension_Sandbox extends Twig_Extension
-{
-    protected $sandboxedGlobally;
-    protected $sandboxed;
-    protected $policy;
-
-    public function __construct(Twig_Sandbox_SecurityPolicyInterface $policy, $sandboxed = false)
-    {
-        $this->policy            = $policy;
-        $this->sandboxedGlobally = $sandboxed;
-    }
-
-    /**
-     * Returns the token parser instances to add to the existing list.
-     *
-     * @return array An array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances
-     */
-    public function getTokenParsers()
-    {
-        return array(new Twig_TokenParser_Sandbox());
-    }
-
-    /**
-     * Returns the node visitor instances to add to the existing list.
-     *
-     * @return array An array of Twig_NodeVisitorInterface instances
-     */
-    public function getNodeVisitors()
-    {
-        return array(new Twig_NodeVisitor_Sandbox());
-    }
-
-    public function enableSandbox()
-    {
-        $this->sandboxed = true;
-    }
-
-    public function disableSandbox()
-    {
-        $this->sandboxed = false;
-    }
-
-    public function isSandboxed()
-    {
-        return $this->sandboxedGlobally || $this->sandboxed;
-    }
-
-    public function isSandboxedGlobally()
-    {
-        return $this->sandboxedGlobally;
-    }
-
-    public function setSecurityPolicy(Twig_Sandbox_SecurityPolicyInterface $policy)
-    {
-        $this->policy = $policy;
-    }
-
-    public function getSecurityPolicy()
-    {
-        return $this->policy;
-    }
-
-    public function checkSecurity($tags, $filters, $functions)
-    {
-        if ($this->isSandboxed()) {
-            $this->policy->checkSecurity($tags, $filters, $functions);
-        }
-    }
-
-    public function checkMethodAllowed($obj, $method)
-    {
-        if ($this->isSandboxed()) {
-            $this->policy->checkMethodAllowed($obj, $method);
-        }
-    }
-
-    public function checkPropertyAllowed($obj, $method)
-    {
-        if ($this->isSandboxed()) {
-            $this->policy->checkPropertyAllowed($obj, $method);
-        }
-    }
-
-    public function ensureToStringAllowed($obj)
-    {
-        if (is_object($obj)) {
-            $this->policy->checkMethodAllowed($obj, '__toString');
-        }
-
-        return $obj;
-    }
-
-    /**
-     * Returns the name of the extension.
-     *
-     * @return string The extension name
-     */
-    public function getName()
-    {
-        return 'sandbox';
-    }
-}
diff --git a/lib/Twig/Extension/Staging.php b/lib/Twig/Extension/Staging.php
deleted file mode 100644
index 8ab0f459608..00000000000
--- a/lib/Twig/Extension/Staging.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Internal class.
- *
- * This class is used by Twig_Environment as a staging area and must not be used directly.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Extension_Staging extends Twig_Extension
-{
-    protected $functions = array();
-    protected $filters = array();
-    protected $visitors = array();
-    protected $tokenParsers = array();
-    protected $globals = array();
-    protected $tests = array();
-
-    public function addFunction($name, $function)
-    {
-        $this->functions[$name] = $function;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getFunctions()
-    {
-        return $this->functions;
-    }
-
-    public function addFilter($name, $filter)
-    {
-        $this->filters[$name] = $filter;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getFilters()
-    {
-        return $this->filters;
-    }
-
-    public function addNodeVisitor(Twig_NodeVisitorInterface $visitor)
-    {
-        $this->visitors[] = $visitor;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getNodeVisitors()
-    {
-        return $this->visitors;
-    }
-
-    public function addTokenParser(Twig_TokenParserInterface $parser)
-    {
-        $this->tokenParsers[] = $parser;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTokenParsers()
-    {
-        return $this->tokenParsers;
-    }
-
-    public function addGlobal($name, $value)
-    {
-        $this->globals[$name] = $value;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getGlobals()
-    {
-        return $this->globals;
-    }
-
-    public function addTest($name, $test)
-    {
-        $this->tests[$name] = $test;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTests()
-    {
-        return $this->tests;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'staging';
-    }
-}
diff --git a/lib/Twig/Extension/StringLoader.php b/lib/Twig/Extension/StringLoader.php
deleted file mode 100644
index 20f3f9948c3..00000000000
--- a/lib/Twig/Extension/StringLoader.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Extension_StringLoader extends Twig_Extension
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function getFunctions()
-    {
-        return array(
-            new Twig_SimpleFunction('template_from_string', 'twig_template_from_string', array('needs_environment' => true)),
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'string_loader';
-    }
-}
-
-/**
- * Loads a template from a string.
- *
- * <pre>
- * {{ include(template_from_string("Hello {{ name }}")) }}
- * </pre>
- *
- * @param Twig_Environment $env      A Twig_Environment instance
- * @param string           $template A template as a string
- *
- * @return Twig_Template A Twig_Template instance
- */
-function twig_template_from_string(Twig_Environment $env, $template)
-{
-    static $loader;
-
-    if (null === $loader) {
-        $loader = new Twig_Loader_String();
-    }
-
-    $current = $env->getLoader();
-    $env->setLoader($loader);
-    try {
-        $template = $env->loadTemplate($template);
-    } catch (Exception $e) {
-        $env->setLoader($current);
-
-        throw $e;
-    }
-    $env->setLoader($current);
-
-    return $template;
-}
diff --git a/lib/Twig/ExtensionInterface.php b/lib/Twig/ExtensionInterface.php
deleted file mode 100644
index f189e9d9d09..00000000000
--- a/lib/Twig/ExtensionInterface.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface implemented by extension classes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface Twig_ExtensionInterface
-{
-    /**
-     * Initializes the runtime environment.
-     *
-     * This is where you can load some file that contains filter functions for instance.
-     *
-     * @param Twig_Environment $environment The current Twig_Environment instance
-     */
-    public function initRuntime(Twig_Environment $environment);
-
-    /**
-     * Returns the token parser instances to add to the existing list.
-     *
-     * @return array An array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances
-     */
-    public function getTokenParsers();
-
-    /**
-     * Returns the node visitor instances to add to the existing list.
-     *
-     * @return array An array of Twig_NodeVisitorInterface instances
-     */
-    public function getNodeVisitors();
-
-    /**
-     * Returns a list of filters to add to the existing list.
-     *
-     * @return array An array of filters
-     */
-    public function getFilters();
-
-    /**
-     * Returns a list of tests to add to the existing list.
-     *
-     * @return array An array of tests
-     */
-    public function getTests();
-
-    /**
-     * Returns a list of functions to add to the existing list.
-     *
-     * @return array An array of functions
-     */
-    public function getFunctions();
-
-    /**
-     * Returns a list of operators to add to the existing list.
-     *
-     * @return array An array of operators
-     */
-    public function getOperators();
-
-    /**
-     * Returns a list of global variables to add to the existing list.
-     *
-     * @return array An array of global variables
-     */
-    public function getGlobals();
-
-    /**
-     * Returns the name of the extension.
-     *
-     * @return string The extension name
-     */
-    public function getName();
-}
diff --git a/lib/Twig/Filter.php b/lib/Twig/Filter.php
deleted file mode 100644
index 189178851bb..00000000000
--- a/lib/Twig/Filter.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template filter.
- *
- * Use Twig_SimpleFilter instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-abstract class Twig_Filter implements Twig_FilterInterface, Twig_FilterCallableInterface
-{
-    protected $options;
-    protected $arguments = array();
-
-    public function __construct(array $options = array())
-    {
-        $this->options = array_merge(array(
-            'needs_environment' => false,
-            'needs_context'     => false,
-            'pre_escape'        => null,
-            'preserves_safety'  => null,
-            'callable'          => null,
-        ), $options);
-    }
-
-    public function setArguments($arguments)
-    {
-        $this->arguments = $arguments;
-    }
-
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    public function needsEnvironment()
-    {
-        return $this->options['needs_environment'];
-    }
-
-    public function needsContext()
-    {
-        return $this->options['needs_context'];
-    }
-
-    public function getSafe(Twig_Node $filterArgs)
-    {
-        if (isset($this->options['is_safe'])) {
-            return $this->options['is_safe'];
-        }
-
-        if (isset($this->options['is_safe_callback'])) {
-            return call_user_func($this->options['is_safe_callback'], $filterArgs);
-        }
-
-        return null;
-    }
-
-    public function getPreservesSafety()
-    {
-        return $this->options['preserves_safety'];
-    }
-
-    public function getPreEscape()
-    {
-        return $this->options['pre_escape'];
-    }
-
-    public function getCallable()
-    {
-        return $this->options['callable'];
-    }
-}
diff --git a/lib/Twig/Filter/Function.php b/lib/Twig/Filter/Function.php
deleted file mode 100644
index ad374a551fe..00000000000
--- a/lib/Twig/Filter/Function.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a function template filter.
- *
- * Use Twig_SimpleFilter instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Filter_Function extends Twig_Filter
-{
-    protected $function;
-
-    public function __construct($function, array $options = array())
-    {
-        $options['callable'] = $function;
-
-        parent::__construct($options);
-
-        $this->function = $function;
-    }
-
-    public function compile()
-    {
-        return $this->function;
-    }
-}
diff --git a/lib/Twig/Filter/Method.php b/lib/Twig/Filter/Method.php
deleted file mode 100644
index 63c8c3be4a5..00000000000
--- a/lib/Twig/Filter/Method.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a method template filter.
- *
- * Use Twig_SimpleFilter instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Filter_Method extends Twig_Filter
-{
-    protected $extension;
-    protected $method;
-
-    public function __construct(Twig_ExtensionInterface $extension, $method, array $options = array())
-    {
-        $options['callable'] = array($extension, $method);
-
-        parent::__construct($options);
-
-        $this->extension = $extension;
-        $this->method = $method;
-    }
-
-    public function compile()
-    {
-        return sprintf('$this->env->getExtension(\'%s\')->%s', $this->extension->getName(), $this->method);
-    }
-}
diff --git a/lib/Twig/Filter/Node.php b/lib/Twig/Filter/Node.php
deleted file mode 100644
index 8744c5e00de..00000000000
--- a/lib/Twig/Filter/Node.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template filter as a node.
- *
- * Use Twig_SimpleFilter instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Filter_Node extends Twig_Filter
-{
-    protected $class;
-
-    public function __construct($class, array $options = array())
-    {
-        parent::__construct($options);
-
-        $this->class = $class;
-    }
-
-    public function getClass()
-    {
-        return $this->class;
-    }
-
-    public function compile()
-    {
-    }
-}
diff --git a/lib/Twig/FilterCallableInterface.php b/lib/Twig/FilterCallableInterface.php
deleted file mode 100644
index 145534dfdd6..00000000000
--- a/lib/Twig/FilterCallableInterface.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a callable template filter.
- *
- * Use Twig_SimpleFilter instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_FilterCallableInterface
-{
-    public function getCallable();
-}
diff --git a/lib/Twig/FilterInterface.php b/lib/Twig/FilterInterface.php
deleted file mode 100644
index 5319ecc9fc3..00000000000
--- a/lib/Twig/FilterInterface.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template filter.
- *
- * Use Twig_SimpleFilter instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_FilterInterface
-{
-    /**
-     * Compiles a filter.
-     *
-     * @return string The PHP code for the filter
-     */
-    public function compile();
-
-    public function needsEnvironment();
-
-    public function needsContext();
-
-    public function getSafe(Twig_Node $filterArgs);
-
-    public function getPreservesSafety();
-
-    public function getPreEscape();
-
-    public function setArguments($arguments);
-
-    public function getArguments();
-}
diff --git a/lib/Twig/Function.php b/lib/Twig/Function.php
deleted file mode 100644
index b5ffb2b0475..00000000000
--- a/lib/Twig/Function.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template function.
- *
- * Use Twig_SimpleFunction instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-abstract class Twig_Function implements Twig_FunctionInterface, Twig_FunctionCallableInterface
-{
-    protected $options;
-    protected $arguments = array();
-
-    public function __construct(array $options = array())
-    {
-        $this->options = array_merge(array(
-            'needs_environment' => false,
-            'needs_context'     => false,
-            'callable'          => null,
-        ), $options);
-    }
-
-    public function setArguments($arguments)
-    {
-        $this->arguments = $arguments;
-    }
-
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    public function needsEnvironment()
-    {
-        return $this->options['needs_environment'];
-    }
-
-    public function needsContext()
-    {
-        return $this->options['needs_context'];
-    }
-
-    public function getSafe(Twig_Node $functionArgs)
-    {
-        if (isset($this->options['is_safe'])) {
-            return $this->options['is_safe'];
-        }
-
-        if (isset($this->options['is_safe_callback'])) {
-            return call_user_func($this->options['is_safe_callback'], $functionArgs);
-        }
-
-        return array();
-    }
-
-    public function getCallable()
-    {
-        return $this->options['callable'];
-    }
-}
diff --git a/lib/Twig/Function/Function.php b/lib/Twig/Function/Function.php
deleted file mode 100644
index d1e1b96a204..00000000000
--- a/lib/Twig/Function/Function.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2010 Arnaud Le Blanc
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a function template function.
- *
- * Use Twig_SimpleFunction instead.
- *
- * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Function_Function extends Twig_Function
-{
-    protected $function;
-
-    public function __construct($function, array $options = array())
-    {
-        $options['callable'] = $function;
-
-        parent::__construct($options);
-
-        $this->function = $function;
-    }
-
-    public function compile()
-    {
-        return $this->function;
-    }
-}
diff --git a/lib/Twig/Function/Method.php b/lib/Twig/Function/Method.php
deleted file mode 100644
index 67039a956a8..00000000000
--- a/lib/Twig/Function/Method.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2010 Arnaud Le Blanc
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a method template function.
- *
- * Use Twig_SimpleFunction instead.
- *
- * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Function_Method extends Twig_Function
-{
-    protected $extension;
-    protected $method;
-
-    public function __construct(Twig_ExtensionInterface $extension, $method, array $options = array())
-    {
-        $options['callable'] = array($extension, $method);
-
-        parent::__construct($options);
-
-        $this->extension = $extension;
-        $this->method = $method;
-    }
-
-    public function compile()
-    {
-        return sprintf('$this->env->getExtension(\'%s\')->%s', $this->extension->getName(), $this->method);
-    }
-}
diff --git a/lib/Twig/Function/Node.php b/lib/Twig/Function/Node.php
deleted file mode 100644
index 06a0d0dbebf..00000000000
--- a/lib/Twig/Function/Node.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template function as a node.
- *
- * Use Twig_SimpleFunction instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Function_Node extends Twig_Function
-{
-    protected $class;
-
-    public function __construct($class, array $options = array())
-    {
-        parent::__construct($options);
-
-        $this->class = $class;
-    }
-
-    public function getClass()
-    {
-        return $this->class;
-    }
-
-    public function compile()
-    {
-    }
-}
diff --git a/lib/Twig/FunctionCallableInterface.php b/lib/Twig/FunctionCallableInterface.php
deleted file mode 100644
index 0aab4f5ecf5..00000000000
--- a/lib/Twig/FunctionCallableInterface.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a callable template function.
- *
- * Use Twig_SimpleFunction instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_FunctionCallableInterface
-{
-    public function getCallable();
-}
diff --git a/lib/Twig/FunctionInterface.php b/lib/Twig/FunctionInterface.php
deleted file mode 100644
index 67f4f89c06a..00000000000
--- a/lib/Twig/FunctionInterface.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- * (c) 2010 Arnaud Le Blanc
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template function.
- *
- * Use Twig_SimpleFunction instead.
- *
- * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_FunctionInterface
-{
-    /**
-     * Compiles a function.
-     *
-     * @return string The PHP code for the function
-     */
-    public function compile();
-
-    public function needsEnvironment();
-
-    public function needsContext();
-
-    public function getSafe(Twig_Node $filterArgs);
-
-    public function setArguments($arguments);
-
-    public function getArguments();
-}
diff --git a/lib/Twig/LICENSE b/lib/Twig/LICENSE
deleted file mode 100644
index 3384cc5589d..00000000000
--- a/lib/Twig/LICENSE
+++ /dev/null
@@ -1,31 +0,0 @@
-Copyright (c) 2009-2013 by the Twig Team, see AUTHORS for more details.
-
-Some rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above
-      copyright notice, this list of conditions and the following
-      disclaimer in the documentation and/or other materials provided
-      with the distribution.
-
-    * The names of the contributors may not be used to endorse or
-      promote products derived from this software without specific
-      prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/lib/Twig/Lexer.php b/lib/Twig/Lexer.php
deleted file mode 100644
index 000b038e60e..00000000000
--- a/lib/Twig/Lexer.php
+++ /dev/null
@@ -1,408 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Lexes a template string.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Lexer implements Twig_LexerInterface
-{
-    protected $tokens;
-    protected $code;
-    protected $cursor;
-    protected $lineno;
-    protected $end;
-    protected $state;
-    protected $states;
-    protected $brackets;
-    protected $env;
-    protected $filename;
-    protected $options;
-    protected $regexes;
-    protected $position;
-    protected $positions;
-    protected $currentVarBlockLine;
-
-    const STATE_DATA            = 0;
-    const STATE_BLOCK           = 1;
-    const STATE_VAR             = 2;
-    const STATE_STRING          = 3;
-    const STATE_INTERPOLATION   = 4;
-
-    const REGEX_NAME            = '/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/A';
-    const REGEX_NUMBER          = '/[0-9]+(?:\.[0-9]+)?/A';
-    const REGEX_STRING          = '/"([^#"\\\\]*(?:\\\\.[^#"\\\\]*)*)"|\'([^\'\\\\]*(?:\\\\.[^\'\\\\]*)*)\'/As';
-    const REGEX_DQ_STRING_DELIM = '/"/A';
-    const REGEX_DQ_STRING_PART  = '/[^#"\\\\]*(?:(?:\\\\.|#(?!\{))[^#"\\\\]*)*/As';
-    const PUNCTUATION           = '()[]{}?:.,|';
-
-    public function __construct(Twig_Environment $env, array $options = array())
-    {
-        $this->env = $env;
-
-        $this->options = array_merge(array(
-            'tag_comment'     => array('{#', '#}'),
-            'tag_block'       => array('{%', '%}'),
-            'tag_variable'    => array('{{', '}}'),
-            'whitespace_trim' => '-',
-            'interpolation'   => array('#{', '}'),
-        ), $options);
-
-        $this->regexes = array(
-            'lex_var'             => '/\s*'.preg_quote($this->options['whitespace_trim'].$this->options['tag_variable'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_variable'][1], '/').'/A',
-            'lex_block'           => '/\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')\n?/A',
-            'lex_raw_data'        => '/('.preg_quote($this->options['tag_block'][0].$this->options['whitespace_trim'], '/').'|'.preg_quote($this->options['tag_block'][0], '/').')\s*(?:end%s)\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')/s',
-            'operator'            => $this->getOperatorRegex(),
-            'lex_comment'         => '/(?:'.preg_quote($this->options['whitespace_trim'], '/').preg_quote($this->options['tag_comment'][1], '/').'\s*|'.preg_quote($this->options['tag_comment'][1], '/').')\n?/s',
-            'lex_block_raw'       => '/\s*(raw|verbatim)\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')/As',
-            'lex_block_line'      => '/\s*line\s+(\d+)\s*'.preg_quote($this->options['tag_block'][1], '/').'/As',
-            'lex_tokens_start'    => '/('.preg_quote($this->options['tag_variable'][0], '/').'|'.preg_quote($this->options['tag_block'][0], '/').'|'.preg_quote($this->options['tag_comment'][0], '/').')('.preg_quote($this->options['whitespace_trim'], '/').')?/s',
-            'interpolation_start' => '/'.preg_quote($this->options['interpolation'][0], '/').'\s*/A',
-            'interpolation_end'   => '/\s*'.preg_quote($this->options['interpolation'][1], '/').'/A',
-        );
-    }
-
-    /**
-     * Tokenizes a source code.
-     *
-     * @param string $code     The source code
-     * @param string $filename A unique identifier for the source code
-     *
-     * @return Twig_TokenStream A token stream instance
-     */
-    public function tokenize($code, $filename = null)
-    {
-        if (function_exists('mb_internal_encoding') && ((int) ini_get('mbstring.func_overload')) & 2) {
-            $mbEncoding = mb_internal_encoding();
-            mb_internal_encoding('ASCII');
-        }
-
-        $this->code = str_replace(array("\r\n", "\r"), "\n", $code);
-        $this->filename = $filename;
-        $this->cursor = 0;
-        $this->lineno = 1;
-        $this->end = strlen($this->code);
-        $this->tokens = array();
-        $this->state = self::STATE_DATA;
-        $this->states = array();
-        $this->brackets = array();
-        $this->position = -1;
-
-        // find all token starts in one go
-        preg_match_all($this->regexes['lex_tokens_start'], $this->code, $matches, PREG_OFFSET_CAPTURE);
-        $this->positions = $matches;
-
-        while ($this->cursor < $this->end) {
-            // dispatch to the lexing functions depending
-            // on the current state
-            switch ($this->state) {
-                case self::STATE_DATA:
-                    $this->lexData();
-                    break;
-
-                case self::STATE_BLOCK:
-                    $this->lexBlock();
-                    break;
-
-                case self::STATE_VAR:
-                    $this->lexVar();
-                    break;
-
-                case self::STATE_STRING:
-                    $this->lexString();
-                    break;
-
-                case self::STATE_INTERPOLATION:
-                    $this->lexInterpolation();
-                    break;
-            }
-        }
-
-        $this->pushToken(Twig_Token::EOF_TYPE);
-
-        if (!empty($this->brackets)) {
-            list($expect, $lineno) = array_pop($this->brackets);
-            throw new Twig_Error_Syntax(sprintf('Unclosed "%s"', $expect), $lineno, $this->filename);
-        }
-
-        if (isset($mbEncoding)) {
-            mb_internal_encoding($mbEncoding);
-        }
-
-        return new Twig_TokenStream($this->tokens, $this->filename);
-    }
-
-    protected function lexData()
-    {
-        // if no matches are left we return the rest of the template as simple text token
-        if ($this->position == count($this->positions[0]) - 1) {
-            $this->pushToken(Twig_Token::TEXT_TYPE, substr($this->code, $this->cursor));
-            $this->cursor = $this->end;
-
-            return;
-        }
-
-        // Find the first token after the current cursor
-        $position = $this->positions[0][++$this->position];
-        while ($position[1] < $this->cursor) {
-            if ($this->position == count($this->positions[0]) - 1) {
-                return;
-            }
-            $position = $this->positions[0][++$this->position];
-        }
-
-        // push the template text first
-        $text = $textContent = substr($this->code, $this->cursor, $position[1] - $this->cursor);
-        if (isset($this->positions[2][$this->position][0])) {
-            $text = rtrim($text);
-        }
-        $this->pushToken(Twig_Token::TEXT_TYPE, $text);
-        $this->moveCursor($textContent.$position[0]);
-
-        switch ($this->positions[1][$this->position][0]) {
-            case $this->options['tag_comment'][0]:
-                $this->lexComment();
-                break;
-
-            case $this->options['tag_block'][0]:
-                // raw data?
-                if (preg_match($this->regexes['lex_block_raw'], $this->code, $match, null, $this->cursor)) {
-                    $this->moveCursor($match[0]);
-                    $this->lexRawData($match[1]);
-                // {% line \d+ %}
-                } elseif (preg_match($this->regexes['lex_block_line'], $this->code, $match, null, $this->cursor)) {
-                    $this->moveCursor($match[0]);
-                    $this->lineno = (int) $match[1];
-                } else {
-                    $this->pushToken(Twig_Token::BLOCK_START_TYPE);
-                    $this->pushState(self::STATE_BLOCK);
-                    $this->currentVarBlockLine = $this->lineno;
-                }
-                break;
-
-            case $this->options['tag_variable'][0]:
-                $this->pushToken(Twig_Token::VAR_START_TYPE);
-                $this->pushState(self::STATE_VAR);
-                $this->currentVarBlockLine = $this->lineno;
-                break;
-        }
-    }
-
-    protected function lexBlock()
-    {
-        if (empty($this->brackets) && preg_match($this->regexes['lex_block'], $this->code, $match, null, $this->cursor)) {
-            $this->pushToken(Twig_Token::BLOCK_END_TYPE);
-            $this->moveCursor($match[0]);
-            $this->popState();
-        } else {
-            $this->lexExpression();
-        }
-    }
-
-    protected function lexVar()
-    {
-        if (empty($this->brackets) && preg_match($this->regexes['lex_var'], $this->code, $match, null, $this->cursor)) {
-            $this->pushToken(Twig_Token::VAR_END_TYPE);
-            $this->moveCursor($match[0]);
-            $this->popState();
-        } else {
-            $this->lexExpression();
-        }
-    }
-
-    protected function lexExpression()
-    {
-        // whitespace
-        if (preg_match('/\s+/A', $this->code, $match, null, $this->cursor)) {
-            $this->moveCursor($match[0]);
-
-            if ($this->cursor >= $this->end) {
-                throw new Twig_Error_Syntax(sprintf('Unclosed "%s"', $this->state === self::STATE_BLOCK ? 'block' : 'variable'), $this->currentVarBlockLine, $this->filename);
-            }
-        }
-
-        // operators
-        if (preg_match($this->regexes['operator'], $this->code, $match, null, $this->cursor)) {
-            $this->pushToken(Twig_Token::OPERATOR_TYPE, $match[0]);
-            $this->moveCursor($match[0]);
-        }
-        // names
-        elseif (preg_match(self::REGEX_NAME, $this->code, $match, null, $this->cursor)) {
-            $this->pushToken(Twig_Token::NAME_TYPE, $match[0]);
-            $this->moveCursor($match[0]);
-        }
-        // numbers
-        elseif (preg_match(self::REGEX_NUMBER, $this->code, $match, null, $this->cursor)) {
-            $number = (float) $match[0];  // floats
-            if (ctype_digit($match[0]) && $number <= PHP_INT_MAX) {
-                $number = (int) $match[0]; // integers lower than the maximum
-            }
-            $this->pushToken(Twig_Token::NUMBER_TYPE, $number);
-            $this->moveCursor($match[0]);
-        }
-        // punctuation
-        elseif (false !== strpos(self::PUNCTUATION, $this->code[$this->cursor])) {
-            // opening bracket
-            if (false !== strpos('([{', $this->code[$this->cursor])) {
-                $this->brackets[] = array($this->code[$this->cursor], $this->lineno);
-            }
-            // closing bracket
-            elseif (false !== strpos(')]}', $this->code[$this->cursor])) {
-                if (empty($this->brackets)) {
-                    throw new Twig_Error_Syntax(sprintf('Unexpected "%s"', $this->code[$this->cursor]), $this->lineno, $this->filename);
-                }
-
-                list($expect, $lineno) = array_pop($this->brackets);
-                if ($this->code[$this->cursor] != strtr($expect, '([{', ')]}')) {
-                    throw new Twig_Error_Syntax(sprintf('Unclosed "%s"', $expect), $lineno, $this->filename);
-                }
-            }
-
-            $this->pushToken(Twig_Token::PUNCTUATION_TYPE, $this->code[$this->cursor]);
-            ++$this->cursor;
-        }
-        // strings
-        elseif (preg_match(self::REGEX_STRING, $this->code, $match, null, $this->cursor)) {
-            $this->pushToken(Twig_Token::STRING_TYPE, stripcslashes(substr($match[0], 1, -1)));
-            $this->moveCursor($match[0]);
-        }
-        // opening double quoted string
-        elseif (preg_match(self::REGEX_DQ_STRING_DELIM, $this->code, $match, null, $this->cursor)) {
-            $this->brackets[] = array('"', $this->lineno);
-            $this->pushState(self::STATE_STRING);
-            $this->moveCursor($match[0]);
-        }
-        // unlexable
-        else {
-            throw new Twig_Error_Syntax(sprintf('Unexpected character "%s"', $this->code[$this->cursor]), $this->lineno, $this->filename);
-        }
-    }
-
-    protected function lexRawData($tag)
-    {
-        if (!preg_match(str_replace('%s', $tag, $this->regexes['lex_raw_data']), $this->code, $match, PREG_OFFSET_CAPTURE, $this->cursor)) {
-            throw new Twig_Error_Syntax(sprintf('Unexpected end of file: Unclosed "%s" block', $tag), $this->lineno, $this->filename);
-        }
-
-        $text = substr($this->code, $this->cursor, $match[0][1] - $this->cursor);
-        $this->moveCursor($text.$match[0][0]);
-
-        if (false !== strpos($match[1][0], $this->options['whitespace_trim'])) {
-            $text = rtrim($text);
-        }
-
-        $this->pushToken(Twig_Token::TEXT_TYPE, $text);
-    }
-
-    protected function lexComment()
-    {
-        if (!preg_match($this->regexes['lex_comment'], $this->code, $match, PREG_OFFSET_CAPTURE, $this->cursor)) {
-            throw new Twig_Error_Syntax('Unclosed comment', $this->lineno, $this->filename);
-        }
-
-        $this->moveCursor(substr($this->code, $this->cursor, $match[0][1] - $this->cursor).$match[0][0]);
-    }
-
-    protected function lexString()
-    {
-        if (preg_match($this->regexes['interpolation_start'], $this->code, $match, null, $this->cursor)) {
-            $this->brackets[] = array($this->options['interpolation'][0], $this->lineno);
-            $this->pushToken(Twig_Token::INTERPOLATION_START_TYPE);
-            $this->moveCursor($match[0]);
-            $this->pushState(self::STATE_INTERPOLATION);
-
-        } elseif (preg_match(self::REGEX_DQ_STRING_PART, $this->code, $match, null, $this->cursor) && strlen($match[0]) > 0) {
-            $this->pushToken(Twig_Token::STRING_TYPE, stripcslashes($match[0]));
-            $this->moveCursor($match[0]);
-
-        } elseif (preg_match(self::REGEX_DQ_STRING_DELIM, $this->code, $match, null, $this->cursor)) {
-
-            list($expect, $lineno) = array_pop($this->brackets);
-            if ($this->code[$this->cursor] != '"') {
-                throw new Twig_Error_Syntax(sprintf('Unclosed "%s"', $expect), $lineno, $this->filename);
-            }
-
-            $this->popState();
-            ++$this->cursor;
-        }
-    }
-
-    protected function lexInterpolation()
-    {
-        $bracket = end($this->brackets);
-        if ($this->options['interpolation'][0] === $bracket[0] && preg_match($this->regexes['interpolation_end'], $this->code, $match, null, $this->cursor)) {
-            array_pop($this->brackets);
-            $this->pushToken(Twig_Token::INTERPOLATION_END_TYPE);
-            $this->moveCursor($match[0]);
-            $this->popState();
-        } else {
-            $this->lexExpression();
-        }
-    }
-
-    protected function pushToken($type, $value = '')
-    {
-        // do not push empty text tokens
-        if (Twig_Token::TEXT_TYPE === $type && '' === $value) {
-            return;
-        }
-
-        $this->tokens[] = new Twig_Token($type, $value, $this->lineno);
-    }
-
-    protected function moveCursor($text)
-    {
-        $this->cursor += strlen($text);
-        $this->lineno += substr_count($text, "\n");
-    }
-
-    protected function getOperatorRegex()
-    {
-        $operators = array_merge(
-            array('='),
-            array_keys($this->env->getUnaryOperators()),
-            array_keys($this->env->getBinaryOperators())
-        );
-
-        $operators = array_combine($operators, array_map('strlen', $operators));
-        arsort($operators);
-
-        $regex = array();
-        foreach ($operators as $operator => $length) {
-            // an operator that ends with a character must be followed by
-            // a whitespace or a parenthesis
-            if (ctype_alpha($operator[$length - 1])) {
-                $regex[] = preg_quote($operator, '/').'(?=[\s()])';
-            } else {
-                $regex[] = preg_quote($operator, '/');
-            }
-        }
-
-        return '/'.implode('|', $regex).'/A';
-    }
-
-    protected function pushState($state)
-    {
-        $this->states[] = $this->state;
-        $this->state = $state;
-    }
-
-    protected function popState()
-    {
-        if (0 === count($this->states)) {
-            throw new Exception('Cannot pop state without a previous state');
-        }
-
-        $this->state = array_pop($this->states);
-    }
-}
diff --git a/lib/Twig/LexerInterface.php b/lib/Twig/LexerInterface.php
deleted file mode 100644
index 4b83f81b0f9..00000000000
--- a/lib/Twig/LexerInterface.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface implemented by lexer classes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_LexerInterface
-{
-    /**
-     * Tokenizes a source code.
-     *
-     * @param string $code     The source code
-     * @param string $filename A unique identifier for the source code
-     *
-     * @return Twig_TokenStream A token stream instance
-     */
-    public function tokenize($code, $filename = null);
-}
diff --git a/lib/Twig/Loader/Array.php b/lib/Twig/Loader/Array.php
deleted file mode 100644
index 89087aeabf7..00000000000
--- a/lib/Twig/Loader/Array.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Loads a template from an array.
- *
- * When using this loader with a cache mechanism, you should know that a new cache
- * key is generated each time a template content "changes" (the cache key being the
- * source code of the template). If you don't want to see your cache grows out of
- * control, you need to take care of clearing the old cache file by yourself.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Loader_Array implements Twig_LoaderInterface, Twig_ExistsLoaderInterface
-{
-    protected $templates;
-
-    /**
-     * Constructor.
-     *
-     * @param array $templates An array of templates (keys are the names, and values are the source code)
-     *
-     * @see Twig_Loader
-     */
-    public function __construct(array $templates)
-    {
-        $this->templates = array();
-        foreach ($templates as $name => $template) {
-            $this->templates[$name] = $template;
-        }
-    }
-
-    /**
-     * Adds or overrides a template.
-     *
-     * @param string $name     The template name
-     * @param string $template The template source
-     */
-    public function setTemplate($name, $template)
-    {
-        $this->templates[(string) $name] = $template;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSource($name)
-    {
-        $name = (string) $name;
-        if (!isset($this->templates[$name])) {
-            throw new Twig_Error_Loader(sprintf('Template "%s" is not defined.', $name));
-        }
-
-        return $this->templates[$name];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function exists($name)
-    {
-        return isset($this->templates[(string) $name]);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCacheKey($name)
-    {
-        $name = (string) $name;
-        if (!isset($this->templates[$name])) {
-            throw new Twig_Error_Loader(sprintf('Template "%s" is not defined.', $name));
-        }
-
-        return $this->templates[$name];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isFresh($name, $time)
-    {
-        $name = (string) $name;
-        if (!isset($this->templates[$name])) {
-            throw new Twig_Error_Loader(sprintf('Template "%s" is not defined.', $name));
-        }
-
-        return true;
-    }
-}
diff --git a/lib/Twig/Loader/Chain.php b/lib/Twig/Loader/Chain.php
deleted file mode 100644
index cd64b051da7..00000000000
--- a/lib/Twig/Loader/Chain.php
+++ /dev/null
@@ -1,135 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Loads templates from other loaders.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Loader_Chain implements Twig_LoaderInterface, Twig_ExistsLoaderInterface
-{
-    private $hasSourceCache = array();
-    protected $loaders;
-
-    /**
-     * Constructor.
-     *
-     * @param Twig_LoaderInterface[] $loaders An array of loader instances
-     */
-    public function __construct(array $loaders = array())
-    {
-        $this->loaders = array();
-        foreach ($loaders as $loader) {
-            $this->addLoader($loader);
-        }
-    }
-
-    /**
-     * Adds a loader instance.
-     *
-     * @param Twig_LoaderInterface $loader A Loader instance
-     */
-    public function addLoader(Twig_LoaderInterface $loader)
-    {
-        $this->loaders[] = $loader;
-        $this->hasSourceCache = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSource($name)
-    {
-        $exceptions = array();
-        foreach ($this->loaders as $loader) {
-            if ($loader instanceof Twig_ExistsLoaderInterface && !$loader->exists($name)) {
-                continue;
-            }
-
-            try {
-                return $loader->getSource($name);
-            } catch (Twig_Error_Loader $e) {
-                $exceptions[] = $e->getMessage();
-            }
-        }
-
-        throw new Twig_Error_Loader(sprintf('Template "%s" is not defined (%s).', $name, implode(', ', $exceptions)));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function exists($name)
-    {
-        $name = (string) $name;
-
-        if (isset($this->hasSourceCache[$name])) {
-            return $this->hasSourceCache[$name];
-        }
-
-        foreach ($this->loaders as $loader) {
-            if ($loader instanceof Twig_ExistsLoaderInterface && $loader->exists($name)) {
-                return $this->hasSourceCache[$name] = true;
-            }
-
-            try {
-                $loader->getSource($name);
-
-                return $this->hasSourceCache[$name] = true;
-            } catch (Twig_Error_Loader $e) {
-            }
-        }
-
-        return $this->hasSourceCache[$name] = false;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCacheKey($name)
-    {
-        $exceptions = array();
-        foreach ($this->loaders as $loader) {
-            if ($loader instanceof Twig_ExistsLoaderInterface && !$loader->exists($name)) {
-                continue;
-            }
-
-            try {
-                return $loader->getCacheKey($name);
-            } catch (Twig_Error_Loader $e) {
-                $exceptions[] = get_class($loader).': '.$e->getMessage();
-            }
-        }
-
-        throw new Twig_Error_Loader(sprintf('Template "%s" is not defined (%s).', $name, implode(' ', $exceptions)));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isFresh($name, $time)
-    {
-        $exceptions = array();
-        foreach ($this->loaders as $loader) {
-            if ($loader instanceof Twig_ExistsLoaderInterface && !$loader->exists($name)) {
-                continue;
-            }
-
-            try {
-                return $loader->isFresh($name, $time);
-            } catch (Twig_Error_Loader $e) {
-                $exceptions[] = get_class($loader).': '.$e->getMessage();
-            }
-        }
-
-        throw new Twig_Error_Loader(sprintf('Template "%s" is not defined (%s).', $name, implode(' ', $exceptions)));
-    }
-}
diff --git a/lib/Twig/Loader/Filesystem.php b/lib/Twig/Loader/Filesystem.php
deleted file mode 100644
index 84a5e03aef5..00000000000
--- a/lib/Twig/Loader/Filesystem.php
+++ /dev/null
@@ -1,221 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Loads template from the filesystem.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Loader_Filesystem implements Twig_LoaderInterface, Twig_ExistsLoaderInterface
-{
-    protected $paths;
-    protected $cache;
-
-    /**
-     * Constructor.
-     *
-     * @param string|array $paths A path or an array of paths where to look for templates
-     */
-    public function __construct($paths)
-    {
-        $this->setPaths($paths);
-    }
-
-    /**
-     * Returns the paths to the templates.
-     *
-     * @param string $namespace A path namespace
-     *
-     * @return array The array of paths where to look for templates
-     */
-    public function getPaths($namespace = '__main__')
-    {
-        return isset($this->paths[$namespace]) ? $this->paths[$namespace] : array();
-    }
-
-    /**
-     * Returns the path namespaces.
-     *
-     * The "__main__" namespace is always defined.
-     *
-     * @return array The array of defined namespaces
-     */
-    public function getNamespaces()
-    {
-        return array_keys($this->paths);
-    }
-
-    /**
-     * Sets the paths where templates are stored.
-     *
-     * @param string|array $paths     A path or an array of paths where to look for templates
-     * @param string       $namespace A path namespace
-     */
-    public function setPaths($paths, $namespace = '__main__')
-    {
-        if (!is_array($paths)) {
-            $paths = array($paths);
-        }
-
-        $this->paths[$namespace] = array();
-        foreach ($paths as $path) {
-            $this->addPath($path, $namespace);
-        }
-    }
-
-    /**
-     * Adds a path where templates are stored.
-     *
-     * @param string $path      A path where to look for templates
-     * @param string $namespace A path name
-     *
-     * @throws Twig_Error_Loader
-     */
-    public function addPath($path, $namespace = '__main__')
-    {
-        // invalidate the cache
-        $this->cache = array();
-
-        if (!is_dir($path)) {
-            throw new Twig_Error_Loader(sprintf('The "%s" directory does not exist.', $path));
-        }
-
-        $this->paths[$namespace][] = rtrim($path, '/\\');
-    }
-
-    /**
-     * Prepends a path where templates are stored.
-     *
-     * @param string $path      A path where to look for templates
-     * @param string $namespace A path name
-     *
-     * @throws Twig_Error_Loader
-     */
-    public function prependPath($path, $namespace = '__main__')
-    {
-        // invalidate the cache
-        $this->cache = array();
-
-        if (!is_dir($path)) {
-            throw new Twig_Error_Loader(sprintf('The "%s" directory does not exist.', $path));
-        }
-
-        $path = rtrim($path, '/\\');
-
-        if (!isset($this->paths[$namespace])) {
-            $this->paths[$namespace][] = $path;
-        } else {
-            array_unshift($this->paths[$namespace], $path);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSource($name)
-    {
-        return file_get_contents($this->findTemplate($name));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCacheKey($name)
-    {
-        return $this->findTemplate($name);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function exists($name)
-    {
-        $name = (string) $name;
-        if (isset($this->cache[$name])) {
-            return true;
-        }
-
-        try {
-            $this->findTemplate($name);
-
-            return true;
-        } catch (Twig_Error_Loader $exception) {
-            return false;
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isFresh($name, $time)
-    {
-        return filemtime($this->findTemplate($name)) <= $time;
-    }
-
-    protected function findTemplate($name)
-    {
-        $name = (string) $name;
-
-        // normalize name
-        $name = preg_replace('#/{2,}#', '/', strtr($name, '\\', '/'));
-
-        if (isset($this->cache[$name])) {
-            return $this->cache[$name];
-        }
-
-        $this->validateName($name);
-
-        $namespace = '__main__';
-        if (isset($name[0]) && '@' == $name[0]) {
-            if (false === $pos = strpos($name, '/')) {
-                throw new Twig_Error_Loader(sprintf('Malformed namespaced template name "%s" (expecting "@namespace/template_name").', $name));
-            }
-
-            $namespace = substr($name, 1, $pos - 1);
-
-            $name = substr($name, $pos + 1);
-        }
-
-        if (!isset($this->paths[$namespace])) {
-            throw new Twig_Error_Loader(sprintf('There are no registered paths for namespace "%s".', $namespace));
-        }
-
-        foreach ($this->paths[$namespace] as $path) {
-            if (is_file($path.'/'.$name)) {
-                return $this->cache[$name] = $path.'/'.$name;
-            }
-        }
-
-        throw new Twig_Error_Loader(sprintf('Unable to find template "%s" (looked into: %s).', $name, implode(', ', $this->paths[$namespace])));
-    }
-
-    protected function validateName($name)
-    {
-        if (false !== strpos($name, "\0")) {
-            throw new Twig_Error_Loader('A template name cannot contain NUL bytes.');
-        }
-
-        $name = ltrim($name, '/');
-        $parts = explode('/', $name);
-        $level = 0;
-        foreach ($parts as $part) {
-            if ('..' === $part) {
-                --$level;
-            } elseif ('.' !== $part) {
-                ++$level;
-            }
-
-            if ($level < 0) {
-                throw new Twig_Error_Loader(sprintf('Looks like you try to load a template outside configured directories (%s).', $name));
-            }
-        }
-    }
-}
diff --git a/lib/Twig/Loader/String.php b/lib/Twig/Loader/String.php
deleted file mode 100644
index 8ad9856cc08..00000000000
--- a/lib/Twig/Loader/String.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Loads a template from a string.
- *
- * This loader should only be used for unit testing as it has many limitations
- * (for instance, the include or extends tag does not make any sense for a string
- * loader).
- *
- * When using this loader with a cache mechanism, you should know that a new cache
- * key is generated each time a template content "changes" (the cache key being the
- * source code of the template). If you don't want to see your cache grows out of
- * control, you need to take care of clearing the old cache file by yourself.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Loader_String implements Twig_LoaderInterface, Twig_ExistsLoaderInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function getSource($name)
-    {
-        return $name;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function exists($name)
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCacheKey($name)
-    {
-        return $name;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isFresh($name, $time)
-    {
-        return true;
-    }
-}
diff --git a/lib/Twig/LoaderInterface.php b/lib/Twig/LoaderInterface.php
deleted file mode 100644
index 927786d1af4..00000000000
--- a/lib/Twig/LoaderInterface.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface all loaders must implement.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface Twig_LoaderInterface
-{
-    /**
-     * Gets the source code of a template, given its name.
-     *
-     * @param string $name The name of the template to load
-     *
-     * @return string The template source code
-     *
-     * @throws Twig_Error_Loader When $name is not found
-     */
-    public function getSource($name);
-
-    /**
-     * Gets the cache key to use for the cache for a given template name.
-     *
-     * @param string $name The name of the template to load
-     *
-     * @return string The cache key
-     *
-     * @throws Twig_Error_Loader When $name is not found
-     */
-    public function getCacheKey($name);
-
-    /**
-     * Returns true if the template is still fresh.
-     *
-     * @param string    $name The template name
-     * @param timestamp $time The last modification time of the cached template
-     *
-     * @return Boolean true if the template is fresh, false otherwise
-     *
-     * @throws Twig_Error_Loader When $name is not found
-     */
-    public function isFresh($name, $time);
-}
diff --git a/lib/Twig/Markup.php b/lib/Twig/Markup.php
deleted file mode 100644
index 69871fcbd04..00000000000
--- a/lib/Twig/Markup.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Marks a content as safe.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Markup implements Countable
-{
-    protected $content;
-    protected $charset;
-
-    public function __construct($content, $charset)
-    {
-        $this->content = (string) $content;
-        $this->charset = $charset;
-    }
-
-    public function __toString()
-    {
-        return $this->content;
-    }
-
-    public function count()
-    {
-        return function_exists('mb_get_info') ? mb_strlen($this->content, $this->charset) : strlen($this->content);
-    }
-}
diff --git a/lib/Twig/Node.php b/lib/Twig/Node.php
deleted file mode 100644
index 931b4635a94..00000000000
--- a/lib/Twig/Node.php
+++ /dev/null
@@ -1,226 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a node in the AST.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node implements Twig_NodeInterface
-{
-    protected $nodes;
-    protected $attributes;
-    protected $lineno;
-    protected $tag;
-
-    /**
-     * Constructor.
-     *
-     * The nodes are automatically made available as properties ($this->node).
-     * The attributes are automatically made available as array items ($this['name']).
-     *
-     * @param array   $nodes      An array of named nodes
-     * @param array   $attributes An array of attributes (should not be nodes)
-     * @param integer $lineno     The line number
-     * @param string  $tag        The tag name associated with the Node
-     */
-    public function __construct(array $nodes = array(), array $attributes = array(), $lineno = 0, $tag = null)
-    {
-        $this->nodes = $nodes;
-        $this->attributes = $attributes;
-        $this->lineno = $lineno;
-        $this->tag = $tag;
-    }
-
-    public function __toString()
-    {
-        $attributes = array();
-        foreach ($this->attributes as $name => $value) {
-            $attributes[] = sprintf('%s: %s', $name, str_replace("\n", '', var_export($value, true)));
-        }
-
-        $repr = array(get_class($this).'('.implode(', ', $attributes));
-
-        if (count($this->nodes)) {
-            foreach ($this->nodes as $name => $node) {
-                $len = strlen($name) + 4;
-                $noderepr = array();
-                foreach (explode("\n", (string) $node) as $line) {
-                    $noderepr[] = str_repeat(' ', $len).$line;
-                }
-
-                $repr[] = sprintf('  %s: %s', $name, ltrim(implode("\n", $noderepr)));
-            }
-
-            $repr[] = ')';
-        } else {
-            $repr[0] .= ')';
-        }
-
-        return implode("\n", $repr);
-    }
-
-    public function toXml($asDom = false)
-    {
-        $dom = new DOMDocument('1.0', 'UTF-8');
-        $dom->formatOutput = true;
-        $dom->appendChild($xml = $dom->createElement('twig'));
-
-        $xml->appendChild($node = $dom->createElement('node'));
-        $node->setAttribute('class', get_class($this));
-
-        foreach ($this->attributes as $name => $value) {
-            $node->appendChild($attribute = $dom->createElement('attribute'));
-            $attribute->setAttribute('name', $name);
-            $attribute->appendChild($dom->createTextNode($value));
-        }
-
-        foreach ($this->nodes as $name => $n) {
-            if (null === $n) {
-                continue;
-            }
-
-            $child = $n->toXml(true)->getElementsByTagName('node')->item(0);
-            $child = $dom->importNode($child, true);
-            $child->setAttribute('name', $name);
-
-            $node->appendChild($child);
-        }
-
-        return $asDom ? $dom : $dom->saveXml();
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        foreach ($this->nodes as $node) {
-            $node->compile($compiler);
-        }
-    }
-
-    public function getLine()
-    {
-        return $this->lineno;
-    }
-
-    public function getNodeTag()
-    {
-        return $this->tag;
-    }
-
-    /**
-     * Returns true if the attribute is defined.
-     *
-     * @param  string  The attribute name
-     *
-     * @return Boolean true if the attribute is defined, false otherwise
-     */
-    public function hasAttribute($name)
-    {
-        return array_key_exists($name, $this->attributes);
-    }
-
-    /**
-     * Gets an attribute.
-     *
-     * @param  string The attribute name
-     *
-     * @return mixed The attribute value
-     */
-    public function getAttribute($name)
-    {
-        if (!array_key_exists($name, $this->attributes)) {
-            throw new LogicException(sprintf('Attribute "%s" does not exist for Node "%s".', $name, get_class($this)));
-        }
-
-        return $this->attributes[$name];
-    }
-
-    /**
-     * Sets an attribute.
-     *
-     * @param string The attribute name
-     * @param mixed  The attribute value
-     */
-    public function setAttribute($name, $value)
-    {
-        $this->attributes[$name] = $value;
-    }
-
-    /**
-     * Removes an attribute.
-     *
-     * @param string The attribute name
-     */
-    public function removeAttribute($name)
-    {
-        unset($this->attributes[$name]);
-    }
-
-    /**
-     * Returns true if the node with the given identifier exists.
-     *
-     * @param  string  The node name
-     *
-     * @return Boolean true if the node with the given name exists, false otherwise
-     */
-    public function hasNode($name)
-    {
-        return array_key_exists($name, $this->nodes);
-    }
-
-    /**
-     * Gets a node by name.
-     *
-     * @param  string The node name
-     *
-     * @return Twig_Node A Twig_Node instance
-     */
-    public function getNode($name)
-    {
-        if (!array_key_exists($name, $this->nodes)) {
-            throw new LogicException(sprintf('Node "%s" does not exist for Node "%s".', $name, get_class($this)));
-        }
-
-        return $this->nodes[$name];
-    }
-
-    /**
-     * Sets a node.
-     *
-     * @param string    The node name
-     * @param Twig_Node A Twig_Node instance
-     */
-    public function setNode($name, $node = null)
-    {
-        $this->nodes[$name] = $node;
-    }
-
-    /**
-     * Removes a node by name.
-     *
-     * @param string The node name
-     */
-    public function removeNode($name)
-    {
-        unset($this->nodes[$name]);
-    }
-
-    public function count()
-    {
-        return count($this->nodes);
-    }
-
-    public function getIterator()
-    {
-        return new ArrayIterator($this->nodes);
-    }
-}
diff --git a/lib/Twig/Node/AutoEscape.php b/lib/Twig/Node/AutoEscape.php
deleted file mode 100644
index 8f190e0bd85..00000000000
--- a/lib/Twig/Node/AutoEscape.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents an autoescape node.
- *
- * The value is the escaping strategy (can be html, js, ...)
- *
- * The true value is equivalent to html.
- *
- * If autoescaping is disabled, then the value is false.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_AutoEscape extends Twig_Node
-{
-    public function __construct($value, Twig_NodeInterface $body, $lineno, $tag = 'autoescape')
-    {
-        parent::__construct(array('body' => $body), array('value' => $value), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->subcompile($this->getNode('body'));
-    }
-}
diff --git a/lib/Twig/Node/Block.php b/lib/Twig/Node/Block.php
deleted file mode 100644
index 50eb67ed8c5..00000000000
--- a/lib/Twig/Node/Block.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a block node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Block extends Twig_Node
-{
-    public function __construct($name, Twig_NodeInterface $body, $lineno, $tag = null)
-    {
-        parent::__construct(array('body' => $body), array('name' => $name), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write(sprintf("public function block_%s(\$context, array \$blocks = array())\n", $this->getAttribute('name')), "{\n")
-            ->indent()
-        ;
-
-        $compiler
-            ->subcompile($this->getNode('body'))
-            ->outdent()
-            ->write("}\n\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/BlockReference.php b/lib/Twig/Node/BlockReference.php
deleted file mode 100644
index 013e369ebe8..00000000000
--- a/lib/Twig/Node/BlockReference.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a block call node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_BlockReference extends Twig_Node implements Twig_NodeOutputInterface
-{
-    public function __construct($name, $lineno, $tag = null)
-    {
-        parent::__construct(array(), array('name' => $name), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write(sprintf("\$this->displayBlock('%s', \$context, \$blocks);\n", $this->getAttribute('name')))
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Body.php b/lib/Twig/Node/Body.php
deleted file mode 100644
index 3ffb1342b74..00000000000
--- a/lib/Twig/Node/Body.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a body node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Body extends Twig_Node
-{
-}
diff --git a/lib/Twig/Node/Do.php b/lib/Twig/Node/Do.php
deleted file mode 100644
index c528066b29f..00000000000
--- a/lib/Twig/Node/Do.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a do node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Do extends Twig_Node
-{
-    public function __construct(Twig_Node_Expression $expr, $lineno, $tag = null)
-    {
-        parent::__construct(array('expr' => $expr), array(), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write('')
-            ->subcompile($this->getNode('expr'))
-            ->raw(";\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Embed.php b/lib/Twig/Node/Embed.php
deleted file mode 100644
index 4c9456dc059..00000000000
--- a/lib/Twig/Node/Embed.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents an embed node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Embed extends Twig_Node_Include
-{
-    // we don't inject the module to avoid node visitors to traverse it twice (as it will be already visited in the main module)
-    public function __construct($filename, $index, Twig_Node_Expression $variables = null, $only = false, $ignoreMissing = false, $lineno, $tag = null)
-    {
-        parent::__construct(new Twig_Node_Expression_Constant('not_used', $lineno), $variables, $only, $ignoreMissing, $lineno, $tag);
-
-        $this->setAttribute('filename', $filename);
-        $this->setAttribute('index', $index);
-    }
-
-    protected function addGetTemplate(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->write("\$this->env->loadTemplate(")
-            ->string($this->getAttribute('filename'))
-            ->raw(', ')
-            ->string($this->getAttribute('index'))
-            ->raw(")")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression.php b/lib/Twig/Node/Expression.php
deleted file mode 100644
index a7382e7d6ec..00000000000
--- a/lib/Twig/Node/Expression.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Abstract class for all nodes that represents an expression.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class Twig_Node_Expression extends Twig_Node
-{
-}
diff --git a/lib/Twig/Node/Expression/Array.php b/lib/Twig/Node/Expression/Array.php
deleted file mode 100644
index 1da785fe427..00000000000
--- a/lib/Twig/Node/Expression/Array.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Array extends Twig_Node_Expression
-{
-    protected $index;
-
-    public function __construct(array $elements, $lineno)
-    {
-        parent::__construct($elements, array(), $lineno);
-
-        $this->index = -1;
-        foreach ($this->getKeyValuePairs() as $pair) {
-            if ($pair['key'] instanceof Twig_Node_Expression_Constant && ctype_digit((string) $pair['key']->getAttribute('value')) && $pair['key']->getAttribute('value') > $this->index) {
-                $this->index = $pair['key']->getAttribute('value');
-            }
-        }
-    }
-
-    public function getKeyValuePairs()
-    {
-        $pairs = array();
-
-        foreach (array_chunk($this->nodes, 2) as $pair) {
-            $pairs[] = array(
-                'key' => $pair[0],
-                'value' => $pair[1],
-            );
-        }
-
-        return $pairs;
-    }
-
-    public function hasElement(Twig_Node_Expression $key)
-    {
-        foreach ($this->getKeyValuePairs() as $pair) {
-            // we compare the string representation of the keys
-            // to avoid comparing the line numbers which are not relevant here.
-            if ((string) $key == (string) $pair['key']) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    public function addElement(Twig_Node_Expression $value, Twig_Node_Expression $key = null)
-    {
-        if (null === $key) {
-            $key = new Twig_Node_Expression_Constant(++$this->index, $value->getLine());
-        }
-
-        array_push($this->nodes, $key, $value);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->raw('array(');
-        $first = true;
-        foreach ($this->getKeyValuePairs() as $pair) {
-            if (!$first) {
-                $compiler->raw(', ');
-            }
-            $first = false;
-
-            $compiler
-                ->subcompile($pair['key'])
-                ->raw(' => ')
-                ->subcompile($pair['value'])
-            ;
-        }
-        $compiler->raw(')');
-    }
-}
diff --git a/lib/Twig/Node/Expression/AssignName.php b/lib/Twig/Node/Expression/AssignName.php
deleted file mode 100644
index 2ddea78cf05..00000000000
--- a/lib/Twig/Node/Expression/AssignName.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Twig_Node_Expression_AssignName extends Twig_Node_Expression_Name
-{
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('$context[')
-            ->string($this->getAttribute('name'))
-            ->raw(']')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary.php b/lib/Twig/Node/Expression/Binary.php
deleted file mode 100644
index 9dd5de2c83a..00000000000
--- a/lib/Twig/Node/Expression/Binary.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-abstract class Twig_Node_Expression_Binary extends Twig_Node_Expression
-{
-    public function __construct(Twig_NodeInterface $left, Twig_NodeInterface $right, $lineno)
-    {
-        parent::__construct(array('left' => $left, 'right' => $right), array(), $lineno);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('(')
-            ->subcompile($this->getNode('left'))
-            ->raw(' ')
-        ;
-        $this->operator($compiler);
-        $compiler
-            ->raw(' ')
-            ->subcompile($this->getNode('right'))
-            ->raw(')')
-        ;
-    }
-
-    abstract public function operator(Twig_Compiler $compiler);
-}
diff --git a/lib/Twig/Node/Expression/Binary/Add.php b/lib/Twig/Node/Expression/Binary/Add.php
deleted file mode 100644
index 0ef8e11723c..00000000000
--- a/lib/Twig/Node/Expression/Binary/Add.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Add extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('+');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/And.php b/lib/Twig/Node/Expression/Binary/And.php
deleted file mode 100644
index d5752ebba0e..00000000000
--- a/lib/Twig/Node/Expression/Binary/And.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_And extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('&&');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/BitwiseAnd.php b/lib/Twig/Node/Expression/Binary/BitwiseAnd.php
deleted file mode 100644
index 9a46d845550..00000000000
--- a/lib/Twig/Node/Expression/Binary/BitwiseAnd.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_BitwiseAnd extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('&');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/BitwiseOr.php b/lib/Twig/Node/Expression/Binary/BitwiseOr.php
deleted file mode 100644
index 058a20bf637..00000000000
--- a/lib/Twig/Node/Expression/Binary/BitwiseOr.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_BitwiseOr extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('|');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/BitwiseXor.php b/lib/Twig/Node/Expression/Binary/BitwiseXor.php
deleted file mode 100644
index f4da73d4451..00000000000
--- a/lib/Twig/Node/Expression/Binary/BitwiseXor.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_BitwiseXor extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('^');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Concat.php b/lib/Twig/Node/Expression/Binary/Concat.php
deleted file mode 100644
index f9a6462701c..00000000000
--- a/lib/Twig/Node/Expression/Binary/Concat.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Concat extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('.');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Div.php b/lib/Twig/Node/Expression/Binary/Div.php
deleted file mode 100644
index e0797a61254..00000000000
--- a/lib/Twig/Node/Expression/Binary/Div.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Div extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('/');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Equal.php b/lib/Twig/Node/Expression/Binary/Equal.php
deleted file mode 100644
index 7b1236d0ad9..00000000000
--- a/lib/Twig/Node/Expression/Binary/Equal.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Equal extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('==');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/FloorDiv.php b/lib/Twig/Node/Expression/Binary/FloorDiv.php
deleted file mode 100644
index 7fbd0556fca..00000000000
--- a/lib/Twig/Node/Expression/Binary/FloorDiv.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_FloorDiv extends Twig_Node_Expression_Binary
-{
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->raw('intval(floor(');
-        parent::compile($compiler);
-        $compiler->raw('))');
-    }
-
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('/');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Greater.php b/lib/Twig/Node/Expression/Binary/Greater.php
deleted file mode 100644
index a110bd92dcf..00000000000
--- a/lib/Twig/Node/Expression/Binary/Greater.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Greater extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('>');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/GreaterEqual.php b/lib/Twig/Node/Expression/Binary/GreaterEqual.php
deleted file mode 100644
index 3754fed216b..00000000000
--- a/lib/Twig/Node/Expression/Binary/GreaterEqual.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_GreaterEqual extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('>=');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/In.php b/lib/Twig/Node/Expression/Binary/In.php
deleted file mode 100644
index 788f9377aea..00000000000
--- a/lib/Twig/Node/Expression/Binary/In.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_In extends Twig_Node_Expression_Binary
-{
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('twig_in_filter(')
-            ->subcompile($this->getNode('left'))
-            ->raw(', ')
-            ->subcompile($this->getNode('right'))
-            ->raw(')')
-        ;
-    }
-
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('in');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Less.php b/lib/Twig/Node/Expression/Binary/Less.php
deleted file mode 100644
index 45fd3004960..00000000000
--- a/lib/Twig/Node/Expression/Binary/Less.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Less extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('<');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/LessEqual.php b/lib/Twig/Node/Expression/Binary/LessEqual.php
deleted file mode 100644
index e38e257c354..00000000000
--- a/lib/Twig/Node/Expression/Binary/LessEqual.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_LessEqual extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('<=');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Mod.php b/lib/Twig/Node/Expression/Binary/Mod.php
deleted file mode 100644
index 9924114fbd3..00000000000
--- a/lib/Twig/Node/Expression/Binary/Mod.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Mod extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('%');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Mul.php b/lib/Twig/Node/Expression/Binary/Mul.php
deleted file mode 100644
index c91529ca669..00000000000
--- a/lib/Twig/Node/Expression/Binary/Mul.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Mul extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('*');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/NotEqual.php b/lib/Twig/Node/Expression/Binary/NotEqual.php
deleted file mode 100644
index 26867ba207c..00000000000
--- a/lib/Twig/Node/Expression/Binary/NotEqual.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_NotEqual extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('!=');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/NotIn.php b/lib/Twig/Node/Expression/Binary/NotIn.php
deleted file mode 100644
index f347b7b6e82..00000000000
--- a/lib/Twig/Node/Expression/Binary/NotIn.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_NotIn extends Twig_Node_Expression_Binary
-{
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('!twig_in_filter(')
-            ->subcompile($this->getNode('left'))
-            ->raw(', ')
-            ->subcompile($this->getNode('right'))
-            ->raw(')')
-        ;
-    }
-
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('not in');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Or.php b/lib/Twig/Node/Expression/Binary/Or.php
deleted file mode 100644
index adba49c6f4f..00000000000
--- a/lib/Twig/Node/Expression/Binary/Or.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Or extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('||');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Power.php b/lib/Twig/Node/Expression/Binary/Power.php
deleted file mode 100644
index b2c59040500..00000000000
--- a/lib/Twig/Node/Expression/Binary/Power.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Power extends Twig_Node_Expression_Binary
-{
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('pow(')
-            ->subcompile($this->getNode('left'))
-            ->raw(', ')
-            ->subcompile($this->getNode('right'))
-            ->raw(')')
-        ;
-    }
-
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('**');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Range.php b/lib/Twig/Node/Expression/Binary/Range.php
deleted file mode 100644
index bea4f2a6070..00000000000
--- a/lib/Twig/Node/Expression/Binary/Range.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Range extends Twig_Node_Expression_Binary
-{
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('range(')
-            ->subcompile($this->getNode('left'))
-            ->raw(', ')
-            ->subcompile($this->getNode('right'))
-            ->raw(')')
-        ;
-    }
-
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('..');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Sub.php b/lib/Twig/Node/Expression/Binary/Sub.php
deleted file mode 100644
index d4463991572..00000000000
--- a/lib/Twig/Node/Expression/Binary/Sub.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Sub extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('-');
-    }
-}
diff --git a/lib/Twig/Node/Expression/BlockReference.php b/lib/Twig/Node/Expression/BlockReference.php
deleted file mode 100644
index 647196eb5b8..00000000000
--- a/lib/Twig/Node/Expression/BlockReference.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a block call node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_BlockReference extends Twig_Node_Expression
-{
-    public function __construct(Twig_NodeInterface $name, $asString = false, $lineno, $tag = null)
-    {
-        parent::__construct(array('name' => $name), array('as_string' => $asString, 'output' => false), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        if ($this->getAttribute('as_string')) {
-            $compiler->raw('(string) ');
-        }
-
-        if ($this->getAttribute('output')) {
-            $compiler
-                ->addDebugInfo($this)
-                ->write("\$this->displayBlock(")
-                ->subcompile($this->getNode('name'))
-                ->raw(", \$context, \$blocks);\n")
-            ;
-        } else {
-            $compiler
-                ->raw("\$this->renderBlock(")
-                ->subcompile($this->getNode('name'))
-                ->raw(", \$context, \$blocks)")
-            ;
-        }
-    }
-}
diff --git a/lib/Twig/Node/Expression/Call.php b/lib/Twig/Node/Expression/Call.php
deleted file mode 100644
index 87b62deb09e..00000000000
--- a/lib/Twig/Node/Expression/Call.php
+++ /dev/null
@@ -1,178 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-abstract class Twig_Node_Expression_Call extends Twig_Node_Expression
-{
-    protected function compileCallable(Twig_Compiler $compiler)
-    {
-        $callable = $this->getAttribute('callable');
-
-        $closingParenthesis = false;
-        if ($callable) {
-            if (is_string($callable)) {
-                $compiler->raw($callable);
-            } elseif (is_array($callable) && $callable[0] instanceof Twig_ExtensionInterface) {
-                $compiler->raw(sprintf('$this->env->getExtension(\'%s\')->%s', $callable[0]->getName(), $callable[1]));
-            } else {
-                $type = ucfirst($this->getAttribute('type'));
-                $compiler->raw(sprintf('call_user_func_array($this->env->get%s(\'%s\')->getCallable(), array', $type, $this->getAttribute('name')));
-                $closingParenthesis = true;
-            }
-        } else {
-            $compiler->raw($this->getAttribute('thing')->compile());
-        }
-
-        $this->compileArguments($compiler);
-
-        if ($closingParenthesis) {
-            $compiler->raw(')');
-        }
-    }
-
-    protected function compileArguments(Twig_Compiler $compiler)
-    {
-        $compiler->raw('(');
-
-        $first = true;
-
-        if ($this->hasAttribute('needs_environment') && $this->getAttribute('needs_environment')) {
-            $compiler->raw('$this->env');
-            $first = false;
-        }
-
-        if ($this->hasAttribute('needs_context') && $this->getAttribute('needs_context')) {
-            if (!$first) {
-                $compiler->raw(', ');
-            }
-            $compiler->raw('$context');
-            $first = false;
-        }
-
-        if ($this->hasAttribute('arguments')) {
-            foreach ($this->getAttribute('arguments') as $argument) {
-                if (!$first) {
-                    $compiler->raw(', ');
-                }
-                $compiler->string($argument);
-                $first = false;
-            }
-        }
-
-        if ($this->hasNode('node')) {
-            if (!$first) {
-                $compiler->raw(', ');
-            }
-            $compiler->subcompile($this->getNode('node'));
-            $first = false;
-        }
-
-        if ($this->hasNode('arguments') && null !== $this->getNode('arguments')) {
-            $callable = $this->hasAttribute('callable') ? $this->getAttribute('callable') : null;
-
-            $arguments = $this->getArguments($callable, $this->getNode('arguments'));
-
-            foreach ($arguments as $node) {
-                if (!$first) {
-                    $compiler->raw(', ');
-                }
-                $compiler->subcompile($node);
-                $first = false;
-            }
-        }
-
-        $compiler->raw(')');
-    }
-
-    protected function getArguments($callable, $arguments)
-    {
-        $parameters = array();
-        $named = false;
-        foreach ($arguments as $name => $node) {
-            if (!is_int($name)) {
-                $named = true;
-                $name = $this->normalizeName($name);
-            } elseif ($named) {
-                throw new Twig_Error_Syntax(sprintf('Positional arguments cannot be used after named arguments for %s "%s".', $this->getAttribute('type'), $this->getAttribute('name')));
-            }
-
-            $parameters[$name] = $node;
-        }
-
-        if (!$named) {
-            return $parameters;
-        }
-
-        if (!$callable) {
-            throw new LogicException(sprintf('Named arguments are not supported for %s "%s".', $this->getAttribute('type'), $this->getAttribute('name')));
-        }
-
-        // manage named arguments
-        if (is_array($callable)) {
-            $r = new ReflectionMethod($callable[0], $callable[1]);
-        } elseif (is_object($callable) && !$callable instanceof Closure) {
-            $r = new ReflectionObject($callable);
-            $r = $r->getMethod('__invoke');
-        } else {
-            $r = new ReflectionFunction($callable);
-        }
-
-        $definition = $r->getParameters();
-        if ($this->hasNode('node')) {
-            array_shift($definition);
-        }
-        if ($this->hasAttribute('needs_environment') && $this->getAttribute('needs_environment')) {
-            array_shift($definition);
-        }
-        if ($this->hasAttribute('needs_context') && $this->getAttribute('needs_context')) {
-            array_shift($definition);
-        }
-        if ($this->hasAttribute('arguments') && null !== $this->getAttribute('arguments')) {
-            foreach ($this->getAttribute('arguments') as $argument) {
-                array_shift($definition);
-            }
-        }
-
-        $arguments = array();
-        $pos = 0;
-        foreach ($definition as $param) {
-            $name = $this->normalizeName($param->name);
-
-            if (array_key_exists($name, $parameters)) {
-                if (array_key_exists($pos, $parameters)) {
-                    throw new Twig_Error_Syntax(sprintf('Arguments "%s" is defined twice for %s "%s".', $name, $this->getAttribute('type'), $this->getAttribute('name')));
-                }
-
-                $arguments[] = $parameters[$name];
-                unset($parameters[$name]);
-            } elseif (array_key_exists($pos, $parameters)) {
-                $arguments[] = $parameters[$pos];
-                unset($parameters[$pos]);
-                ++$pos;
-            } elseif ($param->isDefaultValueAvailable()) {
-                $arguments[] = new Twig_Node_Expression_Constant($param->getDefaultValue(), -1);
-            } elseif ($param->isOptional()) {
-                break;
-            } else {
-                throw new Twig_Error_Syntax(sprintf('Value for argument "%s" is required for %s "%s".', $name, $this->getAttribute('type'), $this->getAttribute('name')));
-            }
-        }
-
-        foreach (array_keys($parameters) as $name) {
-            throw new Twig_Error_Syntax(sprintf('Unknown argument "%s" for %s "%s".', $name, $this->getAttribute('type'), $this->getAttribute('name')));
-        }
-
-        return $arguments;
-    }
-
-    protected function normalizeName($name)
-    {
-        return strtolower(preg_replace(array('/([A-Z]+)([A-Z][a-z])/', '/([a-z\d])([A-Z])/'), array('\\1_\\2', '\\1_\\2'), $name));
-    }
-}
diff --git a/lib/Twig/Node/Expression/Conditional.php b/lib/Twig/Node/Expression/Conditional.php
deleted file mode 100644
index edcb1e2d21b..00000000000
--- a/lib/Twig/Node/Expression/Conditional.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Conditional extends Twig_Node_Expression
-{
-    public function __construct(Twig_Node_Expression $expr1, Twig_Node_Expression $expr2, Twig_Node_Expression $expr3, $lineno)
-    {
-        parent::__construct(array('expr1' => $expr1, 'expr2' => $expr2, 'expr3' => $expr3), array(), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('((')
-            ->subcompile($this->getNode('expr1'))
-            ->raw(') ? (')
-            ->subcompile($this->getNode('expr2'))
-            ->raw(') : (')
-            ->subcompile($this->getNode('expr3'))
-            ->raw('))')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Constant.php b/lib/Twig/Node/Expression/Constant.php
deleted file mode 100644
index a91dc6985ce..00000000000
--- a/lib/Twig/Node/Expression/Constant.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Constant extends Twig_Node_Expression
-{
-    public function __construct($value, $lineno)
-    {
-        parent::__construct(array(), array('value' => $value), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->repr($this->getAttribute('value'));
-    }
-}
diff --git a/lib/Twig/Node/Expression/ExtensionReference.php b/lib/Twig/Node/Expression/ExtensionReference.php
deleted file mode 100644
index 00ac6701f41..00000000000
--- a/lib/Twig/Node/Expression/ExtensionReference.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents an extension call node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_ExtensionReference extends Twig_Node_Expression
-{
-    public function __construct($name, $lineno, $tag = null)
-    {
-        parent::__construct(array(), array('name' => $name), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->raw(sprintf("\$this->env->getExtension('%s')", $this->getAttribute('name')));
-    }
-}
diff --git a/lib/Twig/Node/Expression/Filter.php b/lib/Twig/Node/Expression/Filter.php
deleted file mode 100644
index 207b062a3af..00000000000
--- a/lib/Twig/Node/Expression/Filter.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Filter extends Twig_Node_Expression_Call
-{
-    public function __construct(Twig_NodeInterface $node, Twig_Node_Expression_Constant $filterName, Twig_NodeInterface $arguments, $lineno, $tag = null)
-    {
-        parent::__construct(array('node' => $node, 'filter' => $filterName, 'arguments' => $arguments), array(), $lineno, $tag);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $name = $this->getNode('filter')->getAttribute('value');
-        $filter = $compiler->getEnvironment()->getFilter($name);
-
-        $this->setAttribute('name', $name);
-        $this->setAttribute('type', 'filter');
-        $this->setAttribute('thing', $filter);
-        $this->setAttribute('needs_environment', $filter->needsEnvironment());
-        $this->setAttribute('needs_context', $filter->needsContext());
-        $this->setAttribute('arguments', $filter->getArguments());
-        if ($filter instanceof Twig_FilterCallableInterface || $filter instanceof Twig_SimpleFilter) {
-            $this->setAttribute('callable', $filter->getCallable());
-        }
-
-        $this->compileCallable($compiler);
-    }
-}
diff --git a/lib/Twig/Node/Expression/Filter/Default.php b/lib/Twig/Node/Expression/Filter/Default.php
deleted file mode 100644
index 1827c888643..00000000000
--- a/lib/Twig/Node/Expression/Filter/Default.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Returns the value or the default value when it is undefined or empty.
- *
- * <pre>
- *  {{ var.foo|default('foo item on var is not defined') }}
- * </pre>
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Filter_Default extends Twig_Node_Expression_Filter
-{
-    public function __construct(Twig_NodeInterface $node, Twig_Node_Expression_Constant $filterName, Twig_NodeInterface $arguments, $lineno, $tag = null)
-    {
-        $default = new Twig_Node_Expression_Filter($node, new Twig_Node_Expression_Constant('default', $node->getLine()), $arguments, $node->getLine());
-
-        if ('default' === $filterName->getAttribute('value') && ($node instanceof Twig_Node_Expression_Name || $node instanceof Twig_Node_Expression_GetAttr)) {
-            $test = new Twig_Node_Expression_Test_Defined(clone $node, 'defined', new Twig_Node(), $node->getLine());
-            $false = count($arguments) ? $arguments->getNode(0) : new Twig_Node_Expression_Constant('', $node->getLine());
-
-            $node = new Twig_Node_Expression_Conditional($test, $default, $false, $node->getLine());
-        } else {
-            $node = $default;
-        }
-
-        parent::__construct($node, $filterName, $arguments, $lineno, $tag);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->subcompile($this->getNode('node'));
-    }
-}
diff --git a/lib/Twig/Node/Expression/Function.php b/lib/Twig/Node/Expression/Function.php
deleted file mode 100644
index 3e1f6b55909..00000000000
--- a/lib/Twig/Node/Expression/Function.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Function extends Twig_Node_Expression_Call
-{
-    public function __construct($name, Twig_NodeInterface $arguments, $lineno)
-    {
-        parent::__construct(array('arguments' => $arguments), array('name' => $name), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $name = $this->getAttribute('name');
-        $function = $compiler->getEnvironment()->getFunction($name);
-
-        $this->setAttribute('name', $name);
-        $this->setAttribute('type', 'function');
-        $this->setAttribute('thing', $function);
-        $this->setAttribute('needs_environment', $function->needsEnvironment());
-        $this->setAttribute('needs_context', $function->needsContext());
-        $this->setAttribute('arguments', $function->getArguments());
-        if ($function instanceof Twig_FunctionCallableInterface || $function instanceof Twig_SimpleFunction) {
-            $this->setAttribute('callable', $function->getCallable());
-        }
-
-        $this->compileCallable($compiler);
-    }
-}
diff --git a/lib/Twig/Node/Expression/GetAttr.php b/lib/Twig/Node/Expression/GetAttr.php
deleted file mode 100644
index 81a9b137abd..00000000000
--- a/lib/Twig/Node/Expression/GetAttr.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_GetAttr extends Twig_Node_Expression
-{
-    public function __construct(Twig_Node_Expression $node, Twig_Node_Expression $attribute, Twig_Node_Expression_Array $arguments, $type, $lineno)
-    {
-        parent::__construct(array('node' => $node, 'attribute' => $attribute, 'arguments' => $arguments), array('type' => $type, 'is_defined_test' => false, 'ignore_strict_check' => false, 'disable_c_ext' => false), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        if (function_exists('twig_template_get_attributes') && !$this->getAttribute('disable_c_ext')) {
-            $compiler->raw('twig_template_get_attributes($this, ');
-        } else {
-            $compiler->raw('$this->getAttribute(');
-        }
-
-        if ($this->getAttribute('ignore_strict_check')) {
-            $this->getNode('node')->setAttribute('ignore_strict_check', true);
-        }
-
-        $compiler->subcompile($this->getNode('node'));
-
-        $compiler->raw(', ')->subcompile($this->getNode('attribute'));
-
-        if (count($this->getNode('arguments')) || Twig_TemplateInterface::ANY_CALL !== $this->getAttribute('type') || $this->getAttribute('is_defined_test') || $this->getAttribute('ignore_strict_check')) {
-            $compiler->raw(', ')->subcompile($this->getNode('arguments'));
-
-            if (Twig_TemplateInterface::ANY_CALL !== $this->getAttribute('type') || $this->getAttribute('is_defined_test') || $this->getAttribute('ignore_strict_check')) {
-                $compiler->raw(', ')->repr($this->getAttribute('type'));
-            }
-
-            if ($this->getAttribute('is_defined_test') || $this->getAttribute('ignore_strict_check')) {
-                $compiler->raw(', '.($this->getAttribute('is_defined_test') ? 'true' : 'false'));
-            }
-
-            if ($this->getAttribute('ignore_strict_check')) {
-                $compiler->raw(', '.($this->getAttribute('ignore_strict_check') ? 'true' : 'false'));
-            }
-        }
-
-        $compiler->raw(')');
-    }
-}
diff --git a/lib/Twig/Node/Expression/MethodCall.php b/lib/Twig/Node/Expression/MethodCall.php
deleted file mode 100644
index 620b02bf471..00000000000
--- a/lib/Twig/Node/Expression/MethodCall.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_MethodCall extends Twig_Node_Expression
-{
-    public function __construct(Twig_Node_Expression $node, $method, Twig_Node_Expression_Array $arguments, $lineno)
-    {
-        parent::__construct(array('node' => $node, 'arguments' => $arguments), array('method' => $method, 'safe' => false), $lineno);
-
-        if ($node instanceof Twig_Node_Expression_Name) {
-            $node->setAttribute('always_defined', true);
-        }
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->subcompile($this->getNode('node'))
-            ->raw('->')
-            ->raw($this->getAttribute('method'))
-            ->raw('(')
-        ;
-        $first = true;
-        foreach ($this->getNode('arguments')->getKeyValuePairs() as $pair) {
-            if (!$first) {
-                $compiler->raw(', ');
-            }
-            $first = false;
-
-            $compiler->subcompile($pair['value']);
-        }
-        $compiler->raw(')');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Name.php b/lib/Twig/Node/Expression/Name.php
deleted file mode 100644
index 3b8fae01dc6..00000000000
--- a/lib/Twig/Node/Expression/Name.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Name extends Twig_Node_Expression
-{
-    protected $specialVars = array(
-        '_self'    => '$this',
-        '_context' => '$context',
-        '_charset' => '$this->env->getCharset()',
-    );
-
-    public function __construct($name, $lineno)
-    {
-        parent::__construct(array(), array('name' => $name, 'is_defined_test' => false, 'ignore_strict_check' => false, 'always_defined' => false), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $name = $this->getAttribute('name');
-
-        if ($this->getAttribute('is_defined_test')) {
-            if ($this->isSpecial()) {
-                $compiler->repr(true);
-            } else {
-                $compiler->raw('array_key_exists(')->repr($name)->raw(', $context)');
-            }
-        } elseif ($this->isSpecial()) {
-            $compiler->raw($this->specialVars[$name]);
-        } elseif ($this->getAttribute('always_defined')) {
-            $compiler
-                ->raw('$context[')
-                ->string($name)
-                ->raw(']')
-            ;
-        } else {
-            // remove the non-PHP 5.4 version when PHP 5.3 support is dropped
-            // as the non-optimized version is just a workaround for slow ternary operator
-            // when the context has a lot of variables
-            if (version_compare(phpversion(), '5.4.0RC1', '>=')) {
-                // PHP 5.4 ternary operator performance was optimized
-                $compiler
-                    ->raw('(isset($context[')
-                    ->string($name)
-                    ->raw(']) ? $context[')
-                    ->string($name)
-                    ->raw('] : ')
-                ;
-
-                if ($this->getAttribute('ignore_strict_check') || !$compiler->getEnvironment()->isStrictVariables()) {
-                    $compiler->raw('null)');
-                } else {
-                    $compiler->raw('$this->getContext($context, ')->string($name)->raw('))');
-                }
-            } else {
-                $compiler
-                    ->raw('$this->getContext($context, ')
-                    ->string($name)
-                ;
-
-                if ($this->getAttribute('ignore_strict_check')) {
-                    $compiler->raw(', true');
-                }
-
-                $compiler
-                    ->raw(')')
-                ;
-            }
-        }
-    }
-
-    public function isSpecial()
-    {
-        return isset($this->specialVars[$this->getAttribute('name')]);
-    }
-
-    public function isSimple()
-    {
-        return !$this->isSpecial() && !$this->getAttribute('is_defined_test');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Parent.php b/lib/Twig/Node/Expression/Parent.php
deleted file mode 100644
index dcf618c04a6..00000000000
--- a/lib/Twig/Node/Expression/Parent.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a parent node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Parent extends Twig_Node_Expression
-{
-    public function __construct($name, $lineno, $tag = null)
-    {
-        parent::__construct(array(), array('output' => false, 'name' => $name), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        if ($this->getAttribute('output')) {
-            $compiler
-                ->addDebugInfo($this)
-                ->write("\$this->displayParentBlock(")
-                ->string($this->getAttribute('name'))
-                ->raw(", \$context, \$blocks);\n")
-            ;
-        } else {
-            $compiler
-                ->raw("\$this->renderParentBlock(")
-                ->string($this->getAttribute('name'))
-                ->raw(", \$context, \$blocks)")
-            ;
-        }
-    }
-}
diff --git a/lib/Twig/Node/Expression/TempName.php b/lib/Twig/Node/Expression/TempName.php
deleted file mode 100644
index e6b058e85ce..00000000000
--- a/lib/Twig/Node/Expression/TempName.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_TempName extends Twig_Node_Expression
-{
-    public function __construct($name, $lineno)
-    {
-        parent::__construct(array(), array('name' => $name), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('$_')
-            ->raw($this->getAttribute('name'))
-            ->raw('_')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test.php b/lib/Twig/Node/Expression/Test.php
deleted file mode 100644
index 639f501a186..00000000000
--- a/lib/Twig/Node/Expression/Test.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Test extends Twig_Node_Expression_Call
-{
-    public function __construct(Twig_NodeInterface $node, $name, Twig_NodeInterface $arguments = null, $lineno)
-    {
-        parent::__construct(array('node' => $node, 'arguments' => $arguments), array('name' => $name), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $name = $this->getAttribute('name');
-        $test = $compiler->getEnvironment()->getTest($name);
-
-        $this->setAttribute('name', $name);
-        $this->setAttribute('type', 'test');
-        $this->setAttribute('thing', $test);
-        if ($test instanceof Twig_TestCallableInterface || $test instanceof Twig_SimpleTest) {
-            $this->setAttribute('callable', $test->getCallable());
-        }
-
-        $this->compileCallable($compiler);
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test/Constant.php b/lib/Twig/Node/Expression/Test/Constant.php
deleted file mode 100644
index 45b1e5da5aa..00000000000
--- a/lib/Twig/Node/Expression/Test/Constant.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Checks if a variable is the exact same value as a constant.
- *
- * <pre>
- *  {% if post.status is constant('Post::PUBLISHED') %}
- *    the status attribute is exactly the same as Post::PUBLISHED
- *  {% endif %}
- * </pre>
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Test_Constant extends Twig_Node_Expression_Test
-{
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('(')
-            ->subcompile($this->getNode('node'))
-            ->raw(' === constant(')
-            ->subcompile($this->getNode('arguments')->getNode(0))
-            ->raw('))')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test/Defined.php b/lib/Twig/Node/Expression/Test/Defined.php
deleted file mode 100644
index 247b2e23a53..00000000000
--- a/lib/Twig/Node/Expression/Test/Defined.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Checks if a variable is defined in the current context.
- *
- * <pre>
- * {# defined works with variable names and variable attributes #}
- * {% if foo is defined %}
- *     {# ... #}
- * {% endif %}
- * </pre>
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Test_Defined extends Twig_Node_Expression_Test
-{
-    public function __construct(Twig_NodeInterface $node, $name, Twig_NodeInterface $arguments = null, $lineno)
-    {
-        parent::__construct($node, $name, $arguments, $lineno);
-
-        if ($node instanceof Twig_Node_Expression_Name) {
-            $node->setAttribute('is_defined_test', true);
-        } elseif ($node instanceof Twig_Node_Expression_GetAttr) {
-            $node->setAttribute('is_defined_test', true);
-
-            $this->changeIgnoreStrictCheck($node);
-        } else {
-            throw new Twig_Error_Syntax('The "defined" test only works with simple variables', $this->getLine());
-        }
-    }
-
-    protected function changeIgnoreStrictCheck(Twig_Node_Expression_GetAttr $node)
-    {
-        $node->setAttribute('ignore_strict_check', true);
-
-        if ($node->getNode('node') instanceof Twig_Node_Expression_GetAttr) {
-            $this->changeIgnoreStrictCheck($node->getNode('node'));
-        }
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->subcompile($this->getNode('node'));
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test/Divisibleby.php b/lib/Twig/Node/Expression/Test/Divisibleby.php
deleted file mode 100644
index 0aceb5302cb..00000000000
--- a/lib/Twig/Node/Expression/Test/Divisibleby.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Checks if a variable is divisible by a number.
- *
- * <pre>
- *  {% if loop.index is divisibleby(3) %}
- * </pre>
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Test_Divisibleby extends Twig_Node_Expression_Test
-{
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('(0 == ')
-            ->subcompile($this->getNode('node'))
-            ->raw(' % ')
-            ->subcompile($this->getNode('arguments')->getNode(0))
-            ->raw(')')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test/Even.php b/lib/Twig/Node/Expression/Test/Even.php
deleted file mode 100644
index d7853e89c68..00000000000
--- a/lib/Twig/Node/Expression/Test/Even.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Checks if a number is even.
- *
- * <pre>
- *  {{ var is even }}
- * </pre>
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Test_Even extends Twig_Node_Expression_Test
-{
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('(')
-            ->subcompile($this->getNode('node'))
-            ->raw(' % 2 == 0')
-            ->raw(')')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test/Null.php b/lib/Twig/Node/Expression/Test/Null.php
deleted file mode 100644
index 1c83825a005..00000000000
--- a/lib/Twig/Node/Expression/Test/Null.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Checks that a variable is null.
- *
- * <pre>
- *  {{ var is none }}
- * </pre>
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Test_Null extends Twig_Node_Expression_Test
-{
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('(null === ')
-            ->subcompile($this->getNode('node'))
-            ->raw(')')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test/Odd.php b/lib/Twig/Node/Expression/Test/Odd.php
deleted file mode 100644
index 421c19e841e..00000000000
--- a/lib/Twig/Node/Expression/Test/Odd.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Checks if a number is odd.
- *
- * <pre>
- *  {{ var is odd }}
- * </pre>
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Test_Odd extends Twig_Node_Expression_Test
-{
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('(')
-            ->subcompile($this->getNode('node'))
-            ->raw(' % 2 == 1')
-            ->raw(')')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test/Sameas.php b/lib/Twig/Node/Expression/Test/Sameas.php
deleted file mode 100644
index b48905ee417..00000000000
--- a/lib/Twig/Node/Expression/Test/Sameas.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Checks if a variable is the same as another one (=== in PHP).
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Test_Sameas extends Twig_Node_Expression_Test
-{
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('(')
-            ->subcompile($this->getNode('node'))
-            ->raw(' === ')
-            ->subcompile($this->getNode('arguments')->getNode(0))
-            ->raw(')')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Unary.php b/lib/Twig/Node/Expression/Unary.php
deleted file mode 100644
index c514388eb6c..00000000000
--- a/lib/Twig/Node/Expression/Unary.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-abstract class Twig_Node_Expression_Unary extends Twig_Node_Expression
-{
-    public function __construct(Twig_NodeInterface $node, $lineno)
-    {
-        parent::__construct(array('node' => $node), array(), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->raw('(');
-        $this->operator($compiler);
-        $compiler
-            ->subcompile($this->getNode('node'))
-            ->raw(')')
-        ;
-    }
-
-    abstract public function operator(Twig_Compiler $compiler);
-}
diff --git a/lib/Twig/Node/Expression/Unary/Neg.php b/lib/Twig/Node/Expression/Unary/Neg.php
deleted file mode 100644
index 2a3937ec3fb..00000000000
--- a/lib/Twig/Node/Expression/Unary/Neg.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Unary_Neg extends Twig_Node_Expression_Unary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        $compiler->raw('-');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Unary/Not.php b/lib/Twig/Node/Expression/Unary/Not.php
deleted file mode 100644
index f94073cfaa2..00000000000
--- a/lib/Twig/Node/Expression/Unary/Not.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Unary_Not extends Twig_Node_Expression_Unary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        $compiler->raw('!');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Unary/Pos.php b/lib/Twig/Node/Expression/Unary/Pos.php
deleted file mode 100644
index 04edb52a6bc..00000000000
--- a/lib/Twig/Node/Expression/Unary/Pos.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Unary_Pos extends Twig_Node_Expression_Unary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        $compiler->raw('+');
-    }
-}
diff --git a/lib/Twig/Node/Flush.php b/lib/Twig/Node/Flush.php
deleted file mode 100644
index 0467ddcefc5..00000000000
--- a/lib/Twig/Node/Flush.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a flush node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Flush extends Twig_Node
-{
-    public function __construct($lineno, $tag)
-    {
-        parent::__construct(array(), array(), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write("flush();\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/For.php b/lib/Twig/Node/For.php
deleted file mode 100644
index d1ff371da1b..00000000000
--- a/lib/Twig/Node/For.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a for node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_For extends Twig_Node
-{
-    protected $loop;
-
-    public function __construct(Twig_Node_Expression_AssignName $keyTarget, Twig_Node_Expression_AssignName $valueTarget, Twig_Node_Expression $seq, Twig_Node_Expression $ifexpr = null, Twig_NodeInterface $body, Twig_NodeInterface $else = null, $lineno, $tag = null)
-    {
-        $body = new Twig_Node(array($body, $this->loop = new Twig_Node_ForLoop($lineno, $tag)));
-
-        if (null !== $ifexpr) {
-            $body = new Twig_Node_If(new Twig_Node(array($ifexpr, $body)), null, $lineno, $tag);
-        }
-
-        parent::__construct(array('key_target' => $keyTarget, 'value_target' => $valueTarget, 'seq' => $seq, 'body' => $body, 'else' => $else), array('with_loop' => true, 'ifexpr' => null !== $ifexpr), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            // the (array) cast bypasses a PHP 5.2.6 bug
-            ->write("\$context['_parent'] = (array) \$context;\n")
-            ->write("\$context['_seq'] = twig_ensure_traversable(")
-            ->subcompile($this->getNode('seq'))
-            ->raw(");\n")
-        ;
-
-        if (null !== $this->getNode('else')) {
-            $compiler->write("\$context['_iterated'] = false;\n");
-        }
-
-        if ($this->getAttribute('with_loop')) {
-            $compiler
-                ->write("\$context['loop'] = array(\n")
-                ->write("  'parent' => \$context['_parent'],\n")
-                ->write("  'index0' => 0,\n")
-                ->write("  'index'  => 1,\n")
-                ->write("  'first'  => true,\n")
-                ->write(");\n")
-            ;
-
-            if (!$this->getAttribute('ifexpr')) {
-                $compiler
-                    ->write("if (is_array(\$context['_seq']) || (is_object(\$context['_seq']) && \$context['_seq'] instanceof Countable)) {\n")
-                    ->indent()
-                    ->write("\$length = count(\$context['_seq']);\n")
-                    ->write("\$context['loop']['revindex0'] = \$length - 1;\n")
-                    ->write("\$context['loop']['revindex'] = \$length;\n")
-                    ->write("\$context['loop']['length'] = \$length;\n")
-                    ->write("\$context['loop']['last'] = 1 === \$length;\n")
-                    ->outdent()
-                    ->write("}\n")
-                ;
-            }
-        }
-
-        $this->loop->setAttribute('else', null !== $this->getNode('else'));
-        $this->loop->setAttribute('with_loop', $this->getAttribute('with_loop'));
-        $this->loop->setAttribute('ifexpr', $this->getAttribute('ifexpr'));
-
-        $compiler
-            ->write("foreach (\$context['_seq'] as ")
-            ->subcompile($this->getNode('key_target'))
-            ->raw(" => ")
-            ->subcompile($this->getNode('value_target'))
-            ->raw(") {\n")
-            ->indent()
-            ->subcompile($this->getNode('body'))
-            ->outdent()
-            ->write("}\n")
-        ;
-
-        if (null !== $this->getNode('else')) {
-            $compiler
-                ->write("if (!\$context['_iterated']) {\n")
-                ->indent()
-                ->subcompile($this->getNode('else'))
-                ->outdent()
-                ->write("}\n")
-            ;
-        }
-
-        $compiler->write("\$_parent = \$context['_parent'];\n");
-
-        // remove some "private" loop variables (needed for nested loops)
-        $compiler->write('unset($context[\'_seq\'], $context[\'_iterated\'], $context[\''.$this->getNode('key_target')->getAttribute('name').'\'], $context[\''.$this->getNode('value_target')->getAttribute('name').'\'], $context[\'_parent\'], $context[\'loop\']);'."\n");
-
-        // keep the values set in the inner context for variables defined in the outer context
-        $compiler->write("\$context = array_intersect_key(\$context, \$_parent) + \$_parent;\n");
-    }
-}
diff --git a/lib/Twig/Node/ForLoop.php b/lib/Twig/Node/ForLoop.php
deleted file mode 100644
index b8841583d97..00000000000
--- a/lib/Twig/Node/ForLoop.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Internal node used by the for node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_ForLoop extends Twig_Node
-{
-    public function __construct($lineno, $tag = null)
-    {
-        parent::__construct(array(), array('with_loop' => false, 'ifexpr' => false, 'else' => false), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        if ($this->getAttribute('else')) {
-            $compiler->write("\$context['_iterated'] = true;\n");
-        }
-
-        if ($this->getAttribute('with_loop')) {
-            $compiler
-                ->write("++\$context['loop']['index0'];\n")
-                ->write("++\$context['loop']['index'];\n")
-                ->write("\$context['loop']['first'] = false;\n")
-            ;
-
-            if (!$this->getAttribute('ifexpr')) {
-                $compiler
-                    ->write("if (isset(\$context['loop']['length'])) {\n")
-                    ->indent()
-                    ->write("--\$context['loop']['revindex0'];\n")
-                    ->write("--\$context['loop']['revindex'];\n")
-                    ->write("\$context['loop']['last'] = 0 === \$context['loop']['revindex0'];\n")
-                    ->outdent()
-                    ->write("}\n")
-                ;
-            }
-        }
-    }
-}
diff --git a/lib/Twig/Node/If.php b/lib/Twig/Node/If.php
deleted file mode 100644
index 4296a8d678f..00000000000
--- a/lib/Twig/Node/If.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents an if node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_If extends Twig_Node
-{
-    public function __construct(Twig_NodeInterface $tests, Twig_NodeInterface $else = null, $lineno, $tag = null)
-    {
-        parent::__construct(array('tests' => $tests, 'else' => $else), array(), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->addDebugInfo($this);
-        for ($i = 0; $i < count($this->getNode('tests')); $i += 2) {
-            if ($i > 0) {
-                $compiler
-                    ->outdent()
-                    ->write("} elseif (")
-                ;
-            } else {
-                $compiler
-                    ->write('if (')
-                ;
-            }
-
-            $compiler
-                ->subcompile($this->getNode('tests')->getNode($i))
-                ->raw(") {\n")
-                ->indent()
-                ->subcompile($this->getNode('tests')->getNode($i + 1))
-            ;
-        }
-
-        if ($this->hasNode('else') && null !== $this->getNode('else')) {
-            $compiler
-                ->outdent()
-                ->write("} else {\n")
-                ->indent()
-                ->subcompile($this->getNode('else'))
-            ;
-        }
-
-        $compiler
-            ->outdent()
-            ->write("}\n");
-    }
-}
diff --git a/lib/Twig/Node/Import.php b/lib/Twig/Node/Import.php
deleted file mode 100644
index 99efc0911c3..00000000000
--- a/lib/Twig/Node/Import.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents an import node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Import extends Twig_Node
-{
-    public function __construct(Twig_Node_Expression $expr, Twig_Node_Expression $var, $lineno, $tag = null)
-    {
-        parent::__construct(array('expr' => $expr, 'var' => $var), array(), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write('')
-            ->subcompile($this->getNode('var'))
-            ->raw(' = ')
-        ;
-
-        if ($this->getNode('expr') instanceof Twig_Node_Expression_Name && '_self' === $this->getNode('expr')->getAttribute('name')) {
-            $compiler->raw("\$this");
-        } else {
-            $compiler
-                ->raw('$this->env->loadTemplate(')
-                ->subcompile($this->getNode('expr'))
-                ->raw(")")
-            ;
-        }
-
-        $compiler->raw(";\n");
-    }
-}
diff --git a/lib/Twig/Node/Include.php b/lib/Twig/Node/Include.php
deleted file mode 100644
index ed4a3751250..00000000000
--- a/lib/Twig/Node/Include.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents an include node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Include extends Twig_Node implements Twig_NodeOutputInterface
-{
-    public function __construct(Twig_Node_Expression $expr, Twig_Node_Expression $variables = null, $only = false, $ignoreMissing = false, $lineno, $tag = null)
-    {
-        parent::__construct(array('expr' => $expr, 'variables' => $variables), array('only' => (Boolean) $only, 'ignore_missing' => (Boolean) $ignoreMissing), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->addDebugInfo($this);
-
-        if ($this->getAttribute('ignore_missing')) {
-            $compiler
-                ->write("try {\n")
-                ->indent()
-            ;
-        }
-
-        $this->addGetTemplate($compiler);
-
-        $compiler->raw('->display(');
-
-        $this->addTemplateArguments($compiler);
-
-        $compiler->raw(");\n");
-
-        if ($this->getAttribute('ignore_missing')) {
-            $compiler
-                ->outdent()
-                ->write("} catch (Twig_Error_Loader \$e) {\n")
-                ->indent()
-                ->write("// ignore missing template\n")
-                ->outdent()
-                ->write("}\n\n")
-            ;
-        }
-    }
-
-    protected function addGetTemplate(Twig_Compiler $compiler)
-    {
-        if ($this->getNode('expr') instanceof Twig_Node_Expression_Constant) {
-            $compiler
-                ->write("\$this->env->loadTemplate(")
-                ->subcompile($this->getNode('expr'))
-                ->raw(")")
-            ;
-        } else {
-            $compiler
-                ->write("\$template = \$this->env->resolveTemplate(")
-                ->subcompile($this->getNode('expr'))
-                ->raw(");\n")
-                ->write('$template')
-            ;
-        }
-    }
-
-    protected function addTemplateArguments(Twig_Compiler $compiler)
-    {
-        if (false === $this->getAttribute('only')) {
-            if (null === $this->getNode('variables')) {
-                $compiler->raw('$context');
-            } else {
-                $compiler
-                    ->raw('array_merge($context, ')
-                    ->subcompile($this->getNode('variables'))
-                    ->raw(')')
-                ;
-            }
-        } else {
-            if (null === $this->getNode('variables')) {
-                $compiler->raw('array()');
-            } else {
-                $compiler->subcompile($this->getNode('variables'));
-            }
-        }
-    }
-}
diff --git a/lib/Twig/Node/Macro.php b/lib/Twig/Node/Macro.php
deleted file mode 100644
index 89910618b87..00000000000
--- a/lib/Twig/Node/Macro.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a macro node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Macro extends Twig_Node
-{
-    public function __construct($name, Twig_NodeInterface $body, Twig_NodeInterface $arguments, $lineno, $tag = null)
-    {
-        parent::__construct(array('body' => $body, 'arguments' => $arguments), array('name' => $name), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write(sprintf("public function get%s(", $this->getAttribute('name')))
-        ;
-
-        $count = count($this->getNode('arguments'));
-        $pos = 0;
-        foreach ($this->getNode('arguments') as $name => $default) {
-            $compiler
-                ->raw('$_'.$name.' = ')
-                ->subcompile($default)
-            ;
-
-            if (++$pos < $count) {
-                $compiler->raw(', ');
-            }
-        }
-
-        $compiler
-            ->raw(")\n")
-            ->write("{\n")
-            ->indent()
-        ;
-
-        if (!count($this->getNode('arguments'))) {
-            $compiler->write("\$context = \$this->env->getGlobals();\n\n");
-        } else {
-            $compiler
-                ->write("\$context = \$this->env->mergeGlobals(array(\n")
-                ->indent()
-            ;
-
-            foreach ($this->getNode('arguments') as $name => $default) {
-                $compiler
-                    ->write('')
-                    ->string($name)
-                    ->raw(' => $_'.$name)
-                    ->raw(",\n")
-                ;
-            }
-
-            $compiler
-                ->outdent()
-                ->write("));\n\n")
-            ;
-        }
-
-        $compiler
-            ->write("\$blocks = array();\n\n")
-            ->write("ob_start();\n")
-            ->write("try {\n")
-            ->indent()
-            ->subcompile($this->getNode('body'))
-            ->outdent()
-            ->write("} catch (Exception \$e) {\n")
-            ->indent()
-            ->write("ob_end_clean();\n\n")
-            ->write("throw \$e;\n")
-            ->outdent()
-            ->write("}\n\n")
-            ->write("return ('' === \$tmp = ob_get_clean()) ? '' : new Twig_Markup(\$tmp, \$this->env->getCharset());\n")
-            ->outdent()
-            ->write("}\n\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Module.php b/lib/Twig/Node/Module.php
deleted file mode 100644
index 585048b8a6f..00000000000
--- a/lib/Twig/Node/Module.php
+++ /dev/null
@@ -1,371 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a module node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Module extends Twig_Node
-{
-    public function __construct(Twig_NodeInterface $body, Twig_Node_Expression $parent = null, Twig_NodeInterface $blocks, Twig_NodeInterface $macros, Twig_NodeInterface $traits, $embeddedTemplates, $filename)
-    {
-        // embedded templates are set as attributes so that they are only visited once by the visitors
-        parent::__construct(array('parent' => $parent, 'body' => $body, 'blocks' => $blocks, 'macros' => $macros, 'traits' => $traits), array('filename' => $filename, 'index' => null, 'embedded_templates' => $embeddedTemplates), 1);
-    }
-
-    public function setIndex($index)
-    {
-        $this->setAttribute('index', $index);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $this->compileTemplate($compiler);
-
-        foreach ($this->getAttribute('embedded_templates') as $template) {
-            $compiler->subcompile($template);
-        }
-    }
-
-    protected function compileTemplate(Twig_Compiler $compiler)
-    {
-        if (!$this->getAttribute('index')) {
-            $compiler->write('<?php');
-        }
-
-        $this->compileClassHeader($compiler);
-
-        if (count($this->getNode('blocks')) || count($this->getNode('traits')) || null === $this->getNode('parent') || $this->getNode('parent') instanceof Twig_Node_Expression_Constant) {
-            $this->compileConstructor($compiler);
-        }
-
-        $this->compileGetParent($compiler);
-
-        $this->compileDisplayHeader($compiler);
-
-        $this->compileDisplayBody($compiler);
-
-        $this->compileDisplayFooter($compiler);
-
-        $compiler->subcompile($this->getNode('blocks'));
-
-        $this->compileMacros($compiler);
-
-        $this->compileGetTemplateName($compiler);
-
-        $this->compileIsTraitable($compiler);
-
-        $this->compileDebugInfo($compiler);
-
-        $this->compileClassFooter($compiler);
-    }
-
-    protected function compileGetParent(Twig_Compiler $compiler)
-    {
-        if (null === $this->getNode('parent')) {
-            return;
-        }
-
-        $compiler
-            ->write("protected function doGetParent(array \$context)\n", "{\n")
-            ->indent()
-            ->write("return ")
-        ;
-
-        if ($this->getNode('parent') instanceof Twig_Node_Expression_Constant) {
-            $compiler->subcompile($this->getNode('parent'));
-        } else {
-            $compiler
-                ->raw("\$this->env->resolveTemplate(")
-                ->subcompile($this->getNode('parent'))
-                ->raw(")")
-            ;
-        }
-
-        $compiler
-            ->raw(";\n")
-            ->outdent()
-            ->write("}\n\n")
-        ;
-    }
-
-    protected function compileDisplayBody(Twig_Compiler $compiler)
-    {
-        $compiler->subcompile($this->getNode('body'));
-
-        if (null !== $this->getNode('parent')) {
-            if ($this->getNode('parent') instanceof Twig_Node_Expression_Constant) {
-                $compiler->write("\$this->parent");
-            } else {
-                $compiler->write("\$this->getParent(\$context)");
-            }
-            $compiler->raw("->display(\$context, array_merge(\$this->blocks, \$blocks));\n");
-        }
-    }
-
-    protected function compileClassHeader(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->write("\n\n")
-            // if the filename contains */, add a blank to avoid a PHP parse error
-            ->write("/* ".str_replace('*/', '* /', $this->getAttribute('filename'))." */\n")
-            ->write('class '.$compiler->getEnvironment()->getTemplateClass($this->getAttribute('filename'), $this->getAttribute('index')))
-            ->raw(sprintf(" extends %s\n", $compiler->getEnvironment()->getBaseTemplateClass()))
-            ->write("{\n")
-            ->indent()
-        ;
-    }
-
-    protected function compileConstructor(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->write("public function __construct(Twig_Environment \$env)\n", "{\n")
-            ->indent()
-            ->write("parent::__construct(\$env);\n\n")
-        ;
-
-        // parent
-        if (null === $this->getNode('parent')) {
-            $compiler->write("\$this->parent = false;\n\n");
-        } elseif ($this->getNode('parent') instanceof Twig_Node_Expression_Constant) {
-            $compiler
-                ->write("\$this->parent = \$this->env->loadTemplate(")
-                ->subcompile($this->getNode('parent'))
-                ->raw(");\n\n")
-            ;
-        }
-
-        $countTraits = count($this->getNode('traits'));
-        if ($countTraits) {
-            // traits
-            foreach ($this->getNode('traits') as $i => $trait) {
-                $this->compileLoadTemplate($compiler, $trait->getNode('template'), sprintf('$_trait_%s', $i));
-
-                $compiler
-                    ->addDebugInfo($trait->getNode('template'))
-                    ->write(sprintf("if (!\$_trait_%s->isTraitable()) {\n", $i))
-                    ->indent()
-                    ->write("throw new Twig_Error_Runtime('Template \"'.")
-                    ->subcompile($trait->getNode('template'))
-                    ->raw(".'\" cannot be used as a trait.');\n")
-                    ->outdent()
-                    ->write("}\n")
-                    ->write(sprintf("\$_trait_%s_blocks = \$_trait_%s->getBlocks();\n\n", $i, $i))
-                ;
-
-                foreach ($trait->getNode('targets') as $key => $value) {
-                    $compiler
-                        ->write(sprintf("\$_trait_%s_blocks[", $i))
-                        ->subcompile($value)
-                        ->raw(sprintf("] = \$_trait_%s_blocks[", $i))
-                        ->string($key)
-                        ->raw(sprintf("]; unset(\$_trait_%s_blocks[", $i))
-                        ->string($key)
-                        ->raw("]);\n\n")
-                    ;
-                }
-            }
-
-            if ($countTraits > 1) {
-                $compiler
-                    ->write("\$this->traits = array_merge(\n")
-                    ->indent()
-                ;
-
-                for ($i = 0; $i < $countTraits; $i++) {
-                    $compiler
-                        ->write(sprintf("\$_trait_%s_blocks".($i == $countTraits - 1 ? '' : ',')."\n", $i))
-                    ;
-                }
-
-                $compiler
-                    ->outdent()
-                    ->write(");\n\n")
-                ;
-            } else {
-                $compiler
-                    ->write("\$this->traits = \$_trait_0_blocks;\n\n")
-                ;
-            }
-
-            $compiler
-                ->write("\$this->blocks = array_merge(\n")
-                ->indent()
-                ->write("\$this->traits,\n")
-                ->write("array(\n")
-            ;
-        } else {
-            $compiler
-                ->write("\$this->blocks = array(\n")
-            ;
-        }
-
-        // blocks
-        $compiler
-            ->indent()
-        ;
-
-        foreach ($this->getNode('blocks') as $name => $node) {
-            $compiler
-                ->write(sprintf("'%s' => array(\$this, 'block_%s'),\n", $name, $name))
-            ;
-        }
-
-        if ($countTraits) {
-            $compiler
-                ->outdent()
-                ->write(")\n")
-            ;
-        }
-
-        $compiler
-            ->outdent()
-            ->write(");\n")
-            ->outdent()
-            ->write("}\n\n");
-        ;
-    }
-
-    protected function compileDisplayHeader(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->write("protected function doDisplay(array \$context, array \$blocks = array())\n", "{\n")
-            ->indent()
-        ;
-    }
-
-    protected function compileDisplayFooter(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->outdent()
-            ->write("}\n\n")
-        ;
-    }
-
-    protected function compileClassFooter(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->outdent()
-            ->write("}\n")
-        ;
-    }
-
-    protected function compileMacros(Twig_Compiler $compiler)
-    {
-        $compiler->subcompile($this->getNode('macros'));
-    }
-
-    protected function compileGetTemplateName(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->write("public function getTemplateName()\n", "{\n")
-            ->indent()
-            ->write('return ')
-            ->repr($this->getAttribute('filename'))
-            ->raw(";\n")
-            ->outdent()
-            ->write("}\n\n")
-        ;
-    }
-
-    protected function compileIsTraitable(Twig_Compiler $compiler)
-    {
-        // A template can be used as a trait if:
-        //   * it has no parent
-        //   * it has no macros
-        //   * it has no body
-        //
-        // Put another way, a template can be used as a trait if it
-        // only contains blocks and use statements.
-        $traitable = null === $this->getNode('parent') && 0 === count($this->getNode('macros'));
-        if ($traitable) {
-            if ($this->getNode('body') instanceof Twig_Node_Body) {
-                $nodes = $this->getNode('body')->getNode(0);
-            } else {
-                $nodes = $this->getNode('body');
-            }
-
-            if (!count($nodes)) {
-                $nodes = new Twig_Node(array($nodes));
-            }
-
-            foreach ($nodes as $node) {
-                if (!count($node)) {
-                    continue;
-                }
-
-                if ($node instanceof Twig_Node_Text && ctype_space($node->getAttribute('data'))) {
-                    continue;
-                }
-
-                if ($node instanceof Twig_Node_BlockReference) {
-                    continue;
-                }
-
-                $traitable = false;
-                break;
-            }
-        }
-
-        if ($traitable) {
-            return;
-        }
-
-        $compiler
-            ->write("public function isTraitable()\n", "{\n")
-            ->indent()
-            ->write(sprintf("return %s;\n", $traitable ? 'true' : 'false'))
-            ->outdent()
-            ->write("}\n\n")
-        ;
-    }
-
-    protected function compileDebugInfo(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->write("public function getDebugInfo()\n", "{\n")
-            ->indent()
-            ->write(sprintf("return %s;\n", str_replace("\n", '', var_export(array_reverse($compiler->getDebugInfo(), true), true))))
-            ->outdent()
-            ->write("}\n")
-        ;
-    }
-
-    protected function compileLoadTemplate(Twig_Compiler $compiler, $node, $var)
-    {
-        if ($node instanceof Twig_Node_Expression_Constant) {
-            $compiler
-                ->write(sprintf("%s = \$this->env->loadTemplate(", $var))
-                ->subcompile($node)
-                ->raw(");\n")
-            ;
-        } else {
-            $compiler
-                ->write(sprintf("%s = ", $var))
-                ->subcompile($node)
-                ->raw(";\n")
-                ->write(sprintf("if (!%s", $var))
-                ->raw(" instanceof Twig_Template) {\n")
-                ->indent()
-                ->write(sprintf("%s = \$this->env->loadTemplate(%s);\n", $var, $var))
-                ->outdent()
-                ->write("}\n")
-            ;
-        }
-    }
-}
diff --git a/lib/Twig/Node/Print.php b/lib/Twig/Node/Print.php
deleted file mode 100644
index b0c41d1d921..00000000000
--- a/lib/Twig/Node/Print.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a node that outputs an expression.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Print extends Twig_Node implements Twig_NodeOutputInterface
-{
-    public function __construct(Twig_Node_Expression $expr, $lineno, $tag = null)
-    {
-        parent::__construct(array('expr' => $expr), array(), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write('echo ')
-            ->subcompile($this->getNode('expr'))
-            ->raw(";\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Sandbox.php b/lib/Twig/Node/Sandbox.php
deleted file mode 100644
index 8cf3ed44f76..00000000000
--- a/lib/Twig/Node/Sandbox.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a sandbox node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Sandbox extends Twig_Node
-{
-    public function __construct(Twig_NodeInterface $body, $lineno, $tag = null)
-    {
-        parent::__construct(array('body' => $body), array(), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write("\$sandbox = \$this->env->getExtension('sandbox');\n")
-            ->write("if (!\$alreadySandboxed = \$sandbox->isSandboxed()) {\n")
-            ->indent()
-            ->write("\$sandbox->enableSandbox();\n")
-            ->outdent()
-            ->write("}\n")
-            ->subcompile($this->getNode('body'))
-            ->write("if (!\$alreadySandboxed) {\n")
-            ->indent()
-            ->write("\$sandbox->disableSandbox();\n")
-            ->outdent()
-            ->write("}\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/SandboxedModule.php b/lib/Twig/Node/SandboxedModule.php
deleted file mode 100644
index be1f5daa732..00000000000
--- a/lib/Twig/Node/SandboxedModule.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a module node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_SandboxedModule extends Twig_Node_Module
-{
-    protected $usedFilters;
-    protected $usedTags;
-    protected $usedFunctions;
-
-    public function __construct(Twig_Node_Module $node, array $usedFilters, array $usedTags, array $usedFunctions)
-    {
-        parent::__construct($node->getNode('body'), $node->getNode('parent'), $node->getNode('blocks'), $node->getNode('macros'), $node->getNode('traits'), $node->getAttribute('embedded_templates'), $node->getAttribute('filename'), $node->getLine(), $node->getNodeTag());
-
-        $this->setAttribute('index', $node->getAttribute('index'));
-
-        $this->usedFilters = $usedFilters;
-        $this->usedTags = $usedTags;
-        $this->usedFunctions = $usedFunctions;
-    }
-
-    protected function compileDisplayBody(Twig_Compiler $compiler)
-    {
-        $compiler->write("\$this->checkSecurity();\n");
-
-        parent::compileDisplayBody($compiler);
-    }
-
-    protected function compileDisplayFooter(Twig_Compiler $compiler)
-    {
-        parent::compileDisplayFooter($compiler);
-
-        $compiler
-            ->write("protected function checkSecurity()\n", "{\n")
-            ->indent()
-            ->write("\$this->env->getExtension('sandbox')->checkSecurity(\n")
-            ->indent()
-            ->write(!$this->usedTags ? "array(),\n" : "array('".implode('\', \'', $this->usedTags)."'),\n")
-            ->write(!$this->usedFilters ? "array(),\n" : "array('".implode('\', \'', $this->usedFilters)."'),\n")
-            ->write(!$this->usedFunctions ? "array()\n" : "array('".implode('\', \'', $this->usedFunctions)."')\n")
-            ->outdent()
-            ->write(");\n")
-            ->outdent()
-            ->write("}\n\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/SandboxedPrint.php b/lib/Twig/Node/SandboxedPrint.php
deleted file mode 100644
index 73dfaa9639a..00000000000
--- a/lib/Twig/Node/SandboxedPrint.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Twig_Node_SandboxedPrint adds a check for the __toString() method
- * when the variable is an object and the sandbox is activated.
- *
- * When there is a simple Print statement, like {{ article }},
- * and if the sandbox is enabled, we need to check that the __toString()
- * method is allowed if 'article' is an object.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_SandboxedPrint extends Twig_Node_Print
-{
-    public function __construct(Twig_Node_Expression $expr, $lineno, $tag = null)
-    {
-        parent::__construct($expr, $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write('echo $this->env->getExtension(\'sandbox\')->ensureToStringAllowed(')
-            ->subcompile($this->getNode('expr'))
-            ->raw(");\n")
-        ;
-    }
-
-    /**
-     * Removes node filters.
-     *
-     * This is mostly needed when another visitor adds filters (like the escaper one).
-     *
-     * @param Twig_Node $node A Node
-     */
-    protected function removeNodeFilter($node)
-    {
-        if ($node instanceof Twig_Node_Expression_Filter) {
-            return $this->removeNodeFilter($node->getNode('node'));
-        }
-
-        return $node;
-    }
-}
diff --git a/lib/Twig/Node/Set.php b/lib/Twig/Node/Set.php
deleted file mode 100644
index 4c9c16ce2fb..00000000000
--- a/lib/Twig/Node/Set.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a set node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Set extends Twig_Node
-{
-    public function __construct($capture, Twig_NodeInterface $names, Twig_NodeInterface $values, $lineno, $tag = null)
-    {
-        parent::__construct(array('names' => $names, 'values' => $values), array('capture' => $capture, 'safe' => false), $lineno, $tag);
-
-        /*
-         * Optimizes the node when capture is used for a large block of text.
-         *
-         * {% set foo %}foo{% endset %} is compiled to $context['foo'] = new Twig_Markup("foo");
-         */
-        if ($this->getAttribute('capture')) {
-            $this->setAttribute('safe', true);
-
-            $values = $this->getNode('values');
-            if ($values instanceof Twig_Node_Text) {
-                $this->setNode('values', new Twig_Node_Expression_Constant($values->getAttribute('data'), $values->getLine()));
-                $this->setAttribute('capture', false);
-            }
-        }
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->addDebugInfo($this);
-
-        if (count($this->getNode('names')) > 1) {
-            $compiler->write('list(');
-            foreach ($this->getNode('names') as $idx => $node) {
-                if ($idx) {
-                    $compiler->raw(', ');
-                }
-
-                $compiler->subcompile($node);
-            }
-            $compiler->raw(')');
-        } else {
-            if ($this->getAttribute('capture')) {
-                $compiler
-                    ->write("ob_start();\n")
-                    ->subcompile($this->getNode('values'))
-                ;
-            }
-
-            $compiler->subcompile($this->getNode('names'), false);
-
-            if ($this->getAttribute('capture')) {
-                $compiler->raw(" = ('' === \$tmp = ob_get_clean()) ? '' : new Twig_Markup(\$tmp, \$this->env->getCharset())");
-            }
-        }
-
-        if (!$this->getAttribute('capture')) {
-            $compiler->raw(' = ');
-
-            if (count($this->getNode('names')) > 1) {
-                $compiler->write('array(');
-                foreach ($this->getNode('values') as $idx => $value) {
-                    if ($idx) {
-                        $compiler->raw(', ');
-                    }
-
-                    $compiler->subcompile($value);
-                }
-                $compiler->raw(')');
-            } else {
-                if ($this->getAttribute('safe')) {
-                    $compiler
-                        ->raw("('' === \$tmp = ")
-                        ->subcompile($this->getNode('values'))
-                        ->raw(") ? '' : new Twig_Markup(\$tmp, \$this->env->getCharset())")
-                    ;
-                } else {
-                    $compiler->subcompile($this->getNode('values'));
-                }
-            }
-        }
-
-        $compiler->raw(";\n");
-    }
-}
diff --git a/lib/Twig/Node/SetTemp.php b/lib/Twig/Node/SetTemp.php
deleted file mode 100644
index 3bdd1cb74e7..00000000000
--- a/lib/Twig/Node/SetTemp.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Twig_Node_SetTemp extends Twig_Node
-{
-    public function __construct($name, $lineno)
-    {
-        parent::__construct(array(), array('name' => $name), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $name = $this->getAttribute('name');
-        $compiler
-            ->addDebugInfo($this)
-            ->write('if (isset($context[')
-            ->string($name)
-            ->raw('])) { $_')
-            ->raw($name)
-            ->raw('_ = $context[')
-            ->repr($name)
-            ->raw(']; } else { $_')
-            ->raw($name)
-            ->raw("_ = null; }\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Spaceless.php b/lib/Twig/Node/Spaceless.php
deleted file mode 100644
index 7555fa0f182..00000000000
--- a/lib/Twig/Node/Spaceless.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a spaceless node.
- *
- * It removes spaces between HTML tags.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Spaceless extends Twig_Node
-{
-    public function __construct(Twig_NodeInterface $body, $lineno, $tag = 'spaceless')
-    {
-        parent::__construct(array('body' => $body), array(), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write("ob_start();\n")
-            ->subcompile($this->getNode('body'))
-            ->write("echo trim(preg_replace('/>\s+</', '><', ob_get_clean()));\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Text.php b/lib/Twig/Node/Text.php
deleted file mode 100644
index 21bdcea1485..00000000000
--- a/lib/Twig/Node/Text.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a text node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Text extends Twig_Node implements Twig_NodeOutputInterface
-{
-    public function __construct($data, $lineno)
-    {
-        parent::__construct(array(), array('data' => $data), $lineno);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write('echo ')
-            ->string($this->getAttribute('data'))
-            ->raw(";\n")
-        ;
-    }
-}
diff --git a/lib/Twig/NodeInterface.php b/lib/Twig/NodeInterface.php
deleted file mode 100644
index f0ef725825c..00000000000
--- a/lib/Twig/NodeInterface.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a node in the AST.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_NodeInterface extends Countable, IteratorAggregate
-{
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler);
-
-    public function getLine();
-
-    public function getNodeTag();
-}
diff --git a/lib/Twig/NodeOutputInterface.php b/lib/Twig/NodeOutputInterface.php
deleted file mode 100644
index 22172c09db1..00000000000
--- a/lib/Twig/NodeOutputInterface.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a displayable node in the AST.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface Twig_NodeOutputInterface
-{
-}
diff --git a/lib/Twig/NodeTraverser.php b/lib/Twig/NodeTraverser.php
deleted file mode 100644
index 28cba1ad57b..00000000000
--- a/lib/Twig/NodeTraverser.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Twig_NodeTraverser is a node traverser.
- *
- * It visits all nodes and their children and call the given visitor for each.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_NodeTraverser
-{
-    protected $env;
-    protected $visitors;
-
-    /**
-     * Constructor.
-     *
-     * @param Twig_Environment $env      A Twig_Environment instance
-     * @param array            $visitors An array of Twig_NodeVisitorInterface instances
-     */
-    public function __construct(Twig_Environment $env, array $visitors = array())
-    {
-        $this->env = $env;
-        $this->visitors = array();
-        foreach ($visitors as $visitor) {
-            $this->addVisitor($visitor);
-        }
-    }
-
-    /**
-     * Adds a visitor.
-     *
-     * @param Twig_NodeVisitorInterface $visitor A Twig_NodeVisitorInterface instance
-     */
-    public function addVisitor(Twig_NodeVisitorInterface $visitor)
-    {
-        if (!isset($this->visitors[$visitor->getPriority()])) {
-            $this->visitors[$visitor->getPriority()] = array();
-        }
-
-        $this->visitors[$visitor->getPriority()][] = $visitor;
-    }
-
-    /**
-     * Traverses a node and calls the registered visitors.
-     *
-     * @param Twig_NodeInterface $node A Twig_NodeInterface instance
-     */
-    public function traverse(Twig_NodeInterface $node)
-    {
-        ksort($this->visitors);
-        foreach ($this->visitors as $visitors) {
-            foreach ($visitors as $visitor) {
-                $node = $this->traverseForVisitor($visitor, $node);
-            }
-        }
-
-        return $node;
-    }
-
-    protected function traverseForVisitor(Twig_NodeVisitorInterface $visitor, Twig_NodeInterface $node = null)
-    {
-        if (null === $node) {
-            return null;
-        }
-
-        $node = $visitor->enterNode($node, $this->env);
-
-        foreach ($node as $k => $n) {
-            if (false !== $n = $this->traverseForVisitor($visitor, $n)) {
-                $node->setNode($k, $n);
-            } else {
-                $node->removeNode($k);
-            }
-        }
-
-        return $visitor->leaveNode($node, $this->env);
-    }
-}
diff --git a/lib/Twig/NodeVisitor/Escaper.php b/lib/Twig/NodeVisitor/Escaper.php
deleted file mode 100644
index cc4b3d717ad..00000000000
--- a/lib/Twig/NodeVisitor/Escaper.php
+++ /dev/null
@@ -1,167 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Twig_NodeVisitor_Escaper implements output escaping.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_NodeVisitor_Escaper implements Twig_NodeVisitorInterface
-{
-    protected $statusStack = array();
-    protected $blocks = array();
-    protected $safeAnalysis;
-    protected $traverser;
-    protected $defaultStrategy = false;
-    protected $safeVars = array();
-
-    public function __construct()
-    {
-        $this->safeAnalysis = new Twig_NodeVisitor_SafeAnalysis();
-    }
-
-    /**
-     * Called before child nodes are visited.
-     *
-     * @param Twig_NodeInterface $node The node to visit
-     * @param Twig_Environment   $env  The Twig environment instance
-     *
-     * @return Twig_NodeInterface The modified node
-     */
-    public function enterNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        if ($node instanceof Twig_Node_Module) {
-            if ($env->hasExtension('escaper') && $defaultStrategy = $env->getExtension('escaper')->getDefaultStrategy($node->getAttribute('filename'))) {
-                $this->defaultStrategy = $defaultStrategy;
-            }
-            $this->safeVars = array();
-        } elseif ($node instanceof Twig_Node_AutoEscape) {
-            $this->statusStack[] = $node->getAttribute('value');
-        } elseif ($node instanceof Twig_Node_Block) {
-            $this->statusStack[] = isset($this->blocks[$node->getAttribute('name')]) ? $this->blocks[$node->getAttribute('name')] : $this->needEscaping($env);
-        } elseif ($node instanceof Twig_Node_Import) {
-            $this->safeVars[] = $node->getNode('var')->getAttribute('name');
-        }
-
-        return $node;
-    }
-
-    /**
-     * Called after child nodes are visited.
-     *
-     * @param Twig_NodeInterface $node The node to visit
-     * @param Twig_Environment   $env  The Twig environment instance
-     *
-     * @return Twig_NodeInterface The modified node
-     */
-    public function leaveNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        if ($node instanceof Twig_Node_Module) {
-            $this->defaultStrategy = false;
-            $this->safeVars = array();
-        } elseif ($node instanceof Twig_Node_Expression_Filter) {
-            return $this->preEscapeFilterNode($node, $env);
-        } elseif ($node instanceof Twig_Node_Print) {
-            return $this->escapePrintNode($node, $env, $this->needEscaping($env));
-        }
-
-        if ($node instanceof Twig_Node_AutoEscape || $node instanceof Twig_Node_Block) {
-            array_pop($this->statusStack);
-        } elseif ($node instanceof Twig_Node_BlockReference) {
-            $this->blocks[$node->getAttribute('name')] = $this->needEscaping($env);
-        }
-
-        return $node;
-    }
-
-    protected function escapePrintNode(Twig_Node_Print $node, Twig_Environment $env, $type)
-    {
-        if (false === $type) {
-            return $node;
-        }
-
-        $expression = $node->getNode('expr');
-
-        if ($this->isSafeFor($type, $expression, $env)) {
-            return $node;
-        }
-
-        $class = get_class($node);
-
-        return new $class(
-            $this->getEscaperFilter($type, $expression),
-            $node->getLine()
-        );
-    }
-
-    protected function preEscapeFilterNode(Twig_Node_Expression_Filter $filter, Twig_Environment $env)
-    {
-        $name = $filter->getNode('filter')->getAttribute('value');
-
-        $type = $env->getFilter($name)->getPreEscape();
-        if (null === $type) {
-            return $filter;
-        }
-
-        $node = $filter->getNode('node');
-        if ($this->isSafeFor($type, $node, $env)) {
-            return $filter;
-        }
-
-        $filter->setNode('node', $this->getEscaperFilter($type, $node));
-
-        return $filter;
-    }
-
-    protected function isSafeFor($type, Twig_NodeInterface $expression, $env)
-    {
-        $safe = $this->safeAnalysis->getSafe($expression);
-
-        if (null === $safe) {
-            if (null === $this->traverser) {
-                $this->traverser = new Twig_NodeTraverser($env, array($this->safeAnalysis));
-            }
-
-            $this->safeAnalysis->setSafeVars($this->safeVars);
-
-            $this->traverser->traverse($expression);
-            $safe = $this->safeAnalysis->getSafe($expression);
-        }
-
-        return in_array($type, $safe) || in_array('all', $safe);
-    }
-
-    protected function needEscaping(Twig_Environment $env)
-    {
-        if (count($this->statusStack)) {
-            return $this->statusStack[count($this->statusStack) - 1];
-        }
-
-        return $this->defaultStrategy ? $this->defaultStrategy : false;
-    }
-
-    protected function getEscaperFilter($type, Twig_NodeInterface $node)
-    {
-        $line = $node->getLine();
-        $name = new Twig_Node_Expression_Constant('escape', $line);
-        $args = new Twig_Node(array(new Twig_Node_Expression_Constant((string) $type, $line), new Twig_Node_Expression_Constant(null, $line), new Twig_Node_Expression_Constant(true, $line)));
-
-        return new Twig_Node_Expression_Filter($node, $name, $args, $line);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPriority()
-    {
-        return 0;
-    }
-}
diff --git a/lib/Twig/NodeVisitor/Optimizer.php b/lib/Twig/NodeVisitor/Optimizer.php
deleted file mode 100644
index a254def75be..00000000000
--- a/lib/Twig/NodeVisitor/Optimizer.php
+++ /dev/null
@@ -1,246 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Twig_NodeVisitor_Optimizer tries to optimizes the AST.
- *
- * This visitor is always the last registered one.
- *
- * You can configure which optimizations you want to activate via the
- * optimizer mode.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_NodeVisitor_Optimizer implements Twig_NodeVisitorInterface
-{
-    const OPTIMIZE_ALL         = -1;
-    const OPTIMIZE_NONE        = 0;
-    const OPTIMIZE_FOR         = 2;
-    const OPTIMIZE_RAW_FILTER  = 4;
-    const OPTIMIZE_VAR_ACCESS  = 8;
-
-    protected $loops = array();
-    protected $optimizers;
-    protected $prependedNodes = array();
-    protected $inABody = false;
-
-    /**
-     * Constructor.
-     *
-     * @param integer $optimizers The optimizer mode
-     */
-    public function __construct($optimizers = -1)
-    {
-        if (!is_int($optimizers) || $optimizers > 2) {
-            throw new InvalidArgumentException(sprintf('Optimizer mode "%s" is not valid.', $optimizers));
-        }
-
-        $this->optimizers = $optimizers;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function enterNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        if (self::OPTIMIZE_FOR === (self::OPTIMIZE_FOR & $this->optimizers)) {
-            $this->enterOptimizeFor($node, $env);
-        }
-
-        if (!version_compare(phpversion(), '5.4.0RC1', '>=') && self::OPTIMIZE_VAR_ACCESS === (self::OPTIMIZE_VAR_ACCESS & $this->optimizers) && !$env->isStrictVariables() && !$env->hasExtension('sandbox')) {
-            if ($this->inABody) {
-                if (!$node instanceof Twig_Node_Expression) {
-                    if (get_class($node) !== 'Twig_Node') {
-                        array_unshift($this->prependedNodes, array());
-                    }
-                } else {
-                    $node = $this->optimizeVariables($node, $env);
-                }
-            } elseif ($node instanceof Twig_Node_Body) {
-                $this->inABody = true;
-            }
-        }
-
-        return $node;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function leaveNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        $expression = $node instanceof Twig_Node_Expression;
-
-        if (self::OPTIMIZE_FOR === (self::OPTIMIZE_FOR & $this->optimizers)) {
-            $this->leaveOptimizeFor($node, $env);
-        }
-
-        if (self::OPTIMIZE_RAW_FILTER === (self::OPTIMIZE_RAW_FILTER & $this->optimizers)) {
-            $node = $this->optimizeRawFilter($node, $env);
-        }
-
-        $node = $this->optimizePrintNode($node, $env);
-
-        if (self::OPTIMIZE_VAR_ACCESS === (self::OPTIMIZE_VAR_ACCESS & $this->optimizers) && !$env->isStrictVariables() && !$env->hasExtension('sandbox')) {
-            if ($node instanceof Twig_Node_Body) {
-                $this->inABody = false;
-            } elseif ($this->inABody) {
-                if (!$expression && get_class($node) !== 'Twig_Node' && $prependedNodes = array_shift($this->prependedNodes)) {
-                    $nodes = array();
-                    foreach (array_unique($prependedNodes) as $name) {
-                        $nodes[] = new Twig_Node_SetTemp($name, $node->getLine());
-                    }
-
-                    $nodes[] = $node;
-                    $node = new Twig_Node($nodes);
-                }
-            }
-        }
-
-        return $node;
-    }
-
-    protected function optimizeVariables($node, $env)
-    {
-        if ('Twig_Node_Expression_Name' === get_class($node) && $node->isSimple()) {
-            $this->prependedNodes[0][] = $node->getAttribute('name');
-
-            return new Twig_Node_Expression_TempName($node->getAttribute('name'), $node->getLine());
-        }
-
-        return $node;
-    }
-
-    /**
-     * Optimizes print nodes.
-     *
-     * It replaces:
-     *
-     *   * "echo $this->render(Parent)Block()" with "$this->display(Parent)Block()"
-     *
-     * @param Twig_NodeInterface $node A Node
-     * @param Twig_Environment   $env  The current Twig environment
-     */
-    protected function optimizePrintNode($node, $env)
-    {
-        if (!$node instanceof Twig_Node_Print) {
-            return $node;
-        }
-
-        if (
-            $node->getNode('expr') instanceof Twig_Node_Expression_BlockReference ||
-            $node->getNode('expr') instanceof Twig_Node_Expression_Parent
-        ) {
-            $node->getNode('expr')->setAttribute('output', true);
-
-            return $node->getNode('expr');
-        }
-
-        return $node;
-    }
-
-    /**
-     * Removes "raw" filters.
-     *
-     * @param Twig_NodeInterface $node A Node
-     * @param Twig_Environment   $env  The current Twig environment
-     */
-    protected function optimizeRawFilter($node, $env)
-    {
-        if ($node instanceof Twig_Node_Expression_Filter && 'raw' == $node->getNode('filter')->getAttribute('value')) {
-            return $node->getNode('node');
-        }
-
-        return $node;
-    }
-
-    /**
-     * Optimizes "for" tag by removing the "loop" variable creation whenever possible.
-     *
-     * @param Twig_NodeInterface $node A Node
-     * @param Twig_Environment   $env  The current Twig environment
-     */
-    protected function enterOptimizeFor($node, $env)
-    {
-        if ($node instanceof Twig_Node_For) {
-            // disable the loop variable by default
-            $node->setAttribute('with_loop', false);
-            array_unshift($this->loops, $node);
-        } elseif (!$this->loops) {
-            // we are outside a loop
-            return;
-        }
-
-        // when do we need to add the loop variable back?
-
-        // the loop variable is referenced for the current loop
-        elseif ($node instanceof Twig_Node_Expression_Name && 'loop' === $node->getAttribute('name')) {
-            $this->addLoopToCurrent();
-        }
-
-        // block reference
-        elseif ($node instanceof Twig_Node_BlockReference || $node instanceof Twig_Node_Expression_BlockReference) {
-            $this->addLoopToCurrent();
-        }
-
-        // include without the only attribute
-        elseif ($node instanceof Twig_Node_Include && !$node->getAttribute('only')) {
-            $this->addLoopToAll();
-        }
-
-        // the loop variable is referenced via an attribute
-        elseif ($node instanceof Twig_Node_Expression_GetAttr
-            && (!$node->getNode('attribute') instanceof Twig_Node_Expression_Constant
-                || 'parent' === $node->getNode('attribute')->getAttribute('value')
-               )
-            && (true === $this->loops[0]->getAttribute('with_loop')
-                || ($node->getNode('node') instanceof Twig_Node_Expression_Name
-                    && 'loop' === $node->getNode('node')->getAttribute('name')
-                   )
-               )
-        ) {
-            $this->addLoopToAll();
-        }
-    }
-
-    /**
-     * Optimizes "for" tag by removing the "loop" variable creation whenever possible.
-     *
-     * @param Twig_NodeInterface $node A Node
-     * @param Twig_Environment   $env  The current Twig environment
-     */
-    protected function leaveOptimizeFor($node, $env)
-    {
-        if ($node instanceof Twig_Node_For) {
-            array_shift($this->loops);
-        }
-    }
-
-    protected function addLoopToCurrent()
-    {
-        $this->loops[0]->setAttribute('with_loop', true);
-    }
-
-    protected function addLoopToAll()
-    {
-        foreach ($this->loops as $loop) {
-            $loop->setAttribute('with_loop', true);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPriority()
-    {
-        return 255;
-    }
-}
diff --git a/lib/Twig/NodeVisitor/SafeAnalysis.php b/lib/Twig/NodeVisitor/SafeAnalysis.php
deleted file mode 100644
index 7dc65c0e688..00000000000
--- a/lib/Twig/NodeVisitor/SafeAnalysis.php
+++ /dev/null
@@ -1,133 +0,0 @@
-<?php
-
-class Twig_NodeVisitor_SafeAnalysis implements Twig_NodeVisitorInterface
-{
-    protected $data = array();
-    protected $safeVars = array();
-
-    public function setSafeVars($safeVars)
-    {
-        $this->safeVars = $safeVars;
-    }
-
-    public function getSafe(Twig_NodeInterface $node)
-    {
-        $hash = spl_object_hash($node);
-        if (isset($this->data[$hash])) {
-            foreach ($this->data[$hash] as $bucket) {
-                if ($bucket['key'] === $node) {
-                    return $bucket['value'];
-                }
-            }
-        }
-
-        return null;
-    }
-
-    protected function setSafe(Twig_NodeInterface $node, array $safe)
-    {
-        $hash = spl_object_hash($node);
-        if (isset($this->data[$hash])) {
-            foreach ($this->data[$hash] as &$bucket) {
-                if ($bucket['key'] === $node) {
-                    $bucket['value'] = $safe;
-
-                    return;
-                }
-            }
-        }
-        $this->data[$hash][] = array(
-            'key' => $node,
-            'value' => $safe,
-        );
-    }
-
-    public function enterNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        return $node;
-    }
-
-    public function leaveNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        if ($node instanceof Twig_Node_Expression_Constant) {
-            // constants are marked safe for all
-            $this->setSafe($node, array('all'));
-        } elseif ($node instanceof Twig_Node_Expression_BlockReference) {
-            // blocks are safe by definition
-            $this->setSafe($node, array('all'));
-        } elseif ($node instanceof Twig_Node_Expression_Parent) {
-            // parent block is safe by definition
-            $this->setSafe($node, array('all'));
-        } elseif ($node instanceof Twig_Node_Expression_Conditional) {
-            // intersect safeness of both operands
-            $safe = $this->intersectSafe($this->getSafe($node->getNode('expr2')), $this->getSafe($node->getNode('expr3')));
-            $this->setSafe($node, $safe);
-        } elseif ($node instanceof Twig_Node_Expression_Filter) {
-            // filter expression is safe when the filter is safe
-            $name = $node->getNode('filter')->getAttribute('value');
-            $args = $node->getNode('arguments');
-            if (false !== $filter = $env->getFilter($name)) {
-                $safe = $filter->getSafe($args);
-                if (null === $safe) {
-                    $safe = $this->intersectSafe($this->getSafe($node->getNode('node')), $filter->getPreservesSafety());
-                }
-                $this->setSafe($node, $safe);
-            } else {
-                $this->setSafe($node, array());
-            }
-        } elseif ($node instanceof Twig_Node_Expression_Function) {
-            // function expression is safe when the function is safe
-            $name = $node->getAttribute('name');
-            $args = $node->getNode('arguments');
-            $function = $env->getFunction($name);
-            if (false !== $function) {
-                $this->setSafe($node, $function->getSafe($args));
-            } else {
-                $this->setSafe($node, array());
-            }
-        } elseif ($node instanceof Twig_Node_Expression_MethodCall) {
-            if ($node->getAttribute('safe')) {
-                $this->setSafe($node, array('all'));
-            } else {
-                $this->setSafe($node, array());
-            }
-        } elseif ($node instanceof Twig_Node_Expression_GetAttr && $node->getNode('node') instanceof Twig_Node_Expression_Name) {
-            $name = $node->getNode('node')->getAttribute('name');
-            // attributes on template instances are safe
-            if ('_self' == $name || in_array($name, $this->safeVars)) {
-                $this->setSafe($node, array('all'));
-            } else {
-                $this->setSafe($node, array());
-            }
-        } else {
-            $this->setSafe($node, array());
-        }
-
-        return $node;
-    }
-
-    protected function intersectSafe(array $a = null, array $b = null)
-    {
-        if (null === $a || null === $b) {
-            return array();
-        }
-
-        if (in_array('all', $a)) {
-            return $b;
-        }
-
-        if (in_array('all', $b)) {
-            return $a;
-        }
-
-        return array_intersect($a, $b);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPriority()
-    {
-        return 0;
-    }
-}
diff --git a/lib/Twig/NodeVisitor/Sandbox.php b/lib/Twig/NodeVisitor/Sandbox.php
deleted file mode 100644
index fb27045baaf..00000000000
--- a/lib/Twig/NodeVisitor/Sandbox.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Twig_NodeVisitor_Sandbox implements sandboxing.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_NodeVisitor_Sandbox implements Twig_NodeVisitorInterface
-{
-    protected $inAModule = false;
-    protected $tags;
-    protected $filters;
-    protected $functions;
-
-    /**
-     * Called before child nodes are visited.
-     *
-     * @param Twig_NodeInterface $node The node to visit
-     * @param Twig_Environment   $env  The Twig environment instance
-     *
-     * @return Twig_NodeInterface The modified node
-     */
-    public function enterNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        if ($node instanceof Twig_Node_Module) {
-            $this->inAModule = true;
-            $this->tags = array();
-            $this->filters = array();
-            $this->functions = array();
-
-            return $node;
-        } elseif ($this->inAModule) {
-            // look for tags
-            if ($node->getNodeTag()) {
-                $this->tags[] = $node->getNodeTag();
-            }
-
-            // look for filters
-            if ($node instanceof Twig_Node_Expression_Filter) {
-                $this->filters[] = $node->getNode('filter')->getAttribute('value');
-            }
-
-            // look for functions
-            if ($node instanceof Twig_Node_Expression_Function) {
-                $this->functions[] = $node->getAttribute('name');
-            }
-
-            // wrap print to check __toString() calls
-            if ($node instanceof Twig_Node_Print) {
-                return new Twig_Node_SandboxedPrint($node->getNode('expr'), $node->getLine(), $node->getNodeTag());
-            }
-        }
-
-        return $node;
-    }
-
-    /**
-     * Called after child nodes are visited.
-     *
-     * @param Twig_NodeInterface $node The node to visit
-     * @param Twig_Environment   $env  The Twig environment instance
-     *
-     * @return Twig_NodeInterface The modified node
-     */
-    public function leaveNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        if ($node instanceof Twig_Node_Module) {
-            $this->inAModule = false;
-
-            return new Twig_Node_SandboxedModule($node, array_unique($this->filters), array_unique($this->tags), array_unique($this->functions));
-        }
-
-        return $node;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPriority()
-    {
-        return 0;
-    }
-}
diff --git a/lib/Twig/NodeVisitorInterface.php b/lib/Twig/NodeVisitorInterface.php
deleted file mode 100644
index f33c13fc226..00000000000
--- a/lib/Twig/NodeVisitorInterface.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Twig_NodeVisitorInterface is the interface the all node visitor classes must implement.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface Twig_NodeVisitorInterface
-{
-    /**
-     * Called before child nodes are visited.
-     *
-     * @param Twig_NodeInterface $node The node to visit
-     * @param Twig_Environment   $env  The Twig environment instance
-     *
-     * @return Twig_NodeInterface The modified node
-     */
-    public function enterNode(Twig_NodeInterface $node, Twig_Environment $env);
-
-    /**
-     * Called after child nodes are visited.
-     *
-     * @param Twig_NodeInterface $node The node to visit
-     * @param Twig_Environment   $env  The Twig environment instance
-     *
-     * @return Twig_NodeInterface|false The modified node or false if the node must be removed
-     */
-    public function leaveNode(Twig_NodeInterface $node, Twig_Environment $env);
-
-    /**
-     * Returns the priority for this visitor.
-     *
-     * Priority should be between -10 and 10 (0 is the default).
-     *
-     * @return integer The priority level
-     */
-    public function getPriority();
-}
diff --git a/lib/Twig/Parser.php b/lib/Twig/Parser.php
deleted file mode 100644
index 958e46b3dfa..00000000000
--- a/lib/Twig/Parser.php
+++ /dev/null
@@ -1,394 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Default parser implementation.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Parser implements Twig_ParserInterface
-{
-    protected $stack = array();
-    protected $stream;
-    protected $parent;
-    protected $handlers;
-    protected $visitors;
-    protected $expressionParser;
-    protected $blocks;
-    protected $blockStack;
-    protected $macros;
-    protected $env;
-    protected $reservedMacroNames;
-    protected $importedSymbols;
-    protected $traits;
-    protected $embeddedTemplates = array();
-
-    /**
-     * Constructor.
-     *
-     * @param Twig_Environment $env A Twig_Environment instance
-     */
-    public function __construct(Twig_Environment $env)
-    {
-        $this->env = $env;
-    }
-
-    public function getEnvironment()
-    {
-        return $this->env;
-    }
-
-    public function getVarName()
-    {
-        return sprintf('__internal_%s', hash('sha1', uniqid(mt_rand(), true), false));
-    }
-
-    public function getFilename()
-    {
-        return $this->stream->getFilename();
-    }
-
-    /**
-     * Converts a token stream to a node tree.
-     *
-     * @param Twig_TokenStream $stream A token stream instance
-     *
-     * @return Twig_Node_Module A node tree
-     */
-    public function parse(Twig_TokenStream $stream, $test = null, $dropNeedle = false)
-    {
-        // push all variables into the stack to keep the current state of the parser
-        $vars = get_object_vars($this);
-        unset($vars['stack'], $vars['env'], $vars['handlers'], $vars['visitors'], $vars['expressionParser']);
-        $this->stack[] = $vars;
-
-        // tag handlers
-        if (null === $this->handlers) {
-            $this->handlers = $this->env->getTokenParsers();
-            $this->handlers->setParser($this);
-        }
-
-        // node visitors
-        if (null === $this->visitors) {
-            $this->visitors = $this->env->getNodeVisitors();
-        }
-
-        if (null === $this->expressionParser) {
-            $this->expressionParser = new Twig_ExpressionParser($this, $this->env->getUnaryOperators(), $this->env->getBinaryOperators());
-        }
-
-        $this->stream = $stream;
-        $this->parent = null;
-        $this->blocks = array();
-        $this->macros = array();
-        $this->traits = array();
-        $this->blockStack = array();
-        $this->importedSymbols = array(array());
-        $this->embeddedTemplates = array();
-
-        try {
-            $body = $this->subparse($test, $dropNeedle);
-
-            if (null !== $this->parent) {
-                if (null === $body = $this->filterBodyNodes($body)) {
-                    $body = new Twig_Node();
-                }
-            }
-        } catch (Twig_Error_Syntax $e) {
-            if (!$e->getTemplateFile()) {
-                $e->setTemplateFile($this->getFilename());
-            }
-
-            if (!$e->getTemplateLine()) {
-                $e->setTemplateLine($this->stream->getCurrent()->getLine());
-            }
-
-            throw $e;
-        }
-
-        $node = new Twig_Node_Module(new Twig_Node_Body(array($body)), $this->parent, new Twig_Node($this->blocks), new Twig_Node($this->macros), new Twig_Node($this->traits), $this->embeddedTemplates, $this->getFilename());
-
-        $traverser = new Twig_NodeTraverser($this->env, $this->visitors);
-
-        $node = $traverser->traverse($node);
-
-        // restore previous stack so previous parse() call can resume working
-        foreach (array_pop($this->stack) as $key => $val) {
-            $this->$key = $val;
-        }
-
-        return $node;
-    }
-
-    public function subparse($test, $dropNeedle = false)
-    {
-        $lineno = $this->getCurrentToken()->getLine();
-        $rv = array();
-        while (!$this->stream->isEOF()) {
-            switch ($this->getCurrentToken()->getType()) {
-                case Twig_Token::TEXT_TYPE:
-                    $token = $this->stream->next();
-                    $rv[] = new Twig_Node_Text($token->getValue(), $token->getLine());
-                    break;
-
-                case Twig_Token::VAR_START_TYPE:
-                    $token = $this->stream->next();
-                    $expr = $this->expressionParser->parseExpression();
-                    $this->stream->expect(Twig_Token::VAR_END_TYPE);
-                    $rv[] = new Twig_Node_Print($expr, $token->getLine());
-                    break;
-
-                case Twig_Token::BLOCK_START_TYPE:
-                    $this->stream->next();
-                    $token = $this->getCurrentToken();
-
-                    if ($token->getType() !== Twig_Token::NAME_TYPE) {
-                        throw new Twig_Error_Syntax('A block must start with a tag name', $token->getLine(), $this->getFilename());
-                    }
-
-                    if (null !== $test && call_user_func($test, $token)) {
-                        if ($dropNeedle) {
-                            $this->stream->next();
-                        }
-
-                        if (1 === count($rv)) {
-                            return $rv[0];
-                        }
-
-                        return new Twig_Node($rv, array(), $lineno);
-                    }
-
-                    $subparser = $this->handlers->getTokenParser($token->getValue());
-                    if (null === $subparser) {
-                        if (null !== $test) {
-                            $error = sprintf('Unexpected tag name "%s"', $token->getValue());
-                            if (is_array($test) && isset($test[0]) && $test[0] instanceof Twig_TokenParserInterface) {
-                                $error .= sprintf(' (expecting closing tag for the "%s" tag defined near line %s)', $test[0]->getTag(), $lineno);
-                            }
-
-                            throw new Twig_Error_Syntax($error, $token->getLine(), $this->getFilename());
-                        }
-
-                        $message = sprintf('Unknown tag name "%s"', $token->getValue());
-                        if ($alternatives = $this->env->computeAlternatives($token->getValue(), array_keys($this->env->getTags()))) {
-                            $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
-                        }
-
-                        throw new Twig_Error_Syntax($message, $token->getLine(), $this->getFilename());
-                    }
-
-                    $this->stream->next();
-
-                    $node = $subparser->parse($token);
-                    if (null !== $node) {
-                        $rv[] = $node;
-                    }
-                    break;
-
-                default:
-                    throw new Twig_Error_Syntax('Lexer or parser ended up in unsupported state.', 0, $this->getFilename());
-            }
-        }
-
-        if (1 === count($rv)) {
-            return $rv[0];
-        }
-
-        return new Twig_Node($rv, array(), $lineno);
-    }
-
-    public function addHandler($name, $class)
-    {
-        $this->handlers[$name] = $class;
-    }
-
-    public function addNodeVisitor(Twig_NodeVisitorInterface $visitor)
-    {
-        $this->visitors[] = $visitor;
-    }
-
-    public function getBlockStack()
-    {
-        return $this->blockStack;
-    }
-
-    public function peekBlockStack()
-    {
-        return $this->blockStack[count($this->blockStack) - 1];
-    }
-
-    public function popBlockStack()
-    {
-        array_pop($this->blockStack);
-    }
-
-    public function pushBlockStack($name)
-    {
-        $this->blockStack[] = $name;
-    }
-
-    public function hasBlock($name)
-    {
-        return isset($this->blocks[$name]);
-    }
-
-    public function getBlock($name)
-    {
-        return $this->blocks[$name];
-    }
-
-    public function setBlock($name, $value)
-    {
-        $this->blocks[$name] = new Twig_Node_Body(array($value), array(), $value->getLine());
-    }
-
-    public function hasMacro($name)
-    {
-        return isset($this->macros[$name]);
-    }
-
-    public function setMacro($name, Twig_Node_Macro $node)
-    {
-        if (null === $this->reservedMacroNames) {
-            $this->reservedMacroNames = array();
-            $r = new ReflectionClass($this->env->getBaseTemplateClass());
-            foreach ($r->getMethods() as $method) {
-                $this->reservedMacroNames[] = $method->getName();
-            }
-        }
-
-        if (in_array($name, $this->reservedMacroNames)) {
-            throw new Twig_Error_Syntax(sprintf('"%s" cannot be used as a macro name as it is a reserved keyword', $name), $node->getLine(), $this->getFilename());
-        }
-
-        $this->macros[$name] = $node;
-    }
-
-    public function addTrait($trait)
-    {
-        $this->traits[] = $trait;
-    }
-
-    public function hasTraits()
-    {
-        return count($this->traits) > 0;
-    }
-
-    public function embedTemplate(Twig_Node_Module $template)
-    {
-        $template->setIndex(mt_rand());
-
-        $this->embeddedTemplates[] = $template;
-    }
-
-    public function addImportedSymbol($type, $alias, $name = null, Twig_Node_Expression $node = null)
-    {
-        $this->importedSymbols[0][$type][$alias] = array('name' => $name, 'node' => $node);
-    }
-
-    public function getImportedSymbol($type, $alias)
-    {
-        foreach ($this->importedSymbols as $functions) {
-            if (isset($functions[$type][$alias])) {
-                return $functions[$type][$alias];
-            }
-        }
-    }
-
-    public function isMainScope()
-    {
-        return 1 === count($this->importedSymbols);
-    }
-
-    public function pushLocalScope()
-    {
-        array_unshift($this->importedSymbols, array());
-    }
-
-    public function popLocalScope()
-    {
-        array_shift($this->importedSymbols);
-    }
-
-    /**
-     * Gets the expression parser.
-     *
-     * @return Twig_ExpressionParser The expression parser
-     */
-    public function getExpressionParser()
-    {
-        return $this->expressionParser;
-    }
-
-    public function getParent()
-    {
-        return $this->parent;
-    }
-
-    public function setParent($parent)
-    {
-        $this->parent = $parent;
-    }
-
-    /**
-     * Gets the token stream.
-     *
-     * @return Twig_TokenStream The token stream
-     */
-    public function getStream()
-    {
-        return $this->stream;
-    }
-
-    /**
-     * Gets the current token.
-     *
-     * @return Twig_Token The current token
-     */
-    public function getCurrentToken()
-    {
-        return $this->stream->getCurrent();
-    }
-
-    protected function filterBodyNodes(Twig_NodeInterface $node)
-    {
-        // check that the body does not contain non-empty output nodes
-        if (
-            ($node instanceof Twig_Node_Text && !ctype_space($node->getAttribute('data')))
-            ||
-            (!$node instanceof Twig_Node_Text && !$node instanceof Twig_Node_BlockReference && $node instanceof Twig_NodeOutputInterface)
-        ) {
-            if (false !== strpos((string) $node, chr(0xEF).chr(0xBB).chr(0xBF))) {
-                throw new Twig_Error_Syntax('A template that extends another one cannot have a body but a byte order mark (BOM) has been detected; it must be removed.', $node->getLine(), $this->getFilename());
-            }
-
-            throw new Twig_Error_Syntax('A template that extends another one cannot have a body.', $node->getLine(), $this->getFilename());
-        }
-
-        // bypass "set" nodes as they "capture" the output
-        if ($node instanceof Twig_Node_Set) {
-            return $node;
-        }
-
-        if ($node instanceof Twig_NodeOutputInterface) {
-            return;
-        }
-
-        foreach ($node as $k => $n) {
-            if (null !== $n && null === $n = $this->filterBodyNodes($n)) {
-                $node->removeNode($k);
-            }
-        }
-
-        return $node;
-    }
-}
diff --git a/lib/Twig/ParserInterface.php b/lib/Twig/ParserInterface.php
deleted file mode 100644
index f0d790097ec..00000000000
--- a/lib/Twig/ParserInterface.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface implemented by parser classes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_ParserInterface
-{
-    /**
-     * Converts a token stream to a node tree.
-     *
-     * @param Twig_TokenStream $stream A token stream instance
-     *
-     * @return Twig_Node_Module A node tree
-     */
-    public function parse(Twig_TokenStream $stream);
-}
diff --git a/lib/Twig/Sandbox/SecurityError.php b/lib/Twig/Sandbox/SecurityError.php
deleted file mode 100644
index 015bfaea22b..00000000000
--- a/lib/Twig/Sandbox/SecurityError.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Exception thrown when a security error occurs at runtime.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Sandbox_SecurityError extends Twig_Error
-{
-}
diff --git a/lib/Twig/Sandbox/SecurityPolicy.php b/lib/Twig/Sandbox/SecurityPolicy.php
deleted file mode 100644
index 66ee233200b..00000000000
--- a/lib/Twig/Sandbox/SecurityPolicy.php
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a security policy which need to be enforced when sandbox mode is enabled.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Sandbox_SecurityPolicy implements Twig_Sandbox_SecurityPolicyInterface
-{
-    protected $allowedTags;
-    protected $allowedFilters;
-    protected $allowedMethods;
-    protected $allowedProperties;
-    protected $allowedFunctions;
-
-    public function __construct(array $allowedTags = array(), array $allowedFilters = array(), array $allowedMethods = array(), array $allowedProperties = array(), array $allowedFunctions = array())
-    {
-        $this->allowedTags = $allowedTags;
-        $this->allowedFilters = $allowedFilters;
-        $this->setAllowedMethods($allowedMethods);
-        $this->allowedProperties = $allowedProperties;
-        $this->allowedFunctions = $allowedFunctions;
-    }
-
-    public function setAllowedTags(array $tags)
-    {
-        $this->allowedTags = $tags;
-    }
-
-    public function setAllowedFilters(array $filters)
-    {
-        $this->allowedFilters = $filters;
-    }
-
-    public function setAllowedMethods(array $methods)
-    {
-        $this->allowedMethods = array();
-        foreach ($methods as $class => $m) {
-            $this->allowedMethods[$class] = array_map('strtolower', is_array($m) ? $m : array($m));
-        }
-    }
-
-    public function setAllowedProperties(array $properties)
-    {
-        $this->allowedProperties = $properties;
-    }
-
-    public function setAllowedFunctions(array $functions)
-    {
-        $this->allowedFunctions = $functions;
-    }
-
-    public function checkSecurity($tags, $filters, $functions)
-    {
-        foreach ($tags as $tag) {
-            if (!in_array($tag, $this->allowedTags)) {
-                throw new Twig_Sandbox_SecurityError(sprintf('Tag "%s" is not allowed.', $tag));
-            }
-        }
-
-        foreach ($filters as $filter) {
-            if (!in_array($filter, $this->allowedFilters)) {
-                throw new Twig_Sandbox_SecurityError(sprintf('Filter "%s" is not allowed.', $filter));
-            }
-        }
-
-        foreach ($functions as $function) {
-            if (!in_array($function, $this->allowedFunctions)) {
-                throw new Twig_Sandbox_SecurityError(sprintf('Function "%s" is not allowed.', $function));
-            }
-        }
-    }
-
-    public function checkMethodAllowed($obj, $method)
-    {
-        if ($obj instanceof Twig_TemplateInterface || $obj instanceof Twig_Markup) {
-            return true;
-        }
-
-        $allowed = false;
-        $method = strtolower($method);
-        foreach ($this->allowedMethods as $class => $methods) {
-            if ($obj instanceof $class) {
-                $allowed = in_array($method, $methods);
-
-                break;
-            }
-        }
-
-        if (!$allowed) {
-            throw new Twig_Sandbox_SecurityError(sprintf('Calling "%s" method on a "%s" object is not allowed.', $method, get_class($obj)));
-        }
-    }
-
-    public function checkPropertyAllowed($obj, $property)
-    {
-        $allowed = false;
-        foreach ($this->allowedProperties as $class => $properties) {
-            if ($obj instanceof $class) {
-                $allowed = in_array($property, is_array($properties) ? $properties : array($properties));
-
-                break;
-            }
-        }
-
-        if (!$allowed) {
-            throw new Twig_Sandbox_SecurityError(sprintf('Calling "%s" property on a "%s" object is not allowed.', $property, get_class($obj)));
-        }
-    }
-}
diff --git a/lib/Twig/Sandbox/SecurityPolicyInterface.php b/lib/Twig/Sandbox/SecurityPolicyInterface.php
deleted file mode 100644
index 6ab48e3cc98..00000000000
--- a/lib/Twig/Sandbox/SecurityPolicyInterface.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interfaces that all security policy classes must implements.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface Twig_Sandbox_SecurityPolicyInterface
-{
-    public function checkSecurity($tags, $filters, $functions);
-
-    public function checkMethodAllowed($obj, $method);
-
-    public function checkPropertyAllowed($obj, $method);
-}
diff --git a/lib/Twig/SimpleFilter.php b/lib/Twig/SimpleFilter.php
deleted file mode 100644
index a6bf60f80c5..00000000000
--- a/lib/Twig/SimpleFilter.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009-2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template filter.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_SimpleFilter
-{
-    protected $name;
-    protected $callable;
-    protected $options;
-    protected $arguments = array();
-
-    public function __construct($name, $callable, array $options = array())
-    {
-        $this->name = $name;
-        $this->callable = $callable;
-        $this->options = array_merge(array(
-            'needs_environment' => false,
-            'needs_context'     => false,
-            'is_safe'           => null,
-            'is_safe_callback'  => null,
-            'pre_escape'        => null,
-            'preserves_safety'  => null,
-            'node_class'        => 'Twig_Node_Expression_Filter',
-        ), $options);
-    }
-
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    public function getCallable()
-    {
-        return $this->callable;
-    }
-
-    public function getNodeClass()
-    {
-        return $this->options['node_class'];
-    }
-
-    public function setArguments($arguments)
-    {
-        $this->arguments = $arguments;
-    }
-
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    public function needsEnvironment()
-    {
-        return $this->options['needs_environment'];
-    }
-
-    public function needsContext()
-    {
-        return $this->options['needs_context'];
-    }
-
-    public function getSafe(Twig_Node $filterArgs)
-    {
-        if (null !== $this->options['is_safe']) {
-            return $this->options['is_safe'];
-        }
-
-        if (null !== $this->options['is_safe_callback']) {
-            return call_user_func($this->options['is_safe_callback'], $filterArgs);
-        }
-
-        return null;
-    }
-
-    public function getPreservesSafety()
-    {
-        return $this->options['preserves_safety'];
-    }
-
-    public function getPreEscape()
-    {
-        return $this->options['pre_escape'];
-    }
-}
diff --git a/lib/Twig/SimpleFunction.php b/lib/Twig/SimpleFunction.php
deleted file mode 100644
index 8ef6aca2ff5..00000000000
--- a/lib/Twig/SimpleFunction.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010-2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template function.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_SimpleFunction
-{
-    protected $name;
-    protected $callable;
-    protected $options;
-    protected $arguments = array();
-
-    public function __construct($name, $callable, array $options = array())
-    {
-        $this->name = $name;
-        $this->callable = $callable;
-        $this->options = array_merge(array(
-            'needs_environment' => false,
-            'needs_context'     => false,
-            'is_safe'           => null,
-            'is_safe_callback'  => null,
-            'node_class'        => 'Twig_Node_Expression_Function',
-        ), $options);
-    }
-
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    public function getCallable()
-    {
-        return $this->callable;
-    }
-
-    public function getNodeClass()
-    {
-        return $this->options['node_class'];
-    }
-
-    public function setArguments($arguments)
-    {
-        $this->arguments = $arguments;
-    }
-
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    public function needsEnvironment()
-    {
-        return $this->options['needs_environment'];
-    }
-
-    public function needsContext()
-    {
-        return $this->options['needs_context'];
-    }
-
-    public function getSafe(Twig_Node $functionArgs)
-    {
-        if (null !== $this->options['is_safe']) {
-            return $this->options['is_safe'];
-        }
-
-        if (null !== $this->options['is_safe_callback']) {
-            return call_user_func($this->options['is_safe_callback'], $functionArgs);
-        }
-
-        return array();
-    }
-}
diff --git a/lib/Twig/SimpleTest.php b/lib/Twig/SimpleTest.php
deleted file mode 100644
index 225459c9f12..00000000000
--- a/lib/Twig/SimpleTest.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010-2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template test.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_SimpleTest
-{
-    protected $name;
-    protected $callable;
-    protected $options;
-
-    public function __construct($name, $callable, array $options = array())
-    {
-        $this->name = $name;
-        $this->callable = $callable;
-        $this->options = array_merge(array(
-            'node_class' => 'Twig_Node_Expression_Test',
-        ), $options);
-    }
-
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    public function getCallable()
-    {
-        return $this->callable;
-    }
-
-    public function getNodeClass()
-    {
-        return $this->options['node_class'];
-    }
-}
diff --git a/lib/Twig/Template.php b/lib/Twig/Template.php
deleted file mode 100644
index a001ca03706..00000000000
--- a/lib/Twig/Template.php
+++ /dev/null
@@ -1,455 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Default base class for compiled templates.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class Twig_Template implements Twig_TemplateInterface
-{
-    protected static $cache = array();
-
-    protected $parent;
-    protected $parents;
-    protected $env;
-    protected $blocks;
-    protected $traits;
-
-    /**
-     * Constructor.
-     *
-     * @param Twig_Environment $env A Twig_Environment instance
-     */
-    public function __construct(Twig_Environment $env)
-    {
-        $this->env = $env;
-        $this->blocks = array();
-        $this->traits = array();
-    }
-
-    /**
-     * Returns the template name.
-     *
-     * @return string The template name
-     */
-    abstract public function getTemplateName();
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getEnvironment()
-    {
-        return $this->env;
-    }
-
-    /**
-     * Returns the parent template.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @return Twig_TemplateInterface|false The parent template or false if there is no parent
-     */
-    public function getParent(array $context)
-    {
-        if (null !== $this->parent) {
-            return $this->parent;
-        }
-
-        $parent = $this->doGetParent($context);
-        if (false === $parent) {
-            return false;
-        } elseif ($parent instanceof Twig_Template) {
-            $name = $parent->getTemplateName();
-            $this->parents[$name] = $parent;
-            $parent = $name;
-        } elseif (!isset($this->parents[$parent])) {
-            $this->parents[$parent] = $this->env->loadTemplate($parent);
-        }
-
-        return $this->parents[$parent];
-    }
-
-    protected function doGetParent(array $context)
-    {
-        return false;
-    }
-
-    public function isTraitable()
-    {
-        return true;
-    }
-
-    /**
-     * Displays a parent block.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @param string $name    The block name to display from the parent
-     * @param array  $context The context
-     * @param array  $blocks  The current set of blocks
-     */
-    public function displayParentBlock($name, array $context, array $blocks = array())
-    {
-        $name = (string) $name;
-
-        if (isset($this->traits[$name])) {
-            $this->traits[$name][0]->displayBlock($name, $context, $blocks);
-        } elseif (false !== $parent = $this->getParent($context)) {
-            $parent->displayBlock($name, $context, $blocks);
-        } else {
-            throw new Twig_Error_Runtime(sprintf('The template has no parent and no traits defining the "%s" block', $name), -1, $this->getTemplateName());
-        }
-    }
-
-    /**
-     * Displays a block.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @param string $name    The block name to display
-     * @param array  $context The context
-     * @param array  $blocks  The current set of blocks
-     */
-    public function displayBlock($name, array $context, array $blocks = array())
-    {
-        $name = (string) $name;
-
-        if (isset($blocks[$name])) {
-            $b = $blocks;
-            unset($b[$name]);
-            call_user_func($blocks[$name], $context, $b);
-        } elseif (isset($this->blocks[$name])) {
-            call_user_func($this->blocks[$name], $context, $blocks);
-        } elseif (false !== $parent = $this->getParent($context)) {
-            $parent->displayBlock($name, $context, array_merge($this->blocks, $blocks));
-        }
-    }
-
-    /**
-     * Renders a parent block.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @param string $name    The block name to render from the parent
-     * @param array  $context The context
-     * @param array  $blocks  The current set of blocks
-     *
-     * @return string The rendered block
-     */
-    public function renderParentBlock($name, array $context, array $blocks = array())
-    {
-        ob_start();
-        $this->displayParentBlock($name, $context, $blocks);
-
-        return ob_get_clean();
-    }
-
-    /**
-     * Renders a block.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @param string $name    The block name to render
-     * @param array  $context The context
-     * @param array  $blocks  The current set of blocks
-     *
-     * @return string The rendered block
-     */
-    public function renderBlock($name, array $context, array $blocks = array())
-    {
-        ob_start();
-        $this->displayBlock($name, $context, $blocks);
-
-        return ob_get_clean();
-    }
-
-    /**
-     * Returns whether a block exists or not.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * This method does only return blocks defined in the current template
-     * or defined in "used" traits.
-     *
-     * It does not return blocks from parent templates as the parent
-     * template name can be dynamic, which is only known based on the
-     * current context.
-     *
-     * @param string $name The block name
-     *
-     * @return Boolean true if the block exists, false otherwise
-     */
-    public function hasBlock($name)
-    {
-        return isset($this->blocks[(string) $name]);
-    }
-
-    /**
-     * Returns all block names.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @return array An array of block names
-     *
-     * @see hasBlock
-     */
-    public function getBlockNames()
-    {
-        return array_keys($this->blocks);
-    }
-
-    /**
-     * Returns all blocks.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @return array An array of blocks
-     *
-     * @see hasBlock
-     */
-    public function getBlocks()
-    {
-        return $this->blocks;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function display(array $context, array $blocks = array())
-    {
-        $this->displayWithErrorHandling($this->env->mergeGlobals($context), $blocks);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function render(array $context)
-    {
-        $level = ob_get_level();
-        ob_start();
-        try {
-            $this->display($context);
-        } catch (Exception $e) {
-            while (ob_get_level() > $level) {
-                ob_end_clean();
-            }
-
-            throw $e;
-        }
-
-        return ob_get_clean();
-    }
-
-    protected function displayWithErrorHandling(array $context, array $blocks = array())
-    {
-        try {
-            $this->doDisplay($context, $blocks);
-        } catch (Twig_Error $e) {
-            if (!$e->getTemplateFile()) {
-                $e->setTemplateFile($this->getTemplateName());
-            }
-
-            // this is mostly useful for Twig_Error_Loader exceptions
-            // see Twig_Error_Loader
-            if (false === $e->getTemplateLine()) {
-                $e->setTemplateLine(-1);
-                $e->guess();
-            }
-
-            throw $e;
-        } catch (Exception $e) {
-            throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, null, $e);
-        }
-    }
-
-    /**
-     * Auto-generated method to display the template with the given context.
-     *
-     * @param array $context An array of parameters to pass to the template
-     * @param array $blocks  An array of blocks to pass to the template
-     */
-    abstract protected function doDisplay(array $context, array $blocks = array());
-
-    /**
-     * Returns a variable from the context.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * This method should not be overridden in a sub-class as this is an
-     * implementation detail that has been introduced to optimize variable
-     * access for versions of PHP before 5.4. This is not a way to override
-     * the way to get a variable value.
-     *
-     * @param array   $context           The context
-     * @param string  $item              The variable to return from the context
-     * @param Boolean $ignoreStrictCheck Whether to ignore the strict variable check or not
-     *
-     * @return The content of the context variable
-     *
-     * @throws Twig_Error_Runtime if the variable does not exist and Twig is running in strict mode
-     */
-    final protected function getContext($context, $item, $ignoreStrictCheck = false)
-    {
-        if (!array_key_exists($item, $context)) {
-            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
-                return null;
-            }
-
-            throw new Twig_Error_Runtime(sprintf('Variable "%s" does not exist', $item), -1, $this->getTemplateName());
-        }
-
-        return $context[$item];
-    }
-
-    /**
-     * Returns the attribute value for a given array/object.
-     *
-     * @param mixed   $object            The object or array from where to get the item
-     * @param mixed   $item              The item to get from the array or object
-     * @param array   $arguments         An array of arguments to pass if the item is an object method
-     * @param string  $type              The type of attribute (@see Twig_TemplateInterface)
-     * @param Boolean $isDefinedTest     Whether this is only a defined check
-     * @param Boolean $ignoreStrictCheck Whether to ignore the strict attribute check or not
-     *
-     * @return mixed The attribute value, or a Boolean when $isDefinedTest is true, or null when the attribute is not set and $ignoreStrictCheck is true
-     *
-     * @throws Twig_Error_Runtime if the attribute does not exist and Twig is running in strict mode and $isDefinedTest is false
-     */
-    protected function getAttribute($object, $item, array $arguments = array(), $type = Twig_TemplateInterface::ANY_CALL, $isDefinedTest = false, $ignoreStrictCheck = false)
-    {
-        // array
-        if (Twig_TemplateInterface::METHOD_CALL !== $type) {
-            $arrayItem = is_bool($item) || is_float($item) ? (int) $item : $item;
-
-            if ((is_array($object) && array_key_exists($arrayItem, $object))
-                || ($object instanceof ArrayAccess && isset($object[$arrayItem]))
-            ) {
-                if ($isDefinedTest) {
-                    return true;
-                }
-
-                return $object[$arrayItem];
-            }
-
-            if (Twig_TemplateInterface::ARRAY_CALL === $type || !is_object($object)) {
-                if ($isDefinedTest) {
-                    return false;
-                }
-
-                if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
-                    return null;
-                }
-
-                if (is_object($object)) {
-                    throw new Twig_Error_Runtime(sprintf('Key "%s" in object (with ArrayAccess) of type "%s" does not exist', $arrayItem, get_class($object)), -1, $this->getTemplateName());
-                } elseif (is_array($object)) {
-                    throw new Twig_Error_Runtime(sprintf('Key "%s" for array with keys "%s" does not exist', $arrayItem, implode(', ', array_keys($object))), -1, $this->getTemplateName());
-                } elseif (Twig_TemplateInterface::ARRAY_CALL === $type) {
-                    throw new Twig_Error_Runtime(sprintf('Impossible to access a key ("%s") on a %s variable ("%s")', $item, gettype($object), $object), -1, $this->getTemplateName());
-                } else {
-                    throw new Twig_Error_Runtime(sprintf('Impossible to access an attribute ("%s") on a %s variable ("%s")', $item, gettype($object), $object), -1, $this->getTemplateName());
-                }
-            }
-        }
-
-        if (!is_object($object)) {
-            if ($isDefinedTest) {
-                return false;
-            }
-
-            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
-                return null;
-            }
-
-            throw new Twig_Error_Runtime(sprintf('Impossible to invoke a method ("%s") on a %s variable ("%s")', $item, gettype($object), $object), -1, $this->getTemplateName());
-        }
-
-        $class = get_class($object);
-
-        // object property
-        if (Twig_TemplateInterface::METHOD_CALL !== $type) {
-            if (isset($object->$item) || array_key_exists((string) $item, $object)) {
-                if ($isDefinedTest) {
-                    return true;
-                }
-
-                if ($this->env->hasExtension('sandbox')) {
-                    $this->env->getExtension('sandbox')->checkPropertyAllowed($object, $item);
-                }
-
-                return $object->$item;
-            }
-        }
-
-        // object method
-        if (!isset(self::$cache[$class]['methods'])) {
-            self::$cache[$class]['methods'] = array_change_key_case(array_flip(get_class_methods($object)));
-        }
-
-        $lcItem = strtolower($item);
-        if (isset(self::$cache[$class]['methods'][$lcItem])) {
-            $method = (string) $item;
-        } elseif (isset(self::$cache[$class]['methods']['get'.$lcItem])) {
-            $method = 'get'.$item;
-        } elseif (isset(self::$cache[$class]['methods']['is'.$lcItem])) {
-            $method = 'is'.$item;
-        } elseif (isset(self::$cache[$class]['methods']['__call'])) {
-            $method = (string) $item;
-        } else {
-            if ($isDefinedTest) {
-                return false;
-            }
-
-            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
-                return null;
-            }
-
-            throw new Twig_Error_Runtime(sprintf('Method "%s" for object "%s" does not exist', $item, get_class($object)), -1, $this->getTemplateName());
-        }
-
-        if ($isDefinedTest) {
-            return true;
-        }
-
-        if ($this->env->hasExtension('sandbox')) {
-            $this->env->getExtension('sandbox')->checkMethodAllowed($object, $method);
-        }
-
-        $ret = call_user_func_array(array($object, $method), $arguments);
-
-        // useful when calling a template method from a template
-        // this is not supported but unfortunately heavily used in the Symfony profiler
-        if ($object instanceof Twig_TemplateInterface) {
-            return $ret === '' ? '' : new Twig_Markup($ret, $this->env->getCharset());
-        }
-
-        return $ret;
-    }
-
-    /**
-     * This method is only useful when testing Twig. Do not use it.
-     */
-    public static function clearCache()
-    {
-        self::$cache = array();
-    }
-}
diff --git a/lib/Twig/TemplateInterface.php b/lib/Twig/TemplateInterface.php
deleted file mode 100644
index 879f503ec1d..00000000000
--- a/lib/Twig/TemplateInterface.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface implemented by all compiled templates.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_TemplateInterface
-{
-    const ANY_CALL    = 'any';
-    const ARRAY_CALL  = 'array';
-    const METHOD_CALL = 'method';
-
-    /**
-     * Renders the template with the given context and returns it as string.
-     *
-     * @param array $context An array of parameters to pass to the template
-     *
-     * @return string The rendered template
-     */
-    public function render(array $context);
-
-    /**
-     * Displays the template with the given context.
-     *
-     * @param array $context An array of parameters to pass to the template
-     * @param array $blocks  An array of blocks to pass to the template
-     */
-    public function display(array $context, array $blocks = array());
-
-    /**
-     * Returns the bound environment for this template.
-     *
-     * @return Twig_Environment The current environment
-     */
-    public function getEnvironment();
-}
diff --git a/lib/Twig/Test.php b/lib/Twig/Test.php
deleted file mode 100644
index 3baff88560f..00000000000
--- a/lib/Twig/Test.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template test.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-abstract class Twig_Test implements Twig_TestInterface, Twig_TestCallableInterface
-{
-    protected $options;
-    protected $arguments = array();
-
-    public function __construct(array $options = array())
-    {
-        $this->options = array_merge(array(
-            'callable' => null,
-        ), $options);
-    }
-
-    public function getCallable()
-    {
-        return $this->options['callable'];
-    }
-}
diff --git a/lib/Twig/Test/Function.php b/lib/Twig/Test/Function.php
deleted file mode 100644
index 4be6b9b9242..00000000000
--- a/lib/Twig/Test/Function.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a function template test.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Test_Function extends Twig_Test
-{
-    protected $function;
-
-    public function __construct($function, array $options = array())
-    {
-        $options['callable'] = $function;
-
-        parent::__construct($options);
-
-        $this->function = $function;
-    }
-
-    public function compile()
-    {
-        return $this->function;
-    }
-}
diff --git a/lib/Twig/Test/IntegrationTestCase.php b/lib/Twig/Test/IntegrationTestCase.php
deleted file mode 100644
index 724f0941780..00000000000
--- a/lib/Twig/Test/IntegrationTestCase.php
+++ /dev/null
@@ -1,154 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Integration test helper
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Karma Dordrak <drak@zikula.org>
- */
-abstract class Twig_Test_IntegrationTestCase extends PHPUnit_Framework_TestCase
-{
-    abstract protected function getExtensions();
-    abstract protected function getFixturesDir();
-
-    /**
-     * @dataProvider getTests
-     */
-    public function testIntegration($file, $message, $condition, $templates, $exception, $outputs)
-    {
-        $this->doIntegrationTest($file, $message, $condition, $templates, $exception, $outputs);
-    }
-
-    public function getTests()
-    {
-        $fixturesDir = realpath($this->getFixturesDir());
-        $tests = array();
-
-        foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($fixturesDir), RecursiveIteratorIterator::LEAVES_ONLY) as $file) {
-            if (!preg_match('/\.test$/', $file)) {
-                continue;
-            }
-
-            $test = file_get_contents($file->getRealpath());
-
-            if (preg_match('/
-                    --TEST--\s*(.*?)\s*(?:--CONDITION--\s*(.*))?\s*((?:--TEMPLATE(?:\(.*?\))?--(?:.*?))+)\s*(?:--DATA--\s*(.*))?\s*--EXCEPTION--\s*(.*)/sx', $test, $match)) {
-                $message = $match[1];
-                $condition = $match[2];
-                $templates = $this->parseTemplates($match[3]);
-                $exception = $match[5];
-                $outputs = array(array(null, $match[4], null, ''));
-            } elseif (preg_match('/--TEST--\s*(.*?)\s*(?:--CONDITION--\s*(.*))?\s*((?:--TEMPLATE(?:\(.*?\))?--(?:.*?))+)--DATA--.*?--EXPECT--.*/s', $test, $match)) {
-                $message = $match[1];
-                $condition = $match[2];
-                $templates = $this->parseTemplates($match[3]);
-                $exception = false;
-                preg_match_all('/--DATA--(.*?)(?:--CONFIG--(.*?))?--EXPECT--(.*?)(?=\-\-DATA\-\-|$)/s', $test, $outputs, PREG_SET_ORDER);
-            } else {
-                throw new InvalidArgumentException(sprintf('Test "%s" is not valid.', str_replace($fixturesDir.'/', '', $file)));
-            }
-
-            $tests[] = array(str_replace($fixturesDir.'/', '', $file), $message, $condition, $templates, $exception, $outputs);
-        }
-
-        return $tests;
-    }
-
-    protected function doIntegrationTest($file, $message, $condition, $templates, $exception, $outputs)
-    {
-        if ($condition) {
-            eval('$ret = '.$condition.';');
-            if (!$ret) {
-                $this->markTestSkipped($condition);
-            }
-        }
-
-        $loader = new Twig_Loader_Array($templates);
-
-        foreach ($outputs as $match) {
-            $config = array_merge(array(
-                'cache' => false,
-                'strict_variables' => true,
-            ), $match[2] ? eval($match[2].';') : array());
-            $twig = new Twig_Environment($loader, $config);
-            $twig->addGlobal('global', 'global');
-            foreach ($this->getExtensions() as $extension) {
-                $twig->addExtension($extension);
-            }
-
-            try {
-                $template = $twig->loadTemplate('index.twig');
-            } catch (Exception $e) {
-                if (false !== $exception) {
-                    $this->assertEquals(trim($exception), trim(sprintf('%s: %s', get_class($e), $e->getMessage())));
-
-                    return;
-                }
-
-                if ($e instanceof Twig_Error_Syntax) {
-                    $e->setTemplateFile($file);
-
-                    throw $e;
-                }
-
-                throw new Twig_Error(sprintf('%s: %s', get_class($e), $e->getMessage()), -1, $file, $e);
-            }
-
-            try {
-                $output = trim($template->render(eval($match[1].';')), "\n ");
-            } catch (Exception $e) {
-                if (false !== $exception) {
-                    $this->assertEquals(trim($exception), trim(sprintf('%s: %s', get_class($e), $e->getMessage())));
-
-                    return;
-                }
-
-                if ($e instanceof Twig_Error_Syntax) {
-                    $e->setTemplateFile($file);
-                } else {
-                    $e = new Twig_Error(sprintf('%s: %s', get_class($e), $e->getMessage()), -1, $file, $e);
-                }
-
-                $output = trim(sprintf('%s: %s', get_class($e), $e->getMessage()));
-            }
-
-            if (false !== $exception) {
-                list($class, ) = explode(':', $exception);
-                $this->assertThat(NULL, new PHPUnit_Framework_Constraint_Exception($class));
-            }
-
-            $expected = trim($match[3], "\n ");
-
-            if ($expected != $output) {
-                echo 'Compiled template that failed:';
-
-                foreach (array_keys($templates) as $name) {
-                    echo "Template: $name\n";
-                    $source = $loader->getSource($name);
-                    echo $twig->compile($twig->parse($twig->tokenize($source, $name)));
-                }
-            }
-            $this->assertEquals($expected, $output, $message.' (in '.$file.')');
-        }
-    }
-
-    protected static function parseTemplates($test)
-    {
-        $templates = array();
-        preg_match_all('/--TEMPLATE(?:\((.*?)\))?--(.*?)(?=\-\-TEMPLATE|$)/s', $test, $matches, PREG_SET_ORDER);
-        foreach ($matches as $match) {
-            $templates[($match[1] ? $match[1] : 'index.twig')] = $match[2];
-        }
-
-        return $templates;
-    }
-}
diff --git a/lib/Twig/Test/Method.php b/lib/Twig/Test/Method.php
deleted file mode 100644
index 17c6c041d62..00000000000
--- a/lib/Twig/Test/Method.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a method template test.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Test_Method extends Twig_Test
-{
-    protected $extension;
-    protected $method;
-
-    public function __construct(Twig_ExtensionInterface $extension, $method, array $options = array())
-    {
-        $options['callable'] = array($extension, $method);
-
-        parent::__construct($options);
-
-        $this->extension = $extension;
-        $this->method = $method;
-    }
-
-    public function compile()
-    {
-        return sprintf('$this->env->getExtension(\'%s\')->%s', $this->extension->getName(), $this->method);
-    }
-}
diff --git a/lib/Twig/Test/Node.php b/lib/Twig/Test/Node.php
deleted file mode 100644
index c832a57bf42..00000000000
--- a/lib/Twig/Test/Node.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template test as a Node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Test_Node extends Twig_Test
-{
-    protected $class;
-
-    public function __construct($class, array $options = array())
-    {
-        parent::__construct($options);
-
-        $this->class = $class;
-    }
-
-    public function getClass()
-    {
-        return $this->class;
-    }
-
-    public function compile()
-    {
-    }
-}
diff --git a/lib/Twig/Test/NodeTestCase.php b/lib/Twig/Test/NodeTestCase.php
deleted file mode 100644
index b15c85ffd7d..00000000000
--- a/lib/Twig/Test/NodeTestCase.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-abstract class Twig_Test_NodeTestCase extends PHPUnit_Framework_TestCase
-{
-    abstract public function getTests();
-
-    /**
-     * @dataProvider getTests
-     */
-    public function testCompile($node, $source, $environment = null)
-    {
-        $this->assertNodeCompilation($source, $node, $environment);
-    }
-
-    public function assertNodeCompilation($source, Twig_Node $node, Twig_Environment $environment = null)
-    {
-        $compiler = $this->getCompiler($environment);
-        $compiler->compile($node);
-
-        $this->assertEquals($source, trim($compiler->getSource()));
-    }
-
-    protected function getCompiler(Twig_Environment $environment = null)
-    {
-        return new Twig_Compiler(null === $environment ? $this->getEnvironment() : $environment);
-    }
-
-    protected function getEnvironment()
-    {
-        return new Twig_Environment();
-    }
-
-    protected function getVariableGetter($name)
-    {
-        if (version_compare(phpversion(), '5.4.0RC1', '>=')) {
-            return sprintf('(isset($context["%s"]) ? $context["%s"] : null)', $name, $name);
-        }
-
-        return sprintf('$this->getContext($context, "%s")', $name);
-    }
-
-    protected function getAttributeGetter()
-    {
-        if (function_exists('twig_template_get_attributes')) {
-            return 'twig_template_get_attributes($this, ';
-        }
-
-        return '$this->getAttribute(';
-    }
-}
diff --git a/lib/Twig/TestCallableInterface.php b/lib/Twig/TestCallableInterface.php
deleted file mode 100644
index 0db43682d04..00000000000
--- a/lib/Twig/TestCallableInterface.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a callable template test.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_TestCallableInterface
-{
-    public function getCallable();
-}
diff --git a/lib/Twig/TestInterface.php b/lib/Twig/TestInterface.php
deleted file mode 100644
index 30d8a2c4f0a..00000000000
--- a/lib/Twig/TestInterface.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template test.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_TestInterface
-{
-    /**
-     * Compiles a test.
-     *
-     * @return string The PHP code for the test
-     */
-    public function compile();
-}
diff --git a/lib/Twig/Token.php b/lib/Twig/Token.php
deleted file mode 100644
index bbca90dbbfd..00000000000
--- a/lib/Twig/Token.php
+++ /dev/null
@@ -1,218 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a Token.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Token
-{
-    protected $value;
-    protected $type;
-    protected $lineno;
-
-    const EOF_TYPE                  = -1;
-    const TEXT_TYPE                 = 0;
-    const BLOCK_START_TYPE          = 1;
-    const VAR_START_TYPE            = 2;
-    const BLOCK_END_TYPE            = 3;
-    const VAR_END_TYPE              = 4;
-    const NAME_TYPE                 = 5;
-    const NUMBER_TYPE               = 6;
-    const STRING_TYPE               = 7;
-    const OPERATOR_TYPE             = 8;
-    const PUNCTUATION_TYPE          = 9;
-    const INTERPOLATION_START_TYPE  = 10;
-    const INTERPOLATION_END_TYPE    = 11;
-
-    /**
-     * Constructor.
-     *
-     * @param integer $type   The type of the token
-     * @param string  $value  The token value
-     * @param integer $lineno The line position in the source
-     */
-    public function __construct($type, $value, $lineno)
-    {
-        $this->type   = $type;
-        $this->value  = $value;
-        $this->lineno = $lineno;
-    }
-
-    /**
-     * Returns a string representation of the token.
-     *
-     * @return string A string representation of the token
-     */
-    public function __toString()
-    {
-        return sprintf('%s(%s)', self::typeToString($this->type, true, $this->lineno), $this->value);
-    }
-
-    /**
-     * Tests the current token for a type and/or a value.
-     *
-     * Parameters may be:
-     * * just type
-     * * type and value (or array of possible values)
-     * * just value (or array of possible values) (NAME_TYPE is used as type)
-     *
-     * @param array|integer     $type   The type to test
-     * @param array|string|null $values The token value
-     *
-     * @return Boolean
-     */
-    public function test($type, $values = null)
-    {
-        if (null === $values && !is_int($type)) {
-            $values = $type;
-            $type = self::NAME_TYPE;
-        }
-
-        return ($this->type === $type) && (
-            null === $values ||
-            (is_array($values) && in_array($this->value, $values)) ||
-            $this->value == $values
-        );
-    }
-
-    /**
-     * Gets the line.
-     *
-     * @return integer The source line
-     */
-    public function getLine()
-    {
-        return $this->lineno;
-    }
-
-    /**
-     * Gets the token type.
-     *
-     * @return integer The token type
-     */
-    public function getType()
-    {
-        return $this->type;
-    }
-
-    /**
-     * Gets the token value.
-     *
-     * @return string The token value
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * Returns the constant representation (internal) of a given type.
-     *
-     * @param integer $type  The type as an integer
-     * @param Boolean $short Whether to return a short representation or not
-     * @param integer $line  The code line
-     *
-     * @return string The string representation
-     */
-    public static function typeToString($type, $short = false, $line = -1)
-    {
-        switch ($type) {
-            case self::EOF_TYPE:
-                $name = 'EOF_TYPE';
-                break;
-            case self::TEXT_TYPE:
-                $name = 'TEXT_TYPE';
-                break;
-            case self::BLOCK_START_TYPE:
-                $name = 'BLOCK_START_TYPE';
-                break;
-            case self::VAR_START_TYPE:
-                $name = 'VAR_START_TYPE';
-                break;
-            case self::BLOCK_END_TYPE:
-                $name = 'BLOCK_END_TYPE';
-                break;
-            case self::VAR_END_TYPE:
-                $name = 'VAR_END_TYPE';
-                break;
-            case self::NAME_TYPE:
-                $name = 'NAME_TYPE';
-                break;
-            case self::NUMBER_TYPE:
-                $name = 'NUMBER_TYPE';
-                break;
-            case self::STRING_TYPE:
-                $name = 'STRING_TYPE';
-                break;
-            case self::OPERATOR_TYPE:
-                $name = 'OPERATOR_TYPE';
-                break;
-            case self::PUNCTUATION_TYPE:
-                $name = 'PUNCTUATION_TYPE';
-                break;
-            case self::INTERPOLATION_START_TYPE:
-                $name = 'INTERPOLATION_START_TYPE';
-                break;
-            case self::INTERPOLATION_END_TYPE:
-                $name = 'INTERPOLATION_END_TYPE';
-                break;
-            default:
-                throw new LogicException(sprintf('Token of type "%s" does not exist.', $type));
-        }
-
-        return $short ? $name : 'Twig_Token::'.$name;
-    }
-
-    /**
-     * Returns the english representation of a given type.
-     *
-     * @param integer $type The type as an integer
-     * @param integer $line The code line
-     *
-     * @return string The string representation
-     */
-    public static function typeToEnglish($type, $line = -1)
-    {
-        switch ($type) {
-            case self::EOF_TYPE:
-                return 'end of template';
-            case self::TEXT_TYPE:
-                return 'text';
-            case self::BLOCK_START_TYPE:
-                return 'begin of statement block';
-            case self::VAR_START_TYPE:
-                return 'begin of print statement';
-            case self::BLOCK_END_TYPE:
-                return 'end of statement block';
-            case self::VAR_END_TYPE:
-                return 'end of print statement';
-            case self::NAME_TYPE:
-                return 'name';
-            case self::NUMBER_TYPE:
-                return 'number';
-            case self::STRING_TYPE:
-                return 'string';
-            case self::OPERATOR_TYPE:
-                return 'operator';
-            case self::PUNCTUATION_TYPE:
-                return 'punctuation';
-            case self::INTERPOLATION_START_TYPE:
-                return 'begin of string interpolation';
-            case self::INTERPOLATION_END_TYPE:
-                return 'end of string interpolation';
-            default:
-                throw new LogicException(sprintf('Token of type "%s" does not exist.', $type));
-        }
-    }
-}
diff --git a/lib/Twig/TokenParser.php b/lib/Twig/TokenParser.php
deleted file mode 100644
index decebd5eead..00000000000
--- a/lib/Twig/TokenParser.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Base class for all token parsers.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class Twig_TokenParser implements Twig_TokenParserInterface
-{
-    /**
-     * @var Twig_Parser
-     */
-    protected $parser;
-
-    /**
-     * Sets the parser associated with this token parser
-     *
-     * @param $parser A Twig_Parser instance
-     */
-    public function setParser(Twig_Parser $parser)
-    {
-        $this->parser = $parser;
-    }
-}
diff --git a/lib/Twig/TokenParser/AutoEscape.php b/lib/Twig/TokenParser/AutoEscape.php
deleted file mode 100644
index 27560288391..00000000000
--- a/lib/Twig/TokenParser/AutoEscape.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Marks a section of a template to be escaped or not.
- *
- * <pre>
- * {% autoescape true %}
- *   Everything will be automatically escaped in this block
- * {% endautoescape %}
- *
- * {% autoescape false %}
- *   Everything will be outputed as is in this block
- * {% endautoescape %}
- *
- * {% autoescape true js %}
- *   Everything will be automatically escaped in this block
- *   using the js escaping strategy
- * {% endautoescape %}
- * </pre>
- */
-class Twig_TokenParser_AutoEscape extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $lineno = $token->getLine();
-        $stream = $this->parser->getStream();
-
-        if ($stream->test(Twig_Token::BLOCK_END_TYPE)) {
-            $value = 'html';
-        } else {
-            $expr = $this->parser->getExpressionParser()->parseExpression();
-            if (!$expr instanceof Twig_Node_Expression_Constant) {
-                throw new Twig_Error_Syntax('An escaping strategy must be a string or a Boolean.', $stream->getCurrent()->getLine(), $stream->getFilename());
-            }
-            $value = $expr->getAttribute('value');
-
-            $compat = true === $value || false === $value;
-
-            if (true === $value) {
-                $value = 'html';
-            }
-
-            if ($compat && $stream->test(Twig_Token::NAME_TYPE)) {
-                if (false === $value) {
-                    throw new Twig_Error_Syntax('Unexpected escaping strategy as you set autoescaping to false.', $stream->getCurrent()->getLine(), $stream->getFilename());
-                }
-
-                $value = $stream->next()->getValue();
-            }
-        }
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-        $body = $this->parser->subparse(array($this, 'decideBlockEnd'), true);
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return new Twig_Node_AutoEscape($value, $body, $lineno, $this->getTag());
-    }
-
-    public function decideBlockEnd(Twig_Token $token)
-    {
-        return $token->test('endautoescape');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'autoescape';
-    }
-}
diff --git a/lib/Twig/TokenParser/Block.php b/lib/Twig/TokenParser/Block.php
deleted file mode 100644
index a2e017f3e88..00000000000
--- a/lib/Twig/TokenParser/Block.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Marks a section of a template as being reusable.
- *
- * <pre>
- *  {% block head %}
- *    <link rel="stylesheet" href="style.css" />
- *    <title>{% block title %}{% endblock %} - My Webpage</title>
- *  {% endblock %}
- * </pre>
- */
-class Twig_TokenParser_Block extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $lineno = $token->getLine();
-        $stream = $this->parser->getStream();
-        $name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
-        if ($this->parser->hasBlock($name)) {
-            throw new Twig_Error_Syntax(sprintf("The block '$name' has already been defined line %d", $this->parser->getBlock($name)->getLine()), $stream->getCurrent()->getLine(), $stream->getFilename());
-        }
-        $this->parser->setBlock($name, $block = new Twig_Node_Block($name, new Twig_Node(array()), $lineno));
-        $this->parser->pushLocalScope();
-        $this->parser->pushBlockStack($name);
-
-        if ($stream->test(Twig_Token::BLOCK_END_TYPE)) {
-            $stream->next();
-
-            $body = $this->parser->subparse(array($this, 'decideBlockEnd'), true);
-            if ($stream->test(Twig_Token::NAME_TYPE)) {
-                $value = $stream->next()->getValue();
-
-                if ($value != $name) {
-                    throw new Twig_Error_Syntax(sprintf("Expected endblock for block '$name' (but %s given)", $value), $stream->getCurrent()->getLine(), $stream->getFilename());
-                }
-            }
-        } else {
-            $body = new Twig_Node(array(
-                new Twig_Node_Print($this->parser->getExpressionParser()->parseExpression(), $lineno),
-            ));
-        }
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        $block->setNode('body', $body);
-        $this->parser->popBlockStack();
-        $this->parser->popLocalScope();
-
-        return new Twig_Node_BlockReference($name, $lineno, $this->getTag());
-    }
-
-    public function decideBlockEnd(Twig_Token $token)
-    {
-        return $token->test('endblock');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'block';
-    }
-}
diff --git a/lib/Twig/TokenParser/Do.php b/lib/Twig/TokenParser/Do.php
deleted file mode 100644
index f50939dd214..00000000000
--- a/lib/Twig/TokenParser/Do.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Evaluates an expression, discarding the returned value.
- */
-class Twig_TokenParser_Do extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $expr = $this->parser->getExpressionParser()->parseExpression();
-
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return new Twig_Node_Do($expr, $token->getLine(), $this->getTag());
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'do';
-    }
-}
diff --git a/lib/Twig/TokenParser/Embed.php b/lib/Twig/TokenParser/Embed.php
deleted file mode 100644
index 69cb5f35ff8..00000000000
--- a/lib/Twig/TokenParser/Embed.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Embeds a template.
- */
-class Twig_TokenParser_Embed extends Twig_TokenParser_Include
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $stream = $this->parser->getStream();
-
-        $parent = $this->parser->getExpressionParser()->parseExpression();
-
-        list($variables, $only, $ignoreMissing) = $this->parseArguments();
-
-        // inject a fake parent to make the parent() function work
-        $stream->injectTokens(array(
-            new Twig_Token(Twig_Token::BLOCK_START_TYPE, '', $token->getLine()),
-            new Twig_Token(Twig_Token::NAME_TYPE, 'extends', $token->getLine()),
-            new Twig_Token(Twig_Token::STRING_TYPE, '__parent__', $token->getLine()),
-            new Twig_Token(Twig_Token::BLOCK_END_TYPE, '', $token->getLine()),
-        ));
-
-        $module = $this->parser->parse($stream, array($this, 'decideBlockEnd'), true);
-
-        // override the parent with the correct one
-        $module->setNode('parent', $parent);
-
-        $this->parser->embedTemplate($module);
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return new Twig_Node_Embed($module->getAttribute('filename'), $module->getAttribute('index'), $variables, $only, $ignoreMissing, $token->getLine(), $this->getTag());
-    }
-
-    public function decideBlockEnd(Twig_Token $token)
-    {
-        return $token->test('endembed');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'embed';
-    }
-}
diff --git a/lib/Twig/TokenParser/Extends.php b/lib/Twig/TokenParser/Extends.php
deleted file mode 100644
index 110bc8b458e..00000000000
--- a/lib/Twig/TokenParser/Extends.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extends a template by another one.
- *
- * <pre>
- *  {% extends "base.html" %}
- * </pre>
- */
-class Twig_TokenParser_Extends extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        if (!$this->parser->isMainScope()) {
-            throw new Twig_Error_Syntax('Cannot extend from a block', $token->getLine(), $this->parser->getFilename());
-        }
-
-        if (null !== $this->parser->getParent()) {
-            throw new Twig_Error_Syntax('Multiple extends tags are forbidden', $token->getLine(), $this->parser->getFilename());
-        }
-        $this->parser->setParent($this->parser->getExpressionParser()->parseExpression());
-
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return null;
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'extends';
-    }
-}
diff --git a/lib/Twig/TokenParser/Filter.php b/lib/Twig/TokenParser/Filter.php
deleted file mode 100644
index 2b97475aea1..00000000000
--- a/lib/Twig/TokenParser/Filter.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Filters a section of a template by applying filters.
- *
- * <pre>
- * {% filter upper %}
- *  This text becomes uppercase
- * {% endfilter %}
- * </pre>
- */
-class Twig_TokenParser_Filter extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $name = $this->parser->getVarName();
-        $ref = new Twig_Node_Expression_BlockReference(new Twig_Node_Expression_Constant($name, $token->getLine()), true, $token->getLine(), $this->getTag());
-
-        $filter = $this->parser->getExpressionParser()->parseFilterExpressionRaw($ref, $this->getTag());
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        $body = $this->parser->subparse(array($this, 'decideBlockEnd'), true);
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        $block = new Twig_Node_Block($name, $body, $token->getLine());
-        $this->parser->setBlock($name, $block);
-
-        return new Twig_Node_Print($filter, $token->getLine(), $this->getTag());
-    }
-
-    public function decideBlockEnd(Twig_Token $token)
-    {
-        return $token->test('endfilter');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'filter';
-    }
-}
diff --git a/lib/Twig/TokenParser/Flush.php b/lib/Twig/TokenParser/Flush.php
deleted file mode 100644
index 4e15e785384..00000000000
--- a/lib/Twig/TokenParser/Flush.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Flushes the output to the client.
- *
- * @see flush()
- */
-class Twig_TokenParser_Flush extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return new Twig_Node_Flush($token->getLine(), $this->getTag());
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'flush';
-    }
-}
diff --git a/lib/Twig/TokenParser/For.php b/lib/Twig/TokenParser/For.php
deleted file mode 100644
index 98a6d079d16..00000000000
--- a/lib/Twig/TokenParser/For.php
+++ /dev/null
@@ -1,136 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Loops over each item of a sequence.
- *
- * <pre>
- * <ul>
- *  {% for user in users %}
- *    <li>{{ user.username|e }}</li>
- *  {% endfor %}
- * </ul>
- * </pre>
- */
-class Twig_TokenParser_For extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $lineno = $token->getLine();
-        $stream = $this->parser->getStream();
-        $targets = $this->parser->getExpressionParser()->parseAssignmentExpression();
-        $stream->expect(Twig_Token::OPERATOR_TYPE, 'in');
-        $seq = $this->parser->getExpressionParser()->parseExpression();
-
-        $ifexpr = null;
-        if ($stream->test(Twig_Token::NAME_TYPE, 'if')) {
-            $stream->next();
-            $ifexpr = $this->parser->getExpressionParser()->parseExpression();
-        }
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-        $body = $this->parser->subparse(array($this, 'decideForFork'));
-        if ($stream->next()->getValue() == 'else') {
-            $stream->expect(Twig_Token::BLOCK_END_TYPE);
-            $else = $this->parser->subparse(array($this, 'decideForEnd'), true);
-        } else {
-            $else = null;
-        }
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        if (count($targets) > 1) {
-            $keyTarget = $targets->getNode(0);
-            $keyTarget = new Twig_Node_Expression_AssignName($keyTarget->getAttribute('name'), $keyTarget->getLine());
-            $valueTarget = $targets->getNode(1);
-            $valueTarget = new Twig_Node_Expression_AssignName($valueTarget->getAttribute('name'), $valueTarget->getLine());
-        } else {
-            $keyTarget = new Twig_Node_Expression_AssignName('_key', $lineno);
-            $valueTarget = $targets->getNode(0);
-            $valueTarget = new Twig_Node_Expression_AssignName($valueTarget->getAttribute('name'), $valueTarget->getLine());
-        }
-
-        if ($ifexpr) {
-            $this->checkLoopUsageCondition($stream, $ifexpr);
-            $this->checkLoopUsageBody($stream, $body);
-        }
-
-        return new Twig_Node_For($keyTarget, $valueTarget, $seq, $ifexpr, $body, $else, $lineno, $this->getTag());
-    }
-
-    public function decideForFork(Twig_Token $token)
-    {
-        return $token->test(array('else', 'endfor'));
-    }
-
-    public function decideForEnd(Twig_Token $token)
-    {
-        return $token->test('endfor');
-    }
-
-    // the loop variable cannot be used in the condition
-    protected function checkLoopUsageCondition(Twig_TokenStream $stream, Twig_NodeInterface $node)
-    {
-        if ($node instanceof Twig_Node_Expression_GetAttr && $node->getNode('node') instanceof Twig_Node_Expression_Name && 'loop' == $node->getNode('node')->getAttribute('name')) {
-            throw new Twig_Error_Syntax('The "loop" variable cannot be used in a looping condition', $node->getLine(), $stream->getFilename());
-        }
-
-        foreach ($node as $n) {
-            if (!$n) {
-                continue;
-            }
-
-            $this->checkLoopUsageCondition($stream, $n);
-        }
-    }
-
-    // check usage of non-defined loop-items
-    // it does not catch all problems (for instance when a for is included into another or when the variable is used in an include)
-    protected function checkLoopUsageBody(Twig_TokenStream $stream, Twig_NodeInterface $node)
-    {
-        if ($node instanceof Twig_Node_Expression_GetAttr && $node->getNode('node') instanceof Twig_Node_Expression_Name && 'loop' == $node->getNode('node')->getAttribute('name')) {
-            $attribute = $node->getNode('attribute');
-            if ($attribute instanceof Twig_Node_Expression_Constant && in_array($attribute->getAttribute('value'), array('length', 'revindex0', 'revindex', 'last'))) {
-                throw new Twig_Error_Syntax(sprintf('The "loop.%s" variable is not defined when looping with a condition', $attribute->getAttribute('value')), $node->getLine(), $stream->getFilename());
-            }
-        }
-
-        // should check for parent.loop.XXX usage
-        if ($node instanceof Twig_Node_For) {
-            return;
-        }
-
-        foreach ($node as $n) {
-            if (!$n) {
-                continue;
-            }
-
-            $this->checkLoopUsageBody($stream, $n);
-        }
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'for';
-    }
-}
diff --git a/lib/Twig/TokenParser/From.php b/lib/Twig/TokenParser/From.php
deleted file mode 100644
index a54054dbc94..00000000000
--- a/lib/Twig/TokenParser/From.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Imports macros.
- *
- * <pre>
- *   {% from 'forms.html' import forms %}
- * </pre>
- */
-class Twig_TokenParser_From extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $macro = $this->parser->getExpressionParser()->parseExpression();
-        $stream = $this->parser->getStream();
-        $stream->expect('import');
-
-        $targets = array();
-        do {
-            $name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
-
-            $alias = $name;
-            if ($stream->test('as')) {
-                $stream->next();
-
-                $alias = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
-            }
-
-            $targets[$name] = $alias;
-
-            if (!$stream->test(Twig_Token::PUNCTUATION_TYPE, ',')) {
-                break;
-            }
-
-            $stream->next();
-        } while (true);
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        $node = new Twig_Node_Import($macro, new Twig_Node_Expression_AssignName($this->parser->getVarName(), $token->getLine()), $token->getLine(), $this->getTag());
-
-        foreach ($targets as $name => $alias) {
-            $this->parser->addImportedSymbol('function', $alias, 'get'.$name, $node->getNode('var'));
-        }
-
-        return $node;
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'from';
-    }
-}
diff --git a/lib/Twig/TokenParser/If.php b/lib/Twig/TokenParser/If.php
deleted file mode 100644
index 3d7d1f517f9..00000000000
--- a/lib/Twig/TokenParser/If.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Tests a condition.
- *
- * <pre>
- * {% if users %}
- *  <ul>
- *    {% for user in users %}
- *      <li>{{ user.username|e }}</li>
- *    {% endfor %}
- *  </ul>
- * {% endif %}
- * </pre>
- */
-class Twig_TokenParser_If extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $lineno = $token->getLine();
-        $expr = $this->parser->getExpressionParser()->parseExpression();
-        $stream = $this->parser->getStream();
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-        $body = $this->parser->subparse(array($this, 'decideIfFork'));
-        $tests = array($expr, $body);
-        $else = null;
-
-        $end = false;
-        while (!$end) {
-            switch ($stream->next()->getValue()) {
-                case 'else':
-                    $stream->expect(Twig_Token::BLOCK_END_TYPE);
-                    $else = $this->parser->subparse(array($this, 'decideIfEnd'));
-                    break;
-
-                case 'elseif':
-                    $expr = $this->parser->getExpressionParser()->parseExpression();
-                    $stream->expect(Twig_Token::BLOCK_END_TYPE);
-                    $body = $this->parser->subparse(array($this, 'decideIfFork'));
-                    $tests[] = $expr;
-                    $tests[] = $body;
-                    break;
-
-                case 'endif':
-                    $end = true;
-                    break;
-
-                default:
-                    throw new Twig_Error_Syntax(sprintf('Unexpected end of template. Twig was looking for the following tags "else", "elseif", or "endif" to close the "if" block started at line %d)', $lineno), $stream->getCurrent()->getLine(), $stream->getFilename());
-            }
-        }
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return new Twig_Node_If(new Twig_Node($tests), $else, $lineno, $this->getTag());
-    }
-
-    public function decideIfFork(Twig_Token $token)
-    {
-        return $token->test(array('elseif', 'else', 'endif'));
-    }
-
-    public function decideIfEnd(Twig_Token $token)
-    {
-        return $token->test(array('endif'));
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'if';
-    }
-}
diff --git a/lib/Twig/TokenParser/Import.php b/lib/Twig/TokenParser/Import.php
deleted file mode 100644
index e7050c70c6e..00000000000
--- a/lib/Twig/TokenParser/Import.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Imports macros.
- *
- * <pre>
- *   {% import 'forms.html' as forms %}
- * </pre>
- */
-class Twig_TokenParser_Import extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $macro = $this->parser->getExpressionParser()->parseExpression();
-        $this->parser->getStream()->expect('as');
-        $var = new Twig_Node_Expression_AssignName($this->parser->getStream()->expect(Twig_Token::NAME_TYPE)->getValue(), $token->getLine());
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        $this->parser->addImportedSymbol('template', $var->getAttribute('name'));
-
-        return new Twig_Node_Import($macro, $var, $token->getLine(), $this->getTag());
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'import';
-    }
-}
diff --git a/lib/Twig/TokenParser/Include.php b/lib/Twig/TokenParser/Include.php
deleted file mode 100644
index 4a317868f3e..00000000000
--- a/lib/Twig/TokenParser/Include.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Includes a template.
- *
- * <pre>
- *   {% include 'header.html' %}
- *     Body
- *   {% include 'footer.html' %}
- * </pre>
- */
-class Twig_TokenParser_Include extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $expr = $this->parser->getExpressionParser()->parseExpression();
-
-        list($variables, $only, $ignoreMissing) = $this->parseArguments();
-
-        return new Twig_Node_Include($expr, $variables, $only, $ignoreMissing, $token->getLine(), $this->getTag());
-    }
-
-    protected function parseArguments()
-    {
-        $stream = $this->parser->getStream();
-
-        $ignoreMissing = false;
-        if ($stream->test(Twig_Token::NAME_TYPE, 'ignore')) {
-            $stream->next();
-            $stream->expect(Twig_Token::NAME_TYPE, 'missing');
-
-            $ignoreMissing = true;
-        }
-
-        $variables = null;
-        if ($stream->test(Twig_Token::NAME_TYPE, 'with')) {
-            $stream->next();
-
-            $variables = $this->parser->getExpressionParser()->parseExpression();
-        }
-
-        $only = false;
-        if ($stream->test(Twig_Token::NAME_TYPE, 'only')) {
-            $stream->next();
-
-            $only = true;
-        }
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return array($variables, $only, $ignoreMissing);
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'include';
-    }
-}
diff --git a/lib/Twig/TokenParser/Macro.php b/lib/Twig/TokenParser/Macro.php
deleted file mode 100644
index c2a033608d3..00000000000
--- a/lib/Twig/TokenParser/Macro.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Defines a macro.
- *
- * <pre>
- * {% macro input(name, value, type, size) %}
- *    <input type="{{ type|default('text') }}" name="{{ name }}" value="{{ value|e }}" size="{{ size|default(20) }}" />
- * {% endmacro %}
- * </pre>
- */
-class Twig_TokenParser_Macro extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $lineno = $token->getLine();
-        $stream = $this->parser->getStream();
-        $name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
-
-        $arguments = $this->parser->getExpressionParser()->parseArguments(true, true);
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-        $this->parser->pushLocalScope();
-        $body = $this->parser->subparse(array($this, 'decideBlockEnd'), true);
-        if ($stream->test(Twig_Token::NAME_TYPE)) {
-            $value = $stream->next()->getValue();
-
-            if ($value != $name) {
-                throw new Twig_Error_Syntax(sprintf("Expected endmacro for macro '$name' (but %s given)", $value), $stream->getCurrent()->getLine(), $stream->getFilename());
-            }
-        }
-        $this->parser->popLocalScope();
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        $this->parser->setMacro($name, new Twig_Node_Macro($name, new Twig_Node_Body(array($body)), $arguments, $lineno, $this->getTag()));
-
-        return null;
-    }
-
-    public function decideBlockEnd(Twig_Token $token)
-    {
-        return $token->test('endmacro');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'macro';
-    }
-}
diff --git a/lib/Twig/TokenParser/Sandbox.php b/lib/Twig/TokenParser/Sandbox.php
deleted file mode 100644
index 9457325ab45..00000000000
--- a/lib/Twig/TokenParser/Sandbox.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Marks a section of a template as untrusted code that must be evaluated in the sandbox mode.
- *
- * <pre>
- * {% sandbox %}
- *     {% include 'user.html' %}
- * {% endsandbox %}
- * </pre>
- *
- * @see http://www.twig-project.org/doc/api.html#sandbox-extension for details
- */
-class Twig_TokenParser_Sandbox extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-        $body = $this->parser->subparse(array($this, 'decideBlockEnd'), true);
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        // in a sandbox tag, only include tags are allowed
-        if (!$body instanceof Twig_Node_Include) {
-            foreach ($body as $node) {
-                if ($node instanceof Twig_Node_Text && ctype_space($node->getAttribute('data'))) {
-                    continue;
-                }
-
-                if (!$node instanceof Twig_Node_Include) {
-                    throw new Twig_Error_Syntax('Only "include" tags are allowed within a "sandbox" section', $node->getLine(), $this->parser->getFilename());
-                }
-            }
-        }
-
-        return new Twig_Node_Sandbox($body, $token->getLine(), $this->getTag());
-    }
-
-    public function decideBlockEnd(Twig_Token $token)
-    {
-        return $token->test('endsandbox');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'sandbox';
-    }
-}
diff --git a/lib/Twig/TokenParser/Set.php b/lib/Twig/TokenParser/Set.php
deleted file mode 100644
index 70e0b41baee..00000000000
--- a/lib/Twig/TokenParser/Set.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Defines a variable.
- *
- * <pre>
- *  {% set foo = 'foo' %}
- *
- *  {% set foo = [1, 2] %}
- *
- *  {% set foo = {'foo': 'bar'} %}
- *
- *  {% set foo = 'foo' ~ 'bar' %}
- *
- *  {% set foo, bar = 'foo', 'bar' %}
- *
- *  {% set foo %}Some content{% endset %}
- * </pre>
- */
-class Twig_TokenParser_Set extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $lineno = $token->getLine();
-        $stream = $this->parser->getStream();
-        $names = $this->parser->getExpressionParser()->parseAssignmentExpression();
-
-        $capture = false;
-        if ($stream->test(Twig_Token::OPERATOR_TYPE, '=')) {
-            $stream->next();
-            $values = $this->parser->getExpressionParser()->parseMultitargetExpression();
-
-            $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-            if (count($names) !== count($values)) {
-                throw new Twig_Error_Syntax("When using set, you must have the same number of variables and assignments.", $stream->getCurrent()->getLine(), $stream->getFilename());
-            }
-        } else {
-            $capture = true;
-
-            if (count($names) > 1) {
-                throw new Twig_Error_Syntax("When using set with a block, you cannot have a multi-target.", $stream->getCurrent()->getLine(), $stream->getFilename());
-            }
-
-            $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-            $values = $this->parser->subparse(array($this, 'decideBlockEnd'), true);
-            $stream->expect(Twig_Token::BLOCK_END_TYPE);
-        }
-
-        return new Twig_Node_Set($capture, $names, $values, $lineno, $this->getTag());
-    }
-
-    public function decideBlockEnd(Twig_Token $token)
-    {
-        return $token->test('endset');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'set';
-    }
-}
diff --git a/lib/Twig/TokenParser/Spaceless.php b/lib/Twig/TokenParser/Spaceless.php
deleted file mode 100644
index 1e3fa8f3edd..00000000000
--- a/lib/Twig/TokenParser/Spaceless.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Remove whitespaces between HTML tags.
- *
- * <pre>
- * {% spaceless %}
- *      <div>
- *          <strong>foo</strong>
- *      </div>
- * {% endspaceless %}
- *
- * {# output will be <div><strong>foo</strong></div> #}
- * </pre>
- */
-class Twig_TokenParser_Spaceless extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $lineno = $token->getLine();
-
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-        $body = $this->parser->subparse(array($this, 'decideSpacelessEnd'), true);
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return new Twig_Node_Spaceless($body, $lineno, $this->getTag());
-    }
-
-    public function decideSpacelessEnd(Twig_Token $token)
-    {
-        return $token->test('endspaceless');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'spaceless';
-    }
-}
diff --git a/lib/Twig/TokenParser/Use.php b/lib/Twig/TokenParser/Use.php
deleted file mode 100644
index 85f084a5283..00000000000
--- a/lib/Twig/TokenParser/Use.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Imports blocks defined in another template into the current template.
- *
- * <pre>
- * {% extends "base.html" %}
- *
- * {% use "blocks.html" %}
- *
- * {% block title %}{% endblock %}
- * {% block content %}{% endblock %}
- * </pre>
- *
- * @see http://www.twig-project.org/doc/templates.html#horizontal-reuse for details.
- */
-class Twig_TokenParser_Use extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $template = $this->parser->getExpressionParser()->parseExpression();
-        $stream = $this->parser->getStream();
-
-        if (!$template instanceof Twig_Node_Expression_Constant) {
-            throw new Twig_Error_Syntax('The template references in a "use" statement must be a string.', $stream->getCurrent()->getLine(), $stream->getFilename());
-        }
-
-        $targets = array();
-        if ($stream->test('with')) {
-            $stream->next();
-
-            do {
-                $name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
-
-                $alias = $name;
-                if ($stream->test('as')) {
-                    $stream->next();
-
-                    $alias = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
-                }
-
-                $targets[$name] = new Twig_Node_Expression_Constant($alias, -1);
-
-                if (!$stream->test(Twig_Token::PUNCTUATION_TYPE, ',')) {
-                    break;
-                }
-
-                $stream->next();
-            } while (true);
-        }
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        $this->parser->addTrait(new Twig_Node(array('template' => $template, 'targets' => new Twig_Node($targets))));
-
-        return null;
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'use';
-    }
-}
diff --git a/lib/Twig/TokenParserBroker.php b/lib/Twig/TokenParserBroker.php
deleted file mode 100644
index 9518c7c8a2a..00000000000
--- a/lib/Twig/TokenParserBroker.php
+++ /dev/null
@@ -1,138 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- * (c) 2010 Arnaud Le Blanc
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Default implementation of a token parser broker.
- *
- * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_TokenParserBroker implements Twig_TokenParserBrokerInterface
-{
-    protected $parser;
-    protected $parsers = array();
-    protected $brokers = array();
-
-    /**
-     * Constructor.
-     *
-     * @param array|Traversable $parsers A Traversable of Twig_TokenParserInterface instances
-     * @param array|Traversable $brokers A Traversable of Twig_TokenParserBrokerInterface instances
-     */
-    public function __construct($parsers = array(), $brokers = array())
-    {
-        foreach ($parsers as $parser) {
-            if (!$parser instanceof Twig_TokenParserInterface) {
-                throw new LogicException('$parsers must a an array of Twig_TokenParserInterface');
-            }
-            $this->parsers[$parser->getTag()] = $parser;
-        }
-        foreach ($brokers as $broker) {
-            if (!$broker instanceof Twig_TokenParserBrokerInterface) {
-                throw new LogicException('$brokers must a an array of Twig_TokenParserBrokerInterface');
-            }
-            $this->brokers[] = $broker;
-        }
-    }
-
-    /**
-     * Adds a TokenParser.
-     *
-     * @param Twig_TokenParserInterface $parser A Twig_TokenParserInterface instance
-     */
-    public function addTokenParser(Twig_TokenParserInterface $parser)
-    {
-        $this->parsers[$parser->getTag()] = $parser;
-    }
-
-    /**
-     * Removes a TokenParser.
-     *
-     * @param Twig_TokenParserInterface $parser A Twig_TokenParserInterface instance
-     */
-    public function removeTokenParser(Twig_TokenParserInterface $parser)
-    {
-        $name = $parser->getTag();
-        if (isset($this->parsers[$name]) && $parser === $this->parsers[$name]) {
-            unset($this->parsers[$name]);
-        }
-    }
-
-    /**
-     * Adds a TokenParserBroker.
-     *
-     * @param Twig_TokenParserBroker $broker A Twig_TokenParserBroker instance
-     */
-    public function addTokenParserBroker(Twig_TokenParserBroker $broker)
-    {
-        $this->brokers[] = $broker;
-    }
-
-    /**
-     * Removes a TokenParserBroker.
-     *
-     * @param Twig_TokenParserBroker $broker A Twig_TokenParserBroker instance
-     */
-    public function removeTokenParserBroker(Twig_TokenParserBroker $broker)
-    {
-        if (false !== $pos = array_search($broker, $this->brokers)) {
-            unset($this->brokers[$pos]);
-        }
-    }
-
-    /**
-     * Gets a suitable TokenParser for a tag.
-     *
-     * First looks in parsers, then in brokers.
-     *
-     * @param string $tag A tag name
-     *
-     * @return null|Twig_TokenParserInterface A Twig_TokenParserInterface or null if no suitable TokenParser was found
-     */
-    public function getTokenParser($tag)
-    {
-        if (isset($this->parsers[$tag])) {
-            return $this->parsers[$tag];
-        }
-        $broker = end($this->brokers);
-        while (false !== $broker) {
-            $parser = $broker->getTokenParser($tag);
-            if (null !== $parser) {
-                return $parser;
-            }
-            $broker = prev($this->brokers);
-        }
-
-        return null;
-    }
-
-    public function getParsers()
-    {
-        return $this->parsers;
-    }
-
-    public function getParser()
-    {
-        return $this->parser;
-    }
-
-    public function setParser(Twig_ParserInterface $parser)
-    {
-        $this->parser = $parser;
-        foreach ($this->parsers as $tokenParser) {
-            $tokenParser->setParser($parser);
-        }
-        foreach ($this->brokers as $broker) {
-            $broker->setParser($parser);
-        }
-    }
-}
diff --git a/lib/Twig/TokenParserBrokerInterface.php b/lib/Twig/TokenParserBrokerInterface.php
deleted file mode 100644
index 3f006e339bf..00000000000
--- a/lib/Twig/TokenParserBrokerInterface.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- * (c) 2010 Arnaud Le Blanc
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface implemented by token parser brokers.
- *
- * Token parser brokers allows to implement custom logic in the process of resolving a token parser for a given tag name.
- *
- * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_TokenParserBrokerInterface
-{
-    /**
-     * Gets a TokenParser suitable for a tag.
-     *
-     * @param string $tag A tag name
-     *
-     * @return null|Twig_TokenParserInterface A Twig_TokenParserInterface or null if no suitable TokenParser was found
-     */
-    public function getTokenParser($tag);
-
-    /**
-     * Calls Twig_TokenParserInterface::setParser on all parsers the implementation knows of.
-     *
-     * @param Twig_ParserInterface $parser A Twig_ParserInterface interface
-     */
-    public function setParser(Twig_ParserInterface $parser);
-
-    /**
-     * Gets the Twig_ParserInterface.
-     *
-     * @return null|Twig_ParserInterface A Twig_ParserInterface instance or null
-     */
-    public function getParser();
-}
diff --git a/lib/Twig/TokenParserInterface.php b/lib/Twig/TokenParserInterface.php
deleted file mode 100644
index bbde7714103..00000000000
--- a/lib/Twig/TokenParserInterface.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface implemented by token parsers.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface Twig_TokenParserInterface
-{
-    /**
-     * Sets the parser associated with this token parser
-     *
-     * @param $parser A Twig_Parser instance
-     */
-    public function setParser(Twig_Parser $parser);
-
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token);
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag();
-}
diff --git a/lib/Twig/TokenStream.php b/lib/Twig/TokenStream.php
deleted file mode 100644
index a78189f667a..00000000000
--- a/lib/Twig/TokenStream.php
+++ /dev/null
@@ -1,144 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a token stream.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_TokenStream
-{
-    protected $tokens;
-    protected $current;
-    protected $filename;
-
-    /**
-     * Constructor.
-     *
-     * @param array  $tokens   An array of tokens
-     * @param string $filename The name of the filename which tokens are associated with
-     */
-    public function __construct(array $tokens, $filename = null)
-    {
-        $this->tokens     = $tokens;
-        $this->current    = 0;
-        $this->filename   = $filename;
-    }
-
-    /**
-     * Returns a string representation of the token stream.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return implode("\n", $this->tokens);
-    }
-
-    public function injectTokens(array $tokens)
-    {
-        $this->tokens = array_merge(array_slice($this->tokens, 0, $this->current), $tokens, array_slice($this->tokens, $this->current));
-    }
-
-    /**
-     * Sets the pointer to the next token and returns the old one.
-     *
-     * @return Twig_Token
-     */
-    public function next()
-    {
-        if (!isset($this->tokens[++$this->current])) {
-            throw new Twig_Error_Syntax('Unexpected end of template', $this->tokens[$this->current - 1]->getLine(), $this->filename);
-        }
-
-        return $this->tokens[$this->current - 1];
-    }
-
-    /**
-     * Tests a token and returns it or throws a syntax error.
-     *
-     * @return Twig_Token
-     */
-    public function expect($type, $value = null, $message = null)
-    {
-        $token = $this->tokens[$this->current];
-        if (!$token->test($type, $value)) {
-            $line = $token->getLine();
-            throw new Twig_Error_Syntax(sprintf('%sUnexpected token "%s" of value "%s" ("%s" expected%s)',
-                $message ? $message.'. ' : '',
-                Twig_Token::typeToEnglish($token->getType(), $line), $token->getValue(),
-                Twig_Token::typeToEnglish($type, $line), $value ? sprintf(' with value "%s"', $value) : ''),
-                $line,
-                $this->filename
-            );
-        }
-        $this->next();
-
-        return $token;
-    }
-
-    /**
-     * Looks at the next token.
-     *
-     * @param integer $number
-     *
-     * @return Twig_Token
-     */
-    public function look($number = 1)
-    {
-        if (!isset($this->tokens[$this->current + $number])) {
-            throw new Twig_Error_Syntax('Unexpected end of template', $this->tokens[$this->current + $number - 1]->getLine(), $this->filename);
-        }
-
-        return $this->tokens[$this->current + $number];
-    }
-
-    /**
-     * Tests the current token
-     *
-     * @return bool
-     */
-    public function test($primary, $secondary = null)
-    {
-        return $this->tokens[$this->current]->test($primary, $secondary);
-    }
-
-    /**
-     * Checks if end of stream was reached
-     *
-     * @return bool
-     */
-    public function isEOF()
-    {
-        return $this->tokens[$this->current]->getType() === Twig_Token::EOF_TYPE;
-    }
-
-    /**
-     * Gets the current token
-     *
-     * @return Twig_Token
-     */
-    public function getCurrent()
-    {
-        return $this->tokens[$this->current];
-    }
-
-    /**
-     * Gets the filename associated with this stream
-     *
-     * @return string
-     */
-    public function getFilename()
-    {
-        return $this->filename;
-    }
-}
diff --git a/pub/index.php b/pub/index.php
index 056fd41c018..459fa5dc8f6 100644
--- a/pub/index.php
+++ b/pub/index.php
@@ -26,7 +26,7 @@
 require __DIR__ . '/../app/bootstrap.php';
 \Magento\Profiler::start('magento');
 $params = $_SERVER;
-$params[\Magento\Core\Model\App::PARAM_APP_URIS][\Magento\Core\Model\Dir::PUB] = '';
+$params[\Magento\Core\Model\App::PARAM_APP_URIS][\Magento\App\Dir::PUB] = '';
 $entryPoint = new \Magento\Core\Model\EntryPoint\Http(new \Magento\Core\Model\Config\Primary(BP, $params));
 $entryPoint->processRequest();
 \Magento\Profiler::stop('magento');
diff --git a/pub/lib/mage/adminhtml/varienLoader.js b/pub/lib/mage/adminhtml/varienLoader.js
index 2da26219902..f7385cbdd8b 100644
--- a/pub/lib/mage/adminhtml/varienLoader.js
+++ b/pub/lib/mage/adminhtml/varienLoader.js
@@ -197,10 +197,10 @@ varienLoaderHandler.handler = {
         request.options.loaderArea = $$('#html-body .wrapper')[0]; // Blocks all page
 
         if(request && request.options.loaderArea){
-            Element.clonePosition($('loading-mask'), $(request.options.loaderArea), {offsetLeft:-2})
+            //Element.clonePosition($('loading-mask'), $(request.options.loaderArea), {offsetLeft:-2});
             toggleSelectsUnderBlock($('loading-mask'), false);
             Element.show('loading-mask');
-            setLoaderPosition();
+            //setLoaderPosition();
             if(request.options.loaderArea=='html-body'){
                 //Element.show('loading-process');
             }
diff --git a/pub/lib/mage/calendar.js b/pub/lib/mage/calendar.js
index 35ed961d191..f0a0f06dfce 100644
--- a/pub/lib/mage/calendar.js
+++ b/pub/lib/mage/calendar.js
@@ -196,10 +196,16 @@
                     to[this._picker()]('option', 'minDate', selectedDate);
                 }, this);
                 $.mage.calendar.prototype._initPicker.call(this, from);
+                from.on('change', $.proxy(function() {
+                    to[this._picker()]('option', 'minDate', from[this._picker()]('getDate'));
+                }, this));
                 this.options.onSelect = $.proxy(function(selectedDate) {
                     from[this._picker()]('option', 'maxDate', selectedDate);
                 }, this);
                 $.mage.calendar.prototype._initPicker.call(this, to);
+                to.on('change', $.proxy(function() {
+                    from[this._picker()]('option', 'maxDate', to[this._picker()]('getDate'));
+                }, this));
             }
         },
 
diff --git a/pub/lib/mage/loader.js b/pub/lib/mage/loader.js
index bec394ad7e6..01a59b69141 100644
--- a/pub/lib/mage/loader.js
+++ b/pub/lib/mage/loader.js
@@ -105,8 +105,7 @@
          */
         _render: function() {
             if (this.spinner.length === 0) {
-                this.spinner = $.tmpl(this.options.template, this.options)
-                    .css(this._getCssObj());
+                this.spinner = $.tmpl(this.options.template, this.options)/*.css(this._getCssObj())*/;
             }
             this.element.prepend(this.spinner);
         },
-- 
GitLab